Automated Middleware QoS Configuration Techniques for Distributed Real-time and Embedded Systems

Size: px
Start display at page:

Download "Automated Middleware QoS Configuration Techniques for Distributed Real-time and Embedded Systems"

Transcription

1 IEEE Real-Time and Embedded Technology and Applications Symposium Automated Middleware QoS Configuration Techniques for Distributed Real-time and Embedded Systems Amogh Kavimandan and Aniruddha Gokhale Dept. of EECS, Vanderbilt University, Nashville, TN Abstract Quite often the modeling tools used in the development lifecycle of distributed real-time and embedded (DRE) systems are middleware-specific, where they elevate middleware artifacts, such as configuration options, to first class modeling entities. Unfortunately, this level of abstraction does not resolve the complex issues in middleware configuration process for QoS assurance. This paper describes GT- QMAP (Graph Transformation for QoS MAPping) modeldriven engineering toolchain that combines () domainspecific modeling, to simplify specifying the QoS requirements of DRE systems intuitively, and (2) model transformations, to automate the mapping of domain-specific QoS requirements to middleware-specific QoS configuration options. The paper evaluates the automation capabilities of GT-QMAP in the context of three DRE system case studies. The results indicate that on an average the modeling effort is reduced by over 75%. Further, the results also indicate that GT-QMAP provides significant benefits in terms of scalability and automation as DRE system QoS requirements evolve during its entire development lifecycle. Keywords: MDE, Graph/model transformations, QoS, middleware configuration. Introduction Component-based software engineering (CBSE) is finding wide acceptance in the development of modern distributed real-time and embedded (DRE) systems. Consequently component middleware platforms, such as Lightweight CORBA Component Model (LwCCM), are designed to be highly flexible to support a large class of DRE systems from multiple domains. These middleware platforms therefore provide a number of configuration mechanisms for () allocating CPU, network and OS resources a priori, (2) (re)configuring and (re)deploying distributed system components, and (3) (de)marshaling communication requests, component activation/deactivation and persistence This work was sponsored in part by Lockheed Martin Advanced Technology Laboratories. services, all of which are decoupled from the functional composition aspects of DRE systems. Assuring DRE system QoS properties involves multiple different factors. Apart from making the right decisions on deployment and functional composition, it is critical to perform the middleware QoS configuration activity i.e., correctly mapping system QoS properties onto the underlying middleware configuration options. Such an activity requires insights about different middleware configuration options, their impact on resulting QoS, and their inter-depencies. DRE system developers understand application-specific design and implementation issues but seldom have the necessary expertise to perform middleware QoS configuration. Failure to carefully map domain-level QoS requirements onto low-level middleware-specific configuration options can lead to a suboptimal middleware configuration degrading the overall system performance, and in worst cases cause runtime errors that are costly and difficult to debug. Existing works in QoS assurance for DRE systems have focused on: () application functional specification, decomposition and analysis [6] to capture and study application structure and behavior, (2) QoS analysis, optimization and adaptation [2] to allocate resources to applications, provide for application QoS optimization and adaptation in multiple QoS dimensions, and (3) schedulability and timing analysis [6, 5] to determine exact priorities and time periods for applications. Some work has also been done in QoS specification languages [4, 2, 7] for capturing application QoS properties by elevating middleware artifacts (such as its configuration options) to first class modeling entities. We argue that this level of abstraction does not resolve the challenges involved in middleware QoS configuration, which is the focus of this paper. Solution Approach Model-driven Middleware QoS Configuration. Model driven engineering (MDE) has shown significant promise and success in enabling the reasoning of system properties using domain-specific notations, and automating platform-specific artifacts using generative capabilities. MDE has been successfully used in ver /08 $ IEEE DOI 0.09/RTAS

2 ification of system correctness properties [6], and functional and QoS modeling [2], among others. Our earlier work [9] outlined the challenges and conceptual ideas in middleware QoS configuration and described the QUICKER MDE toolchain. This paper delves into the details of the automated transformation capabilities, which are the cornerstone of tools like QUICKER. In particular, we describe GT-QMAP (Graph Transformations for Quality of service MAPping), which uses graph transformations on system models to automate the middleware QoS configuration. Our approach begins with domain-specific, platformindepent models (PIMs) of DRE system QoS requirements that are automatically transformed to more refined and detailed middleware platform-specific models (PSMs). In this paper we focus only on the automated QoS configurations for real-time (RT) request-response and publishsubscribe communication dimensions. To describe and evaluate the algorithms developed for GT-QMAP, we use the following domain specific modeling languages (DSMLs) as input and output typed graphs for the automated QoS mapping: () Platform Indepent Component Modeling Language (PICML) [2] used for modeling component assemblies, inter-and intra-assembly interactions and interfaces, and simplifying various activities of component-based system development such as packaging, and deployment, and (2) LwCCM QoS Modeling Language (CQML)that allows system developers to express QoS configurations at different levels of granularity using intuitive, visual representations. Paper Organization. The remainder of this paper is organized as follows: Section 2 describes motivating DRE systems we use to describe the challenges in QoS mapping; Section 3 describes the GT-QMAP toolchain and how it addresses the challenges outlined in Section 2; Section 4 evaluates GT-QMAP QoS configuration capabilities in the context of the DRE system case studies; Section 5 describes related research; and Section 6 describes concluding remarks outlining lessons learned and future work. BasicSP. The Basic Single Processor (BasicSP) is a scenario from The Boeing Bold Stroke component avionics computing product line. BasicSP uses a publish/subscribe service for event-based communication among its components, and has been developed and configured using a QoSenabled component middleware platform. The application is deployed using a single deployment plan on two physical nodes. TIMER 20H z timeout GPS data_avail get_data () AIRFRAME data_avail Figure : Basic Single Processor get_data () NAV DISP A GPS device ss out periodic position updates to a GUI display that presents these updates to a pilot. The desired data request and the display frequencies are fixed at 20 Hz. The scenario shown in Figure begins with the GPS component being invoked by the Timer component. On receiving a pulse event from the Timer, the GPS component generates its data and issues a data available event. The Airframe component retrieves the data from the GPS component, updates its state and issues a data available event. Finally, the NavDisplay component retrieves the data from the Airframe and updates its state and displays it to the pilot. MMS. NASA s Magnetospheric MultiScale (MMS) mission is a representative DRE system consisting of several interacting subsystems with a number of complex QoS requirements. It consists of four identical spacecrafts that orbit around a region of interest in a specific formation. These spacecrafts sense and collect data specific for the region of interest and at appropriate time intervals s it to the ground stations for further analysis. Gizmo Filter Analysis 2 Challenges in Automated Middleware QoS Configuration Science Agent Gizmo 2 Filter 2 Analysis 2 Gizmo 3 Filter 3 Analysis 3 Comm Ground Section outlined the need for automating the tedious and error-prone process of middleware QoS configuration. Developing a scientific approach to automate this activity poses a certain set of challenges. We discuss these challenges in the context of three case studies, which we also use in the paper for evaluating our approach. 2. DRE system Case Studies We chose the following DRE systems as the application scenarios for our experiments: Receptacle Facet Event Source Event Sink Figure 2: MMS Mission System Components Figure 2 shows the components and their interactions within a single spacecraft. Each spacecraft consists of a science agent that decomposes mission goals into navigation, control, data gathering, and data processing applications. Each science agent communicates with multiple Gizmo components, which are connected to different payload sensors. Each Gizmo component collects data from the 94

3 sensors, which have varying data rate, data size, and compression requirements. The data collected from the different sensors have varying importance, deping on the mode and on the mission. The collected data is passed through Filter components, which remove noise from the data. The Filter components pass the data onto Analysis components, which compute a quality value indicating the likelihood of a transient plasma event. This quality value is then communicated to other spacecrafts and used to determine entry into burst mode while in fast mode. Finally, the analyzed data from each Analysis component is passed to a Comm (communication) component, which transmits the data to the Ground component at an appropriate time. SCE. The Shipboard Computing Environment (SCE) consists of a sequence of several components connected together to form multiple operational strings. Each operational string has different importance levels and these levels are used to resolve any resource contention between them. ed_a ed2_a ed3_a ed4_a p_a sm_a p2_a sm2_a p3_a sm3_a co_a e_a ec_a e2_a Figure 3: Shipboard Computing Environment e3_a As shown in Figure 3, each operational string contains a number of sensor components (e.g., ed_a,ed2_a) and system monitor components (e.g., sm_a, sm2_a) that publish data from the physical devices to a series of planner components ( e.g., p_a, p2_a). Once the inputs from sensors and system monitors has been analyzed, the planners perform control decisions using the effector components (e.g., e_a, e2_a). As shown in Figure 3, each operational string contains ten components altogether. SCE has ten operational strings that are deployed using ten deployment plans on five physical nodes. Configuration complexity of scenarios. As already mentioned, in this paper we have focussed on QoS specification for request-response and publish-subscribe communication paradigms. From our past experiences with developing and configuring QoS for DRE systems [9], we chose a 3-tuple {C; I; D} to represent configuration complexity of our application scenarios where, C defines the number of components of the application. I defines distinct number of interactions between components of the application. An interaction exists between two components if the outgoing port of one is connected to incoming port of the other. D defines the distinct number of depencies between components of the application. A depency exists between two components if a change in the QoS configuration of one necessitates a change in configuration of the other. Application scenarios Table : Complexity of application scenarios # of components # of component interactions BasicSP MMS 2 43 SCE # of component depencies The application scenarios described above illustrate different levels of configuration complexity and can be summarized using our 3-tuple definition as shown in Table. 2.2 Design Challenges In the remainder of this section, we discuss the challenges in automating the QoS configurations: Challenge : Specifying domain-specific QoS requirements System developers are domain experts who can understand and reason about various domain-level issues. Therefore, the QoS requirements of a DRE system must be expressible in terms of domain concerns rather than in terms of low-level, middleware-specific mechanisms required to satisfy these concerns. For example, a requirement for the asynchronous connection between Comm and Analysis components in the MMS mission is that its access be thread safe such that only one Comm component thread can access the asynchronous connection (for retrieving its events, for example) at any given time. Real-time publish/subscribe service provides advanced synchronization mechanisms in order to address such application requirements. It is highly desirable, however, for system developers to be able to specify these requirements at the domain-level instead of the middleware. Addressing this challenge requires tool support for intuitive modeling capabilities that capture QoS concerns of a system using semantics and notations that are closer to the domain. Further, since DRE systems exhibit multidimensional QoS requirements, the tool should provide clearcut separation of concerns during system QoS specification. Section 3. illustrates how our GT-QMAP toolchain addresses this challenge. Challenge 2: Identifying the middleware-specific QoS configuration options for satisfying QoS requirements Although a tool may provide modeling capabilities to specify system-level QoS requirements, there remains the need to identify the right middleware-specific QoS configuration options that will satisfy the system QoS requirements. This identification process can be a challenging task because of the following factors: () systems evolve either 95

4 Generates as part of the software development lifecycle, or modified domain requirements/-goals. Naturally, the new middleware configurations would have to be identified again, which is a tedious and error-prone process, and (2) for largescale systems this process becomes too time consuming, and in some cases infeasible. For example in the SCE application, the planner component p_a has the following requirements: () asynchronous connections with its client components (i.e., here the system monitors) must support bursty service invocations from each of these components, and (2) service invocations from each of its client components must be prioritized. A way to satisfy the second requirement is by configuring the planner to have SERVER_DECLARED realtime CCM (RT-CCM) policy that handles invocations at pre-determined priorities. In addition, sufficient thread resources should be available to handle all client priority levels. This can be achieved by configuring ThreadPool with Lanes feature where a single lane corresponds to an individual priority level. Such a QoS design scheme also ensures a predictable application execution and does not exhibit unbounded priority inversions. Finally in order to satisfy the first requirement, it is prudent and economical to assign dynamic thread resources for bursty clients that reserving them in a static manner for the entire application life-cycle. An automated QoS configuration tool should be able to codify these proven patterns and correctly identify the QoS options necessary to achieve desired system QoS from a given (semantically-correct) input model. If QoS requirements have been specified across more than one RT QoS dimensions, the tool should identify corresponding options pertaining to each of these dimensions. Section 3.2 illustrates how GT-QMAP addresses this requirement. Challenge 3: Mapping the QoS requirements onto QoS configuration options Even if the QoS configuration options that satisfy the system QoS requirements may be identified, appropriate values for each of the configuration options must be chosen in order to correctly configure the middleware and realize system level QoS properties. Such a step would have to potentially be performed several times during the development cycle of a system and thus should be easily (and relatively quickly) repeatable. For our MMS mission, the Comm component is best realized using the RT-CCM Threadpool_with_lanes feature so that it can provide varying levels of service to its clients. Similarly, the Analysis components requires the use of banded connections to prevent priority of inversions on the communication links. In both these cases it is necessary to identify how many lanes are needed in a thread pool, what priority values should be set per lane, how many bands of communication are needed, and what priority ranges are handled by each band. Deping on the individual QoS requirements, one or more alternative QoS options may be identified in the previous step. A QoS configuration tool should choose suitable values for each of these QoS options. Additionally, it should ensure that QoS options are valid, both for the association entity (in the context of component middleware, an association entity would be, for example, a component, a connection between components, or an assembly to which a QoS configuration is associated), as well as for the entire component-based application. Section 3.2 illustrates how GT-QMAP addresses this requirement. 3 Design of GT-QMAP This section describes the GT-QMAP QoS mapping toolchain for QoS-enabled component middleware. GT- QMAP is a MDE framework, which relies on DSMLs for the description of high-level, domain-specific QoS requirements that enable capturing the (platform-indepent) system requirements across various QoS dimensions. Additionally, GT-QMAP uses model-driven graph transformations [8] for the translation of these QoS requirements into platform-specific QoS configuration options necessary to realize these QoS requirements on the underlying platform. Figure 4 shows the overall GT-QMAP toolchain. DRE system developers use the Requirements DSML in GT- QMAP to specify the system QoS requirements. A specification of system QoS requirements acts as the source model of the GT-QMAP transformation. Similarly, middlewarespecific QoS configuration options are captured as models using the QoS Configurations DSML which serves as the target model in the transformation process. Assembly Package Assembly Package System Developer Requirement Requirement PICML PICML Input Language System-level QoS requirements G G G G G G G G GReAT Model Transformation Graph Rewriting Rules G G G G QoS Configuration CQML Output Language QoS Configuration CQML Analysis Tool Specification System Configuration Evolution GT-QMAP s Existing s Figure 4: GT-QMAP toolchain for mapping QoS requirements to platform-specific QoS Options GT-QMAP uses the Generic Modeling Environment (GME) [] toolkit for developing the modeling languages used to describe the above, which provides a graphical user interface that can be used to define both DSML semantics and system models that conform to the DSMLs defined in it. Model interpreters can be developed using the generative capabilities in GME. The interpreters are used to traverse 96

5 the models for generating artifacts for analysis tools such as model-checking, emulation tools, etc. We have used the Graph Rewriting And Transformation (GReAT) [8] language for defining model-to-model translations of QoS requirements.great, which is developed using GME, can be used to define transformation rules using its visual language, and executing these transformation rules for generating target models using the GReAT execution engine (GR-Engine). The graph rewriting rules are defined in GReAT in terms of source and target typed graph (i.e., metamodels). GT-QMAP transformation rules are used by the GR-Engine in order to create the QoS options model of a DRE system from its QoS requirements model. For evaluating GT-QMAP modeling capabilities and demonstrating them through a prototypical implementation, our Requirements DSML has been superimposed on PICML. The requirements modeling abstractions however, are not tied to PICML alone and thus can be generally associated with any other structural modeling language that provides capabilities for modeling functional entities (for example, a component, an assembly, or connections thereof) of a component-based system. 3. Specifying QoS Requirements using GT- QMAP Modeling Capabilities In Challenge of Section 2 we motivated the need for domain-specific QoS specification for component-based DRE systems. We define modeling constructs in GT-QMAP that can be used by the DRE system developers to define models that capture QoS requirements. This section describes this capability and how it resolves Challenge. 3.. Modeling QoS Requirements using GT-QMAP GT-QMAP defines the Requirement element as a generalization of QoS requirements. As shown in Figure 5, source elements Component, ComponentAssembly or Port connections can be associated with a Requirement element. Modeling abstractions in GT-QMAP allow association of multiple source elements with the same Requirement as long as those source elements are of the same type. Moreover a ComponentAssembly s Requirement is also associated with all the components contained in that ComponentAssembly. Such associations provide significant benefits in terms of flexibility in the creation of QoS requirements models and scalability of the models. The metamodels we describe below have been integrated with PICML using these associations, thus a single model of DRE system captures its entire QoS requirements specification. Next we discuss the requirements specification across the following two RT QoS dimensions: () RT-CCM that is used to specify requirements for components and synchronous connections between components, and (2) RT ProvidedRequestPort RequestConnector RequiredRequestPort ComponentAssembly Component Requirement InEventPort EventConnector 0.. OutEventPort Figure 5: Simplified UML notation of QoS Requirements Associations in GT-QMAP publish/subscribe service that is used to specify requirements for asynchronous connections between components. Real-time QoS requirements. Real-time requirements have component-level granularity. A RTRequirement element which is derived from Requirement, captures real-time requirements of a component and may have the following two attributes:() fixed_priority_service_execution, a server component Boolean property for specifying whether or not it modifies client service invocation priorities, and (2) bursty_client_requests, a server component Boolean property for specifying the profile of service invocations made by its client components. Publish/subscribe QoS requirements. We have modeled requirements for real-time publish/subscribe event service to enable specification of QoS across asynchronous and anonymous interactions in component-based DRE systems. In the context of a publish/subscribe service, a Subscriber component subscribes to receive events from a Publisher component that generates events. Publisher (subscriber) component connects to a mediator entity, an Event Channel, to publish (subscribe to) events. The ECRequirement element is derived from Requirement. It models the properties of the event channel and can be used to specify the following QoS requirements: () network_quality, a connection-level property that captures the quality value of network used for running the application. (2) connection_frequency, a component-level property specifying the frequency at which the component (dis)connects with the publish/subscribe connection. (3) event_distribution_ratio, a connection-level E property that specifies the ratio: a c E s, where c Ea c denotes number of events available for subscription at connection c and E s c denotes average number of events subscribed to at 97

6 connection c by each subscriber component. These modeling capabilities are at a sufficiently high level of abstraction and are intuitive to be applied to a variety of publish/subscribe mechanisms. All the requirements have an enumerated data type with values LO and HI. 3.2 Automating QoS requirements mapping using GT-QMAP Challenge 2 and 3 in Section 2 motivated the need for an automated toolchain for performing QoS configuration of the underlying middleware platform. In this section, we first describe CQML QoS Configuration DSML that defines middleware-specific QoS options and outline our transformation algorithm that transforms system QoS requirements Modeling Middleware QoS options in CQML Rather than directly transforming source models of DRE system into configuration descriptors required for deploying it on the middleware, we chose to generate models of middleware-specific QoS options from these source models such that they can be used for further analysis such as model-checking QoS properties of the DRE system. We have developed interpreters for parsing CQML system models and generating deployment descriptors in preparation of deploying the DRE system on target environment. Real-time QoS options. CQML defines the following elements corresponding to several RT-CCM configuration mechanisms: () Lane, which is a logical set of threads each one of which runs at lane_priority priority level. It is possible to configure static thread (i.e., those that remain active till the system is running and dynamic thread (i.e., those threads that are created and destroyed as required) numbers using Lane element. (2) Thread- Pool, which controls various settings of Lane elements, or a group thereof. These setting include stacksize of threads, whether borrowing of threads across two Lane elements is allowed, and maximum resources assigned to buffer requests that cannot be immediately serviced. (3) PriorityModelPolicy, which controls the policy model that a particular ThreadPool follows. It can be set to either CLIENT_PROPAGATED if the invocation priority is preserved, or SERVER_DECLARED if the server component changes the priority of invocation. (4) BandedConnections, which defines separate connections for individual (client) service invocations. Publish/subscribe QoS options. For QoS configuration of asynchronous event communications, CQML defines the following elements: () Publisher and Subscriber modeling elements contain all the event source and sink settings, respectively. These include, for example, thread locks management mechanisms for publishers (subscribers) that are accessed by multi-threaded systems, and types of event filtering used, (2) RTECFactory element contains configurations specific to the event channel itself. These include, for example, event dispatching method that controls how events from publishers are forwarded to the respective subscribers, scheduling of events for delivery and other scheduler-related coordination, and handling of timeout events in order to forward them to respective subscribers, and (3) FilterGroup element that specifies strategies to group more than one filters together for publishers (subscribers) GT-QMAP Transformations for QoS Mapping The GT-QMAP model transformation rules have been defined in GReAT and are based on our past experiences in configuring QoS for component-based DRE systems. They are applicable to any system model that conforms to the Requirements DSML, and thus can be used by the system developers repetitively during the development and/or maintenance phase(s) of the DRE system. GT-QMAP model transformations preserve the granularity specified in the source models. Mapping real-time QoS requirements. Let R o p and R i p denote, respectively, the set of outgoing (required/event source) and incoming (provided/event sink) ports of component p P. Let S and C be the sets of server and client components respectively and are given by: p S i f R pi /0 and p C i f R po /0 Algorithm describes (non-exhaustive) RT-CCM QoS mappings in GT-QMAP. Lines 5-3 show the thread resource allocation scheme for server components. For every incoming port of a server component, the number of interface operations and client components are counted (lines 9 and 0). These counts are used by the auxillary function T hreadresources to calculate the total threads required for handling all client service invocations at that server. For handling bursts of client requests, server components should configure their thread pool to grow dynamically such that threads are created only when required.assignt hreadresources function is used to adjust the ratio of static and dynamic threads for a server, deping on whether its bursty_client_requests property is set to TRUE. In addition, lane borrowing feature at the server is set to TRUE such that the thread pool lanes across various priority levels can be borrowed. Finally, PriorityBands are configured and the their priority values are matched with server-side lane values in line 24. s Mapping publish/subscribe QoS requirements. Let PC c t denote the synchronization mechanism, PC c denote the i type, PC c denote the iterator in proxy collection PC for component c, respectively. Let L c denote the locking policy, CP c denote control policy, SF c denote supplier-based filtering at component c, respectively. Algorithm 2 gives the (non-exhaustive) publish/subscribe QoS mappings. 98

7 Algorithm : Real-time QoS Requirements Mapping Input: set of client components C, set of server components S, set of bursty client components B, set of threadpool lanes T PLanes begin InterfaceOperationsCount ioc; ClientsCount cc; IncomingPort ip; OutgoingPort op;threadcount tc; Component c;set of Components CPS; Buffering b f ; foreach p S do ioc 0; cc 0; tc 0; b f f alse; CPS ClientComponents(p); foreach ip R i p do ioc ioc+countoperations(p,ip); cc cc+countclientcomponents(p,ip); tc ThreadResources(ioc,cc); createt PLanes(p,tc); foreach c CPS do if c B then b f true; assignt hreadresources( T PLanes p,c,tc); assignt PoolAttributes(T PLanes p,b f ); ioc 0; foreach op R o c do ioc ioc+countoperations(c,op); createbands(c,ioc); matchpriorities(p,c); Algorithm 2: Publish/Subscribe service QoS Requirements Mapping Input: set of components CPS begin Component c; ThreadPoolLaneCount lc; NetworkQuality nq; foreach c CPS do lc = countthreadresources(c); c f = connectionfrequency(c); nq = networkquality(c); dr = eventdistributionratio(c); if lc then PC s c = MT ; L c = T HREAD; else PC s c = ST ; L c = NULL; if c f LO then PC t c = LIST ; PC i c = COPY _ON_READ; else PC t c = RB_T REE; PC s c = COPY _ON_WRIT E; if nq LO then CP c = NULL; else CP c = REACT IV E; if c S then if dr LO then SF c = PER_SUPPLIER; else SF c = NULL; A publish/subscribe service has several settings for configuring the way collections of publisher and subscriber object references are created and accessed, which must be chosen appropriately for individual applications. Lines 6-9 in Algorithm 2 show how the choice of serialization mechanism is affected by the number of thread resources configured at component c. The choice of the type of collection is based on the following: () RB_TREE data structure exhibits faster (O(log(n))) insertion and removal operations. Therefore, it is more suited for connections whose components have a high (dis)connection rate; (2) LIST data structure on the other hand, should be chosen in cases where iteration is frequent (and therefore, more crucial for efficient application execution) than modifications to it. Lines -4 give the steps in algorithm that configure the collection type. Finally, REACTIVE policy is chosen for applications that use low-quality value network on Lines 6-9, which ensures that (publisher/subscriber) components are periodically polled for determining their states (i.e., whether or not they are connected to the event channel). 3.3 Applying GT-QMAP for Middleware QoS Configuration The challenges described in Section 2 are resolved using GT-QMAP modeling and automated QoS configuration capabilities as follows: Resolving Challenges & 2: Target typed graph elements (i.e., QoS options), are well-understood by implementa- tion middleware experts. GT-QMAP transformation algorithms and 2 are designed in terms of source and target typed graphs by these experts. System developers can describe their system QoS requirements using the modeling capabilities discussed in Section 3... By providing platform-indepent modeling elements in GT-QMAP and defining representational semantics that closely follow those of the system requirements, GT-QMAP allows system developers to describe system QoS using simple, intuitive notations. Further, model transformations defined in GT-QMAP automatically identify and deduce QoS configurations that are best suited to achieve the desired QoS for DRE systems being configured. For example, in the MMS mission, GT-QMAP automatically identifies thread safety mechanisms applicable for asynchronous connection between Comm and Analysis components as can be seen from lines 6-9 in Algorithm 2. In the SCE application, the requirement of prioritization of service invocations at p_a component can be easily specified by setting fixed_priority_service_execution to TRUE. Resolving Challenge 3: GT-QMAP transformation rules contain information about the semantics of the QoS options, their inter-depencies, and how they affect the high-level QoS requirements of a DRE system and therefore are used to asssign values to the subset of options chosen earlier. Further, QoS options semantics are known precisely during transformations, and thus GT-QMAP ensures preservation 99

8 of target typed graph semantics. Component interactions defined in input typed graph instance (i.e., source model), along with the user-specified QoS requirements captured in that instance are used to completely generate an instance of the output graph. For example, in SCE application, in addition to setting fixed_priority_service_execution to TRUE, recall from discussion in Challenge 2 in Section 2 that sufficient thread resources should also be configured to handle all client priority levels at p_a. T hreadresources on line 2 in Algorithm calculates appropriate number of thread resources as a function of client components of p_a and their interface operations. 4 Evaluating GT-QMAP Toolchain for Middleware QoS Configuration In this section we evaluate GT-QMAP modeling (i.e., using its Requirements DSML) and transformation capabilitites in the context of DRE system case studies discussed in Section 2.. Class count metrics were used for evaluating modeling effort in using GT-QMAP. All the measurements use GME 6..9, GReAT.6.0 software packages on a Windows XP SP2 workstation. Our prototype implementation of GT-QMAP uses PICML and CQML from CoS- MIC toolchain version CQML models represent detailed, middleware-specific DRE system QoS configurations that are used for generating configuration descriptors necessary for its deployment. In order to find the reduction in modeling effort using GT- QMAP, we compare its (Requirements) modeling capabilities with those of CQML. Class counts is an important metric for model-based quantitative software measurementsand has been applied and adopted in industrial contexts [4]. For our measurements, we use the following counts from the (meta)models: () modeling elements, which includes all the concrete modeling objects, (2) connections between modeling elements, (3) constraints that provide design-time type and/or depency checks for enforcing language semantics, and (4) attributes of modeling elements. The counts were measured for both real-time and publish/subscribe QoS dimensions. A comparison of CQML and GT-QMAP metamodels in terms of class counts given above is tabulated in Table 2. The configuration space in this table simply refers to all of CQML s modeling elements each of which corresponds to RT-CCM and publish/subscribe options as explained in Section Using GT-QMAP, the number of modeling elements are reduced by an average of 58% while the number of attributes are reduced by an average of 8%. The results from class count measurments for BasicSP, MMS and SCE application scenarios are shown in Table 3. From these results it is observed that the modeling elements and number of attributes required for QoS specification for the publish/subscribe QoS dimension reduced by an average 54.55% and 76.4%, respectively. Reductions for RT-CCM were considerably higher i.e., modeling elements reduction was 86.53% while number of attributes were reduced by 88.47%. Table 2: Comparing Requirements DSML against configuration space Effort measured on # of modeling elements # of attributes CQML publish/subscribe 9 22 RT-CCM 6 4 GT-QMAP publish/subscribe 4 5 RT-CCM 2 Connections defined in GT-QMAP are simple associations between modeling elements. For instance, recall from Section 3.. that real-time and publish/subscribe QoS requirement elements have component- or connection-level granularity. In contrast, modeling elements in CQML exhibit more complex depency relationships. For example, e.g., a REACTIVE event dispatching method at an event channel necessitates that ProxyCollection at corresponding publisher and subscriber components be either MT or ST. It is easier to evolve DRE system QoS using GT-QMAP owing to its automated requirements mapping capabilities. For example, an additional requirement in the SCE scenario during its development cycle necessitates that similar to p_a, component ec_a must prioritize its service invocations. In GT-QMAP this is achieved simply by setting fixed_priority_service_execution property at ec_a (to TRUE). For the entire SCE application since it contains 0 such application strings (and therefore, 0 ec_a components), this additional requirement requires modification of 0 attributes in its GT-QMAP model. In CQML, on the other hand, such an additional requirement would require the following modifications: () Configuring the PriorityModelPolicy to SERVER_DECLARED, and assigning sufficient Lanes at ec_a for handling all of its client service invocations. (2) Assigning PriorityBands at client components (e_a etc.) such that a separate connection is used for each request priority level. This configuration further requires that these band priority values match with some lane values at ec_a component. Even if smallest possible number of Bands and Lanes are chosen at respective components, this requires specifying 0 modeling elements, 4 connections, and 6 attributes for each of the 0 application strings in SCE. 00

9 Table 3: Reduction in modeling effort using GT-QMAP Effort measured on # of modeling elements # of connections # of constraints # of Boolean # of int/long # of string # of enum BasicSP in CQML publish/subscribe RT-CCM BasicSP in GT-QMAP publish/subscribe RT-CCM MMS in CQML publish/subscribe RT-CCM MMS in GT-QMAP publish/subscribe RT-CCM SCE in CQML publish/subscribe RT-CCM SCE in GT-QMAP publish/subscribe RT-CCM Related Work The COMQUAD project [5] discusses extensions to model driven architecture (MDA) of OMG in order to allow application developers to refine non-functional aspects of their application from an abstract point of view to a model closer to the implementation. Model transformations are defined between different non-functional aspects and are applied to QoS characteristics (i.e., measurement of quality value) definitions to allow for such a refinement. Authors in [] attempt to clearly define platform-indepent modeling in MDA development by introducing an important architectural notion of Abstract Platform that captures an abstraction of infrastructure characteristics for models of an application at some platform-indepent level in its design process. An important observation of the authors is that design languages should allow for appropriate levels of platform-indepence to be defined at each development steps. GT-QMAP differs from the above projects as follows: COMQUAD allows for specification and transformation of non-functional aspects at different levels of abstraction as the application itself evolves. For example, response time of a function call may be expressed more clearly as the time between reception of a request and sing the corresponding response, or time between reception of a request and reception of the corresponding response. Successive refinement models in COMQUAD are exposed to the application developers such that more details can be added. Similarly, work discussed in [] proposes that design languages should support platform-indepence at each abstract platform levels. GT-QMAP, on the other hand, deals with mechanisms to translate QoS requirements a system places on the implementation platform onto QoS configuration options of that platform. Output models of GT-QMAP can be treated as read only models. Application developers model and modify only the high-level requirements models, and are thus shielded from the low-level details about the middleware platform. Finally, we focus on QoS requirements (and mappings thereof) of an application at the middleware level while COMQUAD focuses on QoS characteristics for an application (e.g., response time, delay, memory usage). Ritter et.al. [4] describe CCM extensions for generic QoS support and discusses a QoS metamodel that supports domain-specific multi-category QoS contracts. The work in [7], focuses on capturing QoS properties in terms of interaction patterns amongst system components that are involved in executing a particular service and supporting run-time monitoring of QoS properties by distributing them over components (which can be monitored) to realize that service. An approach that uses an aspect-oriented specification techniques for component-based distributed systems is discussed in [3]. In contrast to the above works, GT-QMAP focuses on automating the error-prone activity of middleware QoS configuration, i.e., mapping QoS requirements to QoS configuration options. Such an automation along with a flexible and intuitive QoS requirement specification mechanism naturally supports application QoS evolution during its development cycle. An interesting side effect of using model transformations for QoS configuration is that since the changes to application QoS are made only at QoS requirement specification time, the implementation platform details (i.e., middleware QoS options) always remain in-sync with the application QoS requirements, thereby addressing the productivity problem [0] at the middleware level. Finally, since the specification of the QoS requirements itself is platformindepent, it allows for reconfiguring the QoS mappings to suit other middleware platforms. 0

10 6 Concluding Remarks In this paper we introduced an automated, reusable model-driven QoS mapping toolchain that () raises the level of specification abstraction for system developers (who lack a detailed understanding of these QoS mechanisms and their inter-depencies) such that system QoS requirements can be expressed intuitively, and (2) correctly maps these QoS specifications to middleware-specific QoS configuration options. In the future, we plan to ext our GT-QMAP toolchain for other QoS dimensions, for example, security and fault-tolerance, and for other middleware technologies, such as EJB and Web Services. To this goal, UML profile discussed in [3] can be used as a common modeling abstraction for various QoS dimensions and platforms. We are also investigating the use of advanced model-checking techniques to correctly perform middleware QoS configuration simultaneously across various QoS dimensions. GT-QMAP is available as open-source from 7 Acknowledgement The authors would like to thank Reviewer 4 whose insightful and constructive comments and suggestions improved readibility and overall quality of the paper. References [] J. P. Almeida, R. Dijkman, M. van Sinderen, and L. F. Pires. On the Notion of Abstract Platform in MDA Development. In Proceedings of the 3 rd IEEE International Enterprise Distributed Object Computing Conference (EDOC 2004), pages , Sept [2] K. Balasubramanian, J. Balasubramanian, J. Parsons, A. Gokhale, and D. C. Schmidt. A Platform-Indepent Component Modeling Language for Distributed Real-Time and Embedded Systems. In RTAS 05: Proceedings of the th IEEE Real Time on Embedded Technology and Applications Symposium, pages 90 99, Los Alamitos, CA, USA, [3] L. Blair, G. S. Blair, A. Anderson, and T. Jones. Formal Support For Dynamic QoS Management in the Development of Open Component-based Distributed Systems. IEEE Software, 48(3), Nov [4] B. H. C. Cheng, R. Stephenson, and B. Berenbach. Lessons learned from automated analysis of industrial uml class models (an experience report). In Model Driven Engineering Languages and Systems, 8th International Conference (MoDELS 2005), volume 373, pages , [5] Z. Gu, S. Kodase, S. Wang, and K. G. Shin. A Model- Based Approach to System-Level Depency and Realtime Analysis of Embedded Software. In Proceedings of the IEEE Real-time and Embedded Technology and Applications Symposium (RTAS 03), pages 78 85, Washington, DC, May IEEE. [6] J. Hatcliff, W. Deng, M. Dwyer, G. Jung, and V. Prasad. Cadena: An Integrated Development, Analysis, and Verification Environment for Component-based Systems. In Proceedings of the 25th International Conference on Software Engineering, Portland, OR, May [7] Jaswinder Ahluwalia and Ingolf H. Krüger and Walter Phillips and Michael Meisinger. Model-Based Run-Time Monitoring of End-to-End Deadlines. In Proceedings of the Fifth ACM International Conference On Embedded Software, Jersey City, NJ, Sept ACM. [8] G. Karsai, A. Agrawal, F. Shi, and J. Sprinkle. On the Use of Graph Transformation in the Formal Specification of Model Interpreters. Journal of Universal Computer Science, 9():296 32, org/jucs_9_/on_the_use_of. [9] A. Kavimandan, K. Balasubramanian, N. Shankaran, A. Gokhale, and D. C. Schmidt. Quicker: A modeldriven qos mapping tool for qos-enabled component middleware. In ISORC 07: Proceedings of the 0th IEEE International Symposium on Object and Component-Oriented Real-Time Distributed Computing, pages 62 70, Washington, DC, USA, IEEE Computer Society. [0] A. Kleppe, J. Warmer, and W. Bast. MDA Explained: The Model Driven Architecture(MDA T M ): Practice and Promise. Addison-Wesley Longman Publishing Co., Inc., Boston, MA, USA, Apr [] A. Ledeczi, A. Bakay, M. Maroti, P. Volgysei, G. Nordstrom, J. Sprinkle, and G. Karsai. Composing Domain- Specific Design Environments. IEEE Computer, pages 44 5, November 200. [2] C. Lee, J. Lehoczky, D. Siewiorek, R. Rajkumar, and J. Hansen. A Scalable Solution to the Multi-Resource QoS Problem. In Proceedings of the IEEE Real-time Systems Symposium (RTSS 99), pages , Phoenix, AZ, Dec [3] Object Management Group. UML Profile for Modeling Quality of Service and Fault Tolerance Characteristics and Mechanisms Joint Revised Submission, OMG Document realtime/ edition, May [4] T. Ritter, M. Born, T. Unterschütz, and T. Weis. A QoS and its Realization in a CORBA Component Infrastructure. In Proceedings of the 36 th Hawaii International Conference on System Sciences (HICSS 03), Honolulu, HI, Jan [5] S. Röttger and S. Zschaler. Model-Driven Development for Non-functional Properties: Refinement Through Model Transformation. In Proceedings of the 7 th International Conference on Unified Modelling Language: Modelling Languages and Applications (UML 2004), pages , Oct [6] J. A. Stankovic, R. Zhu, R. Poornalingam, C. Lu, Z. Yu, M. Humphrey, and B. Ellis. VEST: An Aspect-Based Composition Tool for Real-Time Systems. In RTAS 03: Proceedings of the The 9th IEEE Real-Time and Embedded Technology and Applications Symposium, page 58, Washington, DC, USA, IEEE Computer Society. [7] D. Wichadakul. Q-Compiler: MetaData QoS-Aware Programming and Compilation Framework. PhD thesis, University of Illinois at Urbana Champaign,

QUICKER: A Model-driven QoS Mapping Tool for QoS-enabled Component Middleware

QUICKER: A Model-driven QoS Mapping Tool for QoS-enabled Component Middleware QUICKER: A Model-driven QoS Mapping Tool for QoS-enabled Component Middleware Amogh Kavimandan, Krishnakumar Balasubramanian, Nishanth Shankaran, Aniruddha Gokhale, & Douglas C. Schmidt amoghk@dre.vanderbilt.edu

More information

Institute for Software Integrated Systems Vanderbilt University Nashville, Tennessee

Institute for Software Integrated Systems Vanderbilt University Nashville, Tennessee Architectural and Optimization Techniques for Scalable, Real-time and Robust Deployment and Configuration of DRE Systems Gan Deng Douglas C. Schmidt Aniruddha Gokhale Institute for Software Integrated

More information

Model-Driven QoS Provisioning Techniques for CCM DRE Systems

Model-Driven QoS Provisioning Techniques for CCM DRE Systems Model-Driven QoS Provisioning Techniques for CCM DRE Systems Stoyan Paunov, Gan Deng, Douglas C. Schmidt, and Anirudha Gokhale ISIS, Vanderbilt University Motivation for QoS-enabled Middleware Trends!

More information

DREMS: A Toolchain and Platform for the Rapid Application Development, Integration, and Deployment of Managed Distributed Real-time Embedded Systems

DREMS: A Toolchain and Platform for the Rapid Application Development, Integration, and Deployment of Managed Distributed Real-time Embedded Systems DREMS: A Toolchain and Platform for the Rapid Application Development, Integration, and Deployment of Managed Distributed Real-time Embedded Systems William Emfinger, Pranav Kumar, Abhishek Dubey, William

More information

Design and Performance Evaluation of an Adaptive Resource Management Framework for Distributed Real-time and Embedded Systems

Design and Performance Evaluation of an Adaptive Resource Management Framework for Distributed Real-time and Embedded Systems Design and Performance Evaluation of an Adaptive Resource Management Framework for Distributed Real-time and Embedded Systems Nishanth Shankaran, Nilabja Roy, Douglas C. Schmidt, Xenofon D. Koutsoukos,Yingming

More information

Design and Performance Evaluation of Resource-Management Framework for End-to-End Adaptation of Distributed Real-time Embedded Systems

Design and Performance Evaluation of Resource-Management Framework for End-to-End Adaptation of Distributed Real-time Embedded Systems Design and Performance Evaluation of Resource-Management Framework for End-to-End Adaptation of Distributed Real-time Embedded Systems Nishanth Shankaran, Douglas C. Schmidt, Xenofon D. Koutsoukos, Yingming

More information

Research Article Design and Performance Evaluation of an Adaptive Resource Management Framework for Distributed Real-Time and Embedded Systems

Research Article Design and Performance Evaluation of an Adaptive Resource Management Framework for Distributed Real-Time and Embedded Systems Hindawi Publishing Corporation EURASIP Journal on Embedded Systems Volume 2008, Article ID 250895, 20 pages doi:10.1155/2008/250895 Research Article Design and Performance Evaluation of an Adaptive Resource

More information

CQML: Aspect-oriented Modeling for Modularizing and Weaving QoS Concerns in Component-based Systems

CQML: Aspect-oriented Modeling for Modularizing and Weaving QoS Concerns in Component-based Systems CQML: Aspect-oriented Modeling for Modularizing and Weaving QoS Concerns in Component-based Systems Sumant Tambe, Akshay Dabholkar, Aniruddha Gokhale Department of EECS, Vanderbilt University, Nashville,

More information

Science of Computer Programming. Model driven middleware: A new paradigm for developing distributed real-time and embedded systems

Science of Computer Programming. Model driven middleware: A new paradigm for developing distributed real-time and embedded systems Science of Computer Programming 73 (2008) 39 58 Contents lists available at ScienceDirect Science of Computer Programming journal homepage: www.elsevier.com/locate/scico Model driven middleware: A new

More information

Model-Driven Configuration and Deployment of Component Middleware Publish/Subscribe Services

Model-Driven Configuration and Deployment of Component Middleware Publish/Subscribe Services Model-Driven Configuration and Deployment of Component Middleware Publish/Subscribe Services George Edwards, Gan Deng, Douglas C. Schmidt, Aniruddha Gokhale, and Bala Natarajan Department of Electrical

More information

A QoS Policy Configuration Modeling Language for Publish/Subscribe Middleware Platforms

A QoS Policy Configuration Modeling Language for Publish/Subscribe Middleware Platforms A QoS Policy Configuration Modeling Language for Publish/Subscribe Middleware Platforms Joe Hoffert, Douglas Schmidt, and Aniruddha Gokhale Institute for Software Integrated Systems, Dept of EECS Vanderbilt

More information

CaDAnCE: A Criticality-aware Deployment And Configuration Engine

CaDAnCE: A Criticality-aware Deployment And Configuration Engine CaDAnCE: A Criticality-aware Deployment And Configuration Engine Gan Deng, Douglas C. Schmidt, Aniruddha Gokhale Dept. of EECS, Vanderbilt University, Nashville, TN {dengg,schmidt,gokhale}@dre.vanderbilt.edu

More information

Physical Assembly Mapper: A Model-driven Optimization Tool for QoS-enabled Component Middleware

Physical Assembly Mapper: A Model-driven Optimization Tool for QoS-enabled Component Middleware IEEE Real-Time and Embedded Technology and Applications Symposium Physical Assembly Mapper: A Model-driven Optimization Tool for QoS-enabled Component Middleware Krishnakumar Balasubramanian, Douglas C.

More information

A Solution Based on Modeling and Code Generation for Embedded Control System

A Solution Based on Modeling and Code Generation for Embedded Control System J. Software Engineering & Applications, 2009, 2: 160-164 doi:10.4236/jsea.2009.23023 Published Online October 2009 (http://www.scirp.org/journal/jsea) A Solution Based on Modeling and Code Generation for

More information

Meeting the Challenges of Ultra-Large

Meeting the Challenges of Ultra-Large Meeting the Challenges of Ultra-Large Large-Scale Systems Tuesday, July 11, 2006,, OMG RTWS, Arlington, VA Dr. Douglas C. Schmidt d.schmidt@vanderbilt.edu www.dre.vanderbilt.edu/~schmidt Institute for

More information

Physical Assembly Mapper: A Model-driven Optimization Tool for QoS-enabled Component Middleware

Physical Assembly Mapper: A Model-driven Optimization Tool for QoS-enabled Component Middleware Physical Assembly Mapper: A Model-driven Optimization Tool for QoS-enabled Component Middleware Krishnakumar Balasubramanian, Douglas C. Schmidt Dept. of EECS, Vanderbilt University, Nashville {kitty,schmidt}@dre.vanderbilt.edu

More information

Semantic Specifications for Domain-Specific Modeling Languages

Semantic Specifications for Domain-Specific Modeling Languages Semantic Specifications for Domain-Specific Modeling Languages Gabor Simko Institute for Software Integrated Systems Vanderbilt University Nashville, TN Abstract. While there is a generic agreement that

More information

Design and Performance Evaluation of Configurable Component Middleware for End-to-End Adaptation of Distributed Real-time Embedded Systems

Design and Performance Evaluation of Configurable Component Middleware for End-to-End Adaptation of Distributed Real-time Embedded Systems Design and Performance Evaluation of Configurable Component Middleware for End-to-End Adaptation of Distributed Real-time Embedded Systems Nishanth Shankaran, Douglas C. Schmidt, Xenofon D. Koutsoukos,

More information

Applying Model Intelligence Frameworks for Deployment Problem in Real-Time and Embedded Systems

Applying Model Intelligence Frameworks for Deployment Problem in Real-Time and Embedded Systems Applying Model Intelligence Frameworks for Deployment Problem in Real-Time and Embedded Systems Andrey Nechypurenko 1, Egon Wuchner 1, Jules White 2, and Douglas C. Schmidt 2 1 Siemens AG, Corporate Technology

More information

AIDING THE DEPLOYMENT AND CONFIGURATION OF COMPONENT MIDDLEWARE IN DISTRIBURED, REAL-TIME AND EMBEDDED SYSTEMS. Stoyan G. Paunov.

AIDING THE DEPLOYMENT AND CONFIGURATION OF COMPONENT MIDDLEWARE IN DISTRIBURED, REAL-TIME AND EMBEDDED SYSTEMS. Stoyan G. Paunov. AIDING THE DEPLOYMENT AND CONFIGURATION OF COMPONENT MIDDLEWARE IN DISTRIBURED, REAL-TIME AND EMBEDDED SYSTEMS by Stoyan G. Paunov Thesis Submitted to the Faculty of the Graduate School of Vanderbilt University

More information

Improving Domain-specific Language Reuse through Software Product-line Configuration Techniques

Improving Domain-specific Language Reuse through Software Product-line Configuration Techniques Improving Domain-specific Language Reuse through Software Product-line Configuration Techniques Jules White, James H. Hill, Sumant Tambe, Aniruddha Gokhale, and Douglas C. Schmidt Vanderbilt University

More information

A Platform-Independent Component Modeling Language for Distributed Real-time and Embedded Systems

A Platform-Independent Component Modeling Language for Distributed Real-time and Embedded Systems A Platform-Independent Component Modeling Language for Distributed Real-time and Embedded Systems Krishnakumar Balasubramanian a,, Jaiganesh Balasubramanian a, Jeff Parsons a, Aniruddha Gokhale a, Douglas

More information

DQML: A Modeling Language for Configuring Distributed Publish/Subscribe Quality of Service Policies

DQML: A Modeling Language for Configuring Distributed Publish/Subscribe Quality of Service Policies DQML: A Modeling Language for Configuring Distributed Publish/Subscribe Quality of Service Policies Joe Hoffert, Douglas Schmidt, and Aniruddha Gokhale Institute for Software Integrated Systems, Dept.

More information

TOWARD ENHANCING REUSABILITY OF COMPONENT MIDDLEWARE DSMLS USING GENERALIZATION AND STEP-WISE REFINEMENT. Ritesh Neema. Thesis

TOWARD ENHANCING REUSABILITY OF COMPONENT MIDDLEWARE DSMLS USING GENERALIZATION AND STEP-WISE REFINEMENT. Ritesh Neema. Thesis TOWARD ENHANCING REUSABILITY OF COMPONENT MIDDLEWARE DSMLS USING GENERALIZATION AND STEP-WISE REFINEMENT By Ritesh Neema Thesis Submitted to the Faculty of the Graduate School of Vanderbilt University

More information

MODEL-DRIVEN Engineering (MDE) helps address the

MODEL-DRIVEN Engineering (MDE) helps address the IEEE SOFTWARE 1 Productivity Analysis for the Distributed QoS Modeling Language Joe Hoffert, Douglas C. Schmidt, and Aniruddha Gokhale Vanderbilt University Nashville, TN, USA {jhoffert, schmidt, gokhale}@dre.vanderbilt.edu

More information

A Platform-Independent Component QoS Modeling Language for Distributed Real-time and Embedded Systems

A Platform-Independent Component QoS Modeling Language for Distributed Real-time and Embedded Systems A Platform-Independent Component QoS Modeling Language for Distributed Real-time and Embedded Systems Sumant Tambe 1, Akshay Dabholkar 1, Amogh Kavimandan 1, Aniruddha Gokhale 1, and Sherif Abdelwahed

More information

A QoS-aware CCM for DRE System Development

A QoS-aware CCM for DRE System Development A QoS-aware CCM for DRE System Development Nanbor Wang Tech-X Corporation 5561 Arapahoe Ave., Suite A Boulder, CO 33 Chris Gill Dept. of Computer Science and Engineering Washington University One Brookings

More information

Verifying Distributed Real-time Properties of Embedded Systems via Graph Transformations and Model Checking

Verifying Distributed Real-time Properties of Embedded Systems via Graph Transformations and Model Checking Verifying Distributed Real-time Properties of Embedded Systems via Graph Transformations and Model Checking Gabor Madl 1,2 Sherif Abdelwahed 1 Douglas C. Schmidt 1 1 Institute for Software Integrated Systems,

More information

NetQoPE: A Middleware-based Network QoS Provisioning Engine for Distributed Real-time and Embedded Systems

NetQoPE: A Middleware-based Network QoS Provisioning Engine for Distributed Real-time and Embedded Systems NetQoPE: A Middleware-based Network QoS Provisioning Engine for Distributed Real-time and Embedded Systems Jaiganesh Balasubramanian 1, Sumant Tambe 1, Shrirang Gadgil 2, Frederick Porter 2, Balakrishnan

More information

Performance Evaluation of the Reactor Pattern Using the OMNeT++ Simulator

Performance Evaluation of the Reactor Pattern Using the OMNeT++ Simulator Performance Evaluation of the Reactor Pattern Using the OMNeT++ Simulator Arundhati Kogekar, Aniruddha Gokhale Department of Electrical Engineering and Computer Science Vanderbilt University Nashville,

More information

A Component Model and Software Architecture for CPS

A Component Model and Software Architecture for CPS A Component Model and Software Architecture for CPS Abhishek Dubey, Gabor Karsai, Nagabhushan Mahadevan ISIS/Vanderbilt University NASA Cooperative Agreement NNX08AY49A Outline Software components for

More information

F6COM: A Case Study in Extending Container Services through Connectors

F6COM: A Case Study in Extending Container Services through Connectors F6COM: A Case Study in Extending Container Services through Connectors Abhishek Dubey, Andy Gokhale, Gabor Karsai, William R. Otte; Vanderbilt University/ISIS Johnny Willemsen; Remedy IT Paul Calabrese,

More information

F6 Model-driven Development Kit (F6MDK)

F6 Model-driven Development Kit (F6MDK) F6 Model-driven Development Kit (F6MDK) Gabor Karsai, Abhishek Dubey, Andy Gokhale, William R. Otte, Csanad Szabo; Vanderbilt University/ISIS Alessandro Coglio, Eric Smith; Kestrel Institute Prasanta Bose;

More information

Model-based Analysis of Event-driven Distributed Real-time Embedded Systems

Model-based Analysis of Event-driven Distributed Real-time Embedded Systems Model-based Analysis of Event-driven Distributed Real-time Embedded Systems Gabor Madl Committee Chancellor s Professor Nikil Dutt (Chair) Professor Tony Givargis Professor Ian Harris University of California,

More information

Model-driven QoS Provisioning for Distributed Real-time and Embedded Systems

Model-driven QoS Provisioning for Distributed Real-time and Embedded Systems Model-driven QoS Provisioning for Distributed Real-time and Embedded Systems Jaiganesh Balasubramanian, Sumant Tambe, Balakrishnan Dasarathy, Aniruddha Gokhale, Douglas C. Schmidt, and Shrirang Gadgil

More information

Model-Driven Optimizations of Component Systems

Model-Driven Optimizations of Component Systems Model-Driven Optimizations of omponent Systems OMG Real-time Workshop July 12, 2006 Krishnakumar Balasubramanian Dr. Douglas. Schmidt {kitty,schmidt}@dre.vanderbilt.edu Institute for Software Integrated

More information

Techniques for Dynamic Swapping in the Lightweight CORBA Component Model

Techniques for Dynamic Swapping in the Lightweight CORBA Component Model in the Lightweight CORBA Component Model jai@dre.vanderbilt.edu www.dre.vanderbilt.edu/~jai Dr. Aniruddha Gokhale gokhale@dre.vanderbilt.edu www.dre.vanderbilt.edu/~gokhale Dr. Douglas C. Schmidt schmidt@dre.vanderbilt.edu

More information

Intelligent Event Processing in Quality of Service (QoS) Enabled Publish/Subscribe (Pub/Sub) Middleware

Intelligent Event Processing in Quality of Service (QoS) Enabled Publish/Subscribe (Pub/Sub) Middleware Intelligent Event Processing in Quality of Service (QoS) Enabled Publish/Subscribe (Pub/Sub) Middleware Joe Hoffert jhoffert@dre.vanderbilt.edu http://www.dre.vanderbilt.edu/~jhoffert/ CS PhD Student Vanderbilt

More information

Tools & Techniques for Deployment & Configuration of QoS- enabled Component Applications

Tools & Techniques for Deployment & Configuration of QoS- enabled Component Applications Tools & Techniques for Deployment & Configuration of QoS- enabled Applications jai@dre.vanderbilt.edu www.dre.vanderbilt.edu/~jai Gan Deng dengg@dre.vanderbilt.edu www.dre.vanderbilt.edu/~dengg Dr. Aniruddha

More information

From MDD back to basic: Building DRE systems

From MDD back to basic: Building DRE systems From MDD back to basic: Building DRE systems, ENST MDx in software engineering Models are everywhere in engineering, and now in software engineering MD[A, D, E] aims at easing the construction of systems

More information

J2EEML: Applying Model Driven Development to Autonomic Enterprise Java Bean Systems

J2EEML: Applying Model Driven Development to Autonomic Enterprise Java Bean Systems J2EEML: Applying Model Driven Development to Autonomic Enterprise Java Bean Systems Jules White jules@dre.vanderbilt.edu Institute for Software Integrated Systems (ISIS) Vanderbilt University Nashville,

More information

Middleware Support for Aperiodic Tasks in Distributed Real-Time Systems

Middleware Support for Aperiodic Tasks in Distributed Real-Time Systems Outline Middleware Support for Aperiodic Tasks in Distributed Real-Time Systems Yuanfang Zhang, Chenyang Lu and Chris Gill Department of Computer Science and Engineering Washington University in St. Louis

More information

An Introduction to Model Driven Engineering (MDE) Bahman Zamani, Ph.D. bahmanzamani.com

An Introduction to Model Driven Engineering (MDE) Bahman Zamani, Ph.D. bahmanzamani.com An Introduction to Model Driven Engineering (MDE) Bahman Zamani, Ph.D. bahmanzamani.com Department of Software Systems Engineering University of Isfahan Fall 2013 Overview Model & Modeling UML & UML Profile

More information

A QoS-aware CORBA Component Model for Distributed Real-time and Embedded System Development

A QoS-aware CORBA Component Model for Distributed Real-time and Embedded System Development A -aware CORBA Model for Distributed Real-time and Embedded System Development Nanbor Wang and Chris Gill {nanbor,cdgill}@cse.wustl.edu Department of Computer Science and Engineering Washington University

More information

Software Architecture Patterns

Software Architecture Patterns Software Architecture Patterns *based on a tutorial of Michael Stal Harald Gall University of Zurich http://seal.ifi.uzh.ch/ase www.infosys.tuwien.ac.at Overview Goal Basic architectural understanding

More information

DRAFT. A Component Model for Hard Real Time Systems: CCM with ARINC-653

DRAFT. A Component Model for Hard Real Time Systems: CCM with ARINC-653 A Component Model for Hard Real Time Systems: CCM with ARINC-653 Abhishek Dubey Gabor Karsai Nagabhushan Mahadevan Institute for Software Integrated Systems, Vanderbilt University, Nashville, TN 37212,

More information

A Data-Centric Approach for Modular Assurance Abstract. Keywords: 1 Introduction

A Data-Centric Approach for Modular Assurance Abstract. Keywords: 1 Introduction A Data-Centric Approach for Modular Assurance Gabriela F. Ciocarlie, Heidi Schubert and Rose Wahlin Real-Time Innovations, Inc. {gabriela, heidi, rose}@rti.com Abstract. A mixed-criticality system is one

More information

NetQoPE: A Model-driven Network QoS Provisioning Engine for Distributed Real-time and Embedded Systems

NetQoPE: A Model-driven Network QoS Provisioning Engine for Distributed Real-time and Embedded Systems NetQoPE: A Model-driven Network QoS Provisioning Engine for Distributed Real-time and Embedded Systems Jaiganesh Balasubramanian, Sumant Tambe, Balakrishnan Dasarathy, Shrirang Gadgil, Frederick Porter,

More information

Configuration Management for Component-based Systems

Configuration Management for Component-based Systems Configuration Management for Component-based Systems Magnus Larsson Ivica Crnkovic Development and Research Department of Computer Science ABB Automation Products AB Mälardalen University 721 59 Västerås,

More information

Empirically Evaluating CORBA Component Model Implementations

Empirically Evaluating CORBA Component Model Implementations Empirically Evaluating CORBA Component Model Implementations Arvind S. Krishna, Jaiganesh Balasubramanian, Aniruddha Gokhale and Douglas C. Schmidt Electrical Engineering and Computer Science Vanderbilt

More information

Model-Driven Performance Analysis Methodology for Distributed Software Systems

Model-Driven Performance Analysis Methodology for Distributed Software Systems Model-Driven Performance Analysis Methodology for Distributed Software Systems Swapna S. Gokhale Aniruddha Gokhale Jeffrey Gray Paul Vandal Dimple Kaul, Arundhati Kogekar Yuehua Lin Dept. of CSE Dept.

More information

Concern-based Composition and Reuse of Distributed Systems

Concern-based Composition and Reuse of Distributed Systems Concern-based Composition and Reuse of Distributed Systems Andrey Nechypurenko andrey.nechypurenko@siem ens.com Siemens AG, Germany Douglas Schmidt, Tao Lu, Gan Deng, Emre Turkay, Aniruddha Gokhale Vanderbilt

More information

Using Domain-Specific Modeling to Generate User Interfaces for Wizards

Using Domain-Specific Modeling to Generate User Interfaces for Wizards Using Domain-Specific Modeling to Generate User Interfaces for Wizards Enis Afgan, Jeff Gray, Purushotham Bangalore University of Alabama at Birmingham Department of omputer and Information Sciences 1300

More information

A (Very) Short Introduction to Model-Driven Development (MDD)

A (Very) Short Introduction to Model-Driven Development (MDD) A (Very) Short Introduction to Model-Driven Development (MDD) (MDD ~ Model-Driven Engineering (MDE)) Introduction to MDD by Jan Pettersen Nytun, UiA, page 1, 4-Aug-11 Content Some background info What

More information

QoS-aware model-driven SOA using SoaML

QoS-aware model-driven SOA using SoaML QoS-aware model-driven SOA using SoaML Niels Schot A thesis submitted for the degree of MSc Computer Science University of Twente EEMCS - TRESE: Software Engineering Group Examination committee: Luís Ferreira

More information

SWE 760 Lecture 1: Introduction to Analysis & Design of Real-Time Embedded Systems

SWE 760 Lecture 1: Introduction to Analysis & Design of Real-Time Embedded Systems SWE 760 Lecture 1: Introduction to Analysis & Design of Real-Time Embedded Systems Hassan Gomaa References: H. Gomaa, Chapters 1, 2, 3 - Real-Time Software Design for Embedded Systems, Cambridge University

More information

Automated Configuration of Component-based Distributed Real-time and Embedded Systems from Feature Models

Automated Configuration of Component-based Distributed Real-time and Embedded Systems from Feature Models Automated Configuration of Component-based Distributed Real-time and Embedded Systems from Feature Models Jules White and Douglas C. Schmidt Vanderbilt University Department of Electrical Engineering and

More information

Resource-aware Deployment, Configuration and Adaptation for Fault-tolerance in Distributed Real-time Embedded Systems

Resource-aware Deployment, Configuration and Adaptation for Fault-tolerance in Distributed Real-time Embedded Systems Resource-aware Deployment, Configuration and Adaptation for Fault-tolerance in Distributed Real-time Embedded Systems Prof. Aniruddha Gokhale a.gokhale@vanderbilt.edu www.dre.vanderbilt.edu/~gokhale With

More information

NetQoPE: A Middleware-based Network QoS Provisioning Engine for Enterprise Distributed Real-time and Embedded Systems

NetQoPE: A Middleware-based Network QoS Provisioning Engine for Enterprise Distributed Real-time and Embedded Systems NetQoPE: A Middleware-based Network QoS Provisioning Engine for Enterprise Distributed Real-time and Embedded Systems Jaiganesh Balasubramanian, Sumant Tambe Shrirang Gadgil, Frederick Porter Nanbor Wang

More information

Capturing and Formalizing SAF Availability Management Framework Configuration Requirements

Capturing and Formalizing SAF Availability Management Framework Configuration Requirements Capturing and Formalizing SAF Availability Management Framework Configuration Requirements A. Gherbi, P. Salehi, F. Khendek and A. Hamou-Lhadj Electrical and Computer Engineering, Concordia University,

More information

NetQoPE: A Model-driven Network QoS Provisioning Engine for Distributed Real-time and Embedded Systems

NetQoPE: A Model-driven Network QoS Provisioning Engine for Distributed Real-time and Embedded Systems NetQoPE: A Model-driven Network QoS Provisioning Engine for Distributed Real-time and Embedded Systems Jaiganesh Balasubramanian, Sumant Tambe, Balakrishnan Dasarathy, Shrirang Gadgil, Frederick Porter,

More information

THE EFFECT OF JOIN SELECTIVITIES ON OPTIMAL NESTING ORDER

THE EFFECT OF JOIN SELECTIVITIES ON OPTIMAL NESTING ORDER THE EFFECT OF JOIN SELECTIVITIES ON OPTIMAL NESTING ORDER Akhil Kumar and Michael Stonebraker EECS Department University of California Berkeley, Ca., 94720 Abstract A heuristic query optimizer must choose

More information

Improving Domain-specific Language Reuse with Software Product-line Techniques

Improving Domain-specific Language Reuse with Software Product-line Techniques Improving Domain-specific Language Reuse with Software Product-line Techniques Jules White, James H. Hill, Sumant Tambe, Aniruddha Gokhale, and Douglas C. Schmidt Vanderbilt University Nashville, TN, USA

More information

QoS-enabled Component Middleware for Distributed Real-Time. and Embedded Systems

QoS-enabled Component Middleware for Distributed Real-Time. and Embedded Systems QoS-enabled Component Middleware for Distributed Real-Time and Embedded Systems Gan Deng and Douglas C. Schmidt Christopher D. Gill Nanbor Wang EECS Department CSE Department Tech-X Corp. Vanderbilt U.,

More information

An Integrated Model-driven Development Environment for Composing and Validating Distributed Real-time and Embedded Systems

An Integrated Model-driven Development Environment for Composing and Validating Distributed Real-time and Embedded Systems An Integrated Model-driven Development Environment for Composing and Validating Distributed Real-time and Embedded Systems Gabriele Trombetti 1, Aniruddha Gokhale 1, Douglas C. Schmidt 1 and John Hatcliff

More information

Application Servers in E-Commerce Applications

Application Servers in E-Commerce Applications Application Servers in E-Commerce Applications Péter Mileff 1, Károly Nehéz 2 1 PhD student, 2 PhD, Department of Information Engineering, University of Miskolc Abstract Nowadays there is a growing demand

More information

Developing Software Applications Using Middleware Infrastructure: Role Based and Coordination Component Framework Approach

Developing Software Applications Using Middleware Infrastructure: Role Based and Coordination Component Framework Approach Developing Software Applications Using Middleware Infrastructure: Role Based and Coordination Component Framework Approach Ninat Wanapan and Somnuk Keretho Department of Computer Engineering, Kasetsart

More information

Event Metamodel and Profile (EMP) Proposed RFP Updated Sept, 2007

Event Metamodel and Profile (EMP) Proposed RFP Updated Sept, 2007 Event Metamodel and Profile (EMP) Proposed RFP Updated Sept, 2007 Robert Covington, CTO 8425 woodfield crossing boulevard suite 345 indianapolis in 46240 317.252.2636 Motivation for this proposed RFP 1.

More information

Metaprogrammable Toolkit for Model-Integrated Computing

Metaprogrammable Toolkit for Model-Integrated Computing Metaprogrammable Toolkit for Model-Integrated Computing Akos Ledeczi, Miklos Maroti, Gabor Karsai and Greg Nordstrom Institute for Software Integrated Systems Vanderbilt University Abstract Model-Integrated

More information

OBJECT ADAPTER ORB CORE I/O SUBSYSTEM. struct RT_Info { wc_exec_time_; period_; importance_; dependencies_; }; 1: CONSTRUCT CALL 6: SUPPLY RUN-TIME

OBJECT ADAPTER ORB CORE I/O SUBSYSTEM. struct RT_Info { wc_exec_time_; period_; importance_; dependencies_; }; 1: CONSTRUCT CALL 6: SUPPLY RUN-TIME L. Levine David University, St. Louis Washington Simplify distribution automating by Object location activation and Parameter marshaling Demultiplexing Error handling Provide foundation higher-level for

More information

Component-based System Integration via (Meta)Model Composition

Component-based System Integration via (Meta)Model Composition Component-based System Integration via (Meta)Model Composition Krishnakumar Balasubramanian, Douglas C. Schmidt, Zoltán Molnár, Ákos Lédeczi Institute for Software Integrated Systems Vanderbilt University,

More information

Adding Formal Requirements Modeling to SysML

Adding Formal Requirements Modeling to SysML Adding Formal Requirements Modeling to SysML Mark R. Blackburn www.markblackburn.com Abstract. This paper seeks to raise awareness on the SCR extensions derived from industry use, and discusses how an

More information

Priya Narasimhan. Assistant Professor of ECE and CS Carnegie Mellon University Pittsburgh, PA

Priya Narasimhan. Assistant Professor of ECE and CS Carnegie Mellon University Pittsburgh, PA OMG Real-Time and Distributed Object Computing Workshop, July 2002, Arlington, VA Providing Real-Time and Fault Tolerance for CORBA Applications Priya Narasimhan Assistant Professor of ECE and CS Carnegie

More information

Validating Quality of Service for Reusable Software Via Model-Integrated Distributed Continuous Quality Assurance

Validating Quality of Service for Reusable Software Via Model-Integrated Distributed Continuous Quality Assurance Validating Quality of Service for Reusable Software Via Model-Integrated Distributed Continuous Quality Assurance Arvind S. Krishna 1, Douglas C. Schmidt 1, Atif Memon 2, Adam Porter 2, and Diego Sevilla

More information

Providing Real-Time and Fault Tolerance for CORBA Applications

Providing Real-Time and Fault Tolerance for CORBA Applications Providing Real-Time and Tolerance for CORBA Applications Priya Narasimhan Assistant Professor of ECE and CS University Pittsburgh, PA 15213-3890 Sponsored in part by the CMU-NASA High Dependability Computing

More information

Applying UML Modeling and MDA to Real-Time Software Development

Applying UML Modeling and MDA to Real-Time Software Development Michael Benkel Aonix GmbH www.aonix.de michael.benkel@aonix.de Applying UML Modeling and MDA to Real-Time Software Development The growing complexity of embedded real-time applications requires presentation

More information

Levels of Independence in Aspect-Oriented Modeling

Levels of Independence in Aspect-Oriented Modeling Levels of Independence in Aspect-Oriented Modeling Jeff Gray, Yuehua Lin, Jing Zhang University of Alabama at Birmingham Department of Computer and Information Sciences Birmingham, Alabama USA {gray, liny,

More information

A Demonstration-based Model Transformation Approach to Automate Model Scalability

A Demonstration-based Model Transformation Approach to Automate Model Scalability A Demonstration-based Model Transformation Approach to Automate Model Scalability 1 Yu Sun, 2 Jules White, 3 Jeff Gray 1 Department of Computer and Information Sciences, University of Alabama at Birmingham

More information

Middleware for Resource-Aware Deployment and Configuration of Fault-Tolerant Real-time Systems

Middleware for Resource-Aware Deployment and Configuration of Fault-Tolerant Real-time Systems Middleware for Resource-Aware Deployment and Configuration of Fault-Tolerant Real-time Systems Jaiganesh Balasubramanian, Aniruddha Gokhale, Abhishek Dubey, Friedhelm Wolf, Chenyang Lu, Christopher Gill,

More information

Automatic Code Generation for Non-Functional Aspects in the CORBALC Component Model

Automatic Code Generation for Non-Functional Aspects in the CORBALC Component Model Automatic Code Generation for Non-Functional Aspects in the CORBALC Component Model Diego Sevilla 1, José M. García 1, Antonio Gómez 2 1 Department of Computer Engineering 2 Department of Information and

More information

Formalizing the Specification of Model Integrated Program Synthesis Environments

Formalizing the Specification of Model Integrated Program Synthesis Environments Formalizing the Specification of Model Integrated Program Synthesis Environments Greg Nordstrom Institute for Software Integrated Systems Vanderbilt University 230 Appleton Place, Suite 201 Nashville,

More information

Designing Component-Based Architectures with Rational Rose RealTime

Designing Component-Based Architectures with Rational Rose RealTime Designing Component-Based Architectures with Rational Rose RealTime by Reedy Feggins Senior System Engineer Rational Software Rose RealTime is a comprehensive visual development environment that delivers

More information

Bizagi Process Management Suite as an Application of the Model Driven Architecture Approach for Developing Information Systems

Bizagi Process Management Suite as an Application of the Model Driven Architecture Approach for Developing Information Systems Bizagi Process Management Suite as an Application of the Model Driven Architecture Approach for Developing Information Systems Doi:10.5901/ajis.2014.v3n6p475 Abstract Oskeol Gjoni PHD Student at European

More information

Model Driven Architecture - The Vision

Model Driven Architecture - The Vision Model Driven Architecture - The Vision Marko Fabiunke Fraunhofer Institut für Rechnerarchitektur und Softwaretechnik marko.fabiunke@first.fraunhofer.de The Fraunhofer FIRST Institut Your partner We support

More information

Spemmet - A Tool for Modeling Software Processes with SPEM

Spemmet - A Tool for Modeling Software Processes with SPEM Spemmet - A Tool for Modeling Software Processes with SPEM Tuomas Mäkilä tuomas.makila@it.utu.fi Antero Järvi antero.jarvi@it.utu.fi Abstract: The software development process has many unique attributes

More information

Towards The Adoption of Modern Software Development Approach: Component Based Software Engineering

Towards The Adoption of Modern Software Development Approach: Component Based Software Engineering Indian Journal of Science and Technology, Vol 9(32), DOI: 10.17485/ijst/2016/v9i32/100187, August 2016 ISSN (Print) : 0974-6846 ISSN (Online) : 0974-5645 Towards The Adoption of Modern Software Development

More information

Real-time & Embedded Systems Workshop July 2007 Building Successful Real-time Distributed Systems in Java

Real-time & Embedded Systems Workshop July 2007 Building Successful Real-time Distributed Systems in Java Real-time & Embedded Systems Workshop July 2007 Building Successful Real-time Distributed Systems in Java Andrew Foster Product Manager PrismTech Corporation The Case for Java in Enterprise Real-Time Systems

More information

Investigation of System Timing Concerns in Embedded Systems: Tool-based Analysis of AADL Models

Investigation of System Timing Concerns in Embedded Systems: Tool-based Analysis of AADL Models Investigation of System Timing Concerns in Embedded Systems: Tool-based Analysis of AADL Models Peter Feiler Software Engineering Institute phf@sei.cmu.edu 412-268-7790 2004 by Carnegie Mellon University

More information

An MDE-based approach for reconfigurable DRE systems

An MDE-based approach for reconfigurable DRE systems 2012 IEEE 21st International WETICE An MDE-based approach for reconfigurable DRE systems Fatma Krichen 1,2, Amal Ghorbel 2, Brahim Hamid 1, and Bechir Zalila 2 1 IRIT, University of Toulouse, France Email:

More information

A Generative Approach to Model Interpreter Evolution

A Generative Approach to Model Interpreter Evolution A Generative Approach to Model Interpreter Evolution Jing Zhang, Jeff Gray, and Yuehua Lin Department of Computer and Information Sciences University of Alabama at Birmingham {zhangj, gray, liny} @ cis.uab.edu

More information

OCL Support in MOF Repositories

OCL Support in MOF Repositories OCL Support in MOF Repositories Joachim Hoessler, Michael Soden Department of Computer Science Technical University Berlin hoessler@cs.tu-berlin.de, soden@cs.tu-berlin.de Abstract From metamodels that

More information

Wireless Environments

Wireless Environments A Cyber Physical Systems Architecture for Timely and Reliable Information Dissemination in Mobile, Aniruddha Gokhale Vanderbilt University EECS Nashville, TN Wireless Environments Steven Drager, William

More information

CiCUTS: Combining System Execution Modeling Tools with Continuous Integration Environments

CiCUTS: Combining System Execution Modeling Tools with Continuous Integration Environments CiCUTS: Combining System Execution Modeling Tools with Continuous Integration Environments James H. Hill, Douglas C. Schmidt Vanderbilt University Nashville, TN, USA {j.hill, d.schmidt}@vanderbilt.edu

More information

Describing the architecture: Creating and Using Architectural Description Languages (ADLs): What are the attributes and R-forms?

Describing the architecture: Creating and Using Architectural Description Languages (ADLs): What are the attributes and R-forms? Describing the architecture: Creating and Using Architectural Description Languages (ADLs): What are the attributes and R-forms? CIS 8690 Enterprise Architectures Duane Truex, 2013 Cognitive Map of 8090

More information

Index. business modeling syntax 181 business process modeling 57 business rule 40

Index. business modeling syntax 181 business process modeling 57 business rule 40 OCL.book Page 203 Tuesday, July 22, 2003 9:48 PM Index Symbols OclAny, of 167 = OclAny, of 167 @pre 34, 86, 155 ^ 34, 156 ^^ 157 A abstract syntax 93 accumulator 153 action in statechart 56 activity

More information

AOSA - Betriebssystemkomponenten und der Aspektmoderatoransatz

AOSA - Betriebssystemkomponenten und der Aspektmoderatoransatz AOSA - Betriebssystemkomponenten und der Aspektmoderatoransatz Results obtained by researchers in the aspect-oriented programming are promoting the aim to export these ideas to whole software development

More information

Software Design Patterns. Background 1. Background 2. Jonathan I. Maletic, Ph.D.

Software Design Patterns. Background 1. Background 2. Jonathan I. Maletic, Ph.D. Software Design Patterns Jonathan I. Maletic, Ph.D. Department of Computer Science Kent State University J. Maletic 1 Background 1 Search for recurring successful designs emergent designs from practice

More information

SCOS-2000 Technical Note

SCOS-2000 Technical Note SCOS-2000 Technical Note MDA Study Prototyping Technical Note Document Reference: Document Status: Issue 1.0 Prepared By: Eugenio Zanatta MDA Study Prototyping Page: 2 Action Name Date Signature Prepared

More information

European Component Oriented Architecture (ECOA ) Collaboration Programme: Architecture Specification Part 2: Definitions

European Component Oriented Architecture (ECOA ) Collaboration Programme: Architecture Specification Part 2: Definitions European Component Oriented Architecture (ECOA ) Collaboration Programme: Part 2: Definitions BAE Ref No: IAWG-ECOA-TR-012 Dassault Ref No: DGT 144487-D Issue: 4 Prepared by BAE Systems (Operations) Limited

More information

A Model-Based Approach to System-Level Dependency and Real-Time Analysis of Embedded Software

A Model-Based Approach to System-Level Dependency and Real-Time Analysis of Embedded Software A Model-Based Approach to System-Level Dependency and Real-Time Analysis of Embedded Software Zonghua Gu, Sharath Kodase, Shige Wang and Kang G. Shin Real-Time Computing Laboratory Department of Electrical

More information