100 likes | 218 Views
An Integrated Aspect-oriented Model-driven Development Toolsuite for Distributed Real-time and Embedded Systems. Aniruddha Gokhale and Jeff Gray Institute for Software Integrated Systems (ISIS) Vanderbilt University Software Composition and Modeling Laboratory
E N D
An Integrated Aspect-oriented Model-drivenDevelopment Toolsuite for Distributed Real-time and Embedded Systems • Aniruddha Gokhale and Jeff Gray • Institute for Software Integrated Systems (ISIS) • Vanderbilt University • Software Composition and Modeling Laboratory • University of Alabama at Birmingham AOSD Aspect-Oriented Modeling Workshop Chicago, IL March 14, 2005 Supported by the DARPA PCES programDARPA/AFRL Contract # F33615-03-C-4112
Avionics DoD Scenario Challenge 1: Tangled Deployment and Configuration Concerns • Key challenges in the solution space • Enormous accidental & inherent complexities in deployment & configuration • Continuous evolution & change • Highly heterogeneous platform, language, & tool environments Focus: Middleware Configuration and DRE Systems Component Deployment • Key challenges in the problem space • Network-centric, dynamic, very large-scale “systems of systems” • Stringent simultaneous quality of service (QoS) demands • Highly diverse & complex problem domains Tangled Configuration Concerns Tangled Deployment Concerns Deployment & configuration concerns of QoS-sensitive distributed systems today are often tangled across (1) several layers of middleware, OS, & networks, and (2) different software lifecycle stages, thereby adversely affecting development & maintenance costs
Solution 1: Separation of Concerns via Model Driven Development Separation of Deployment Concerns • Specification & Implementation • Specifying application functionality & QoS, partitioning, & implementation as standalone components • Packaging • Bundling a suite of software binary modules & metadata representing application components • Installation • Populating a repository with packages required by application • Configuration • Configuring the packages with the appropriate parameters to satisfy the functional & systemic requirements of application without constraining to any physical resources • Planning • Making appropriate deployment decisions including identifying the entities, such as CPUs, of the target environment where the packages will be deployed • Preparation • Moving the binaries to the identified entities of the target environment • Launching • Triggering the installed binaries & bringing the application to a ready state • Adaptation • Run-time reconfiguration & resource management to maintain end-to-end QoS Separation of Configuration Concerns Need for automated separation of concerns
Saturation!!!! Component Platforms C++/Java CoSMIC: Generative Model Driven Development Toolsuite Programming Languages & Middleware Platforms Model-driven Software Development • Visual Modeling • Collection of domain-specific modeling languages (DSMLs) to address D&C concerns • Based on OMG D&C spec Level of Abstraction • Domain-specific modeling languages • ESML • PICML • Metamodels • Domain-independent modeling languages • State Charts • Interaction Diagrams • Activity Diagrams C/Fortran Assembly • Correct-by-construction • Strong typing & constraint-checking Machine code • Enhances OMG MDA Vision • MDD enhances OMG Model Driven Architecture (MDA) approach via DSMLs to support QoS-sensitive distributed systems • Addressing crosscutting D&C concerns • CoSMIC DSMLs enable untangling D&C concerns • Metamodeling • Uses Generic Modeling Environment (GME) metamodeling capabilities • Alleviates Accidental Complexities • Generative tools to address low-level platform-specific details www.dre.vanderbilt.edu/cosmic
Multiple Levels of Hierarchy Replicated Structures Context Sensitive Challenge 2 : Crosscutting Constraints in Real-Time/Embedded Models A B F Key Challenge: Crosscutting Models • Base models become constrained to capture a particular design • Concerns that are related to some global property are dispersed across the model c d e B B c d e c d e Crosscutting Constraints Changeability??? Solution: Constraint-Specification Aspect Weaver • Model transformations in an aspect-oriented style to capture crosscutting concerns
Challenge 3: Scaling up to Large DRE Systems Context • Rich and complex interactions among modeling elements • Need to scale to large systems • Repetitive modeling tasks Problems • Changing requirements have cascading effect across multiple locations in a model • The time to make such changes becomes infeasible to do manually; error prone nature of manual change can lead to incorrect models • Example: Scaling a model from 3 UAVs to 30 UAVs involves a combinatorial amount of changes that becomes nearly impossible to model by hand; similar for large federations of event channels
EQAL/CoSMIC Model with 3 sites ECL Specifications aspect Start( ) { scaleUpSites(1, 8, 4); } strategy scaleUpSites(site_id, max, idx: integer) { iterateSite_r(idx-1, 1, max, idx); addSite_r(site_id, max, idx); addCon_r1(site_id, max, 1, 1, idx); } strategy iterateSite_r(oldmax, oldidx, max, idx : integer) { declare id_str :string; if (oldidx <=oldmax) then id_str := intToString(oldidx); rootFolder().findModel("NewGateway_Federation"). findModel("Site " + id_str).addGateWay_r(max, idx); iterateSite_r(oldmax, oldidx+1, max, idx); endif; } Weaver EQAL Model with 8 sites Solution 3: Aspect Model Weaving via CoSMIC+C-SAW • CoSMIC is used to model a federated event service with three sites • The ECL strategy specifications in C-SAW are used to scale up any site as well as the corresponding connections in the EQAL model. Three steps are included: • Add extra CORBA_Gateways to the existing sites • Repeatedly replicate the site as an instance • Create connections between all of the sites • C-SAW takes the original EQAL model and the ECL specifications, and then generates the new scaled-up EQAL model with additional sites: • Model weaving to explore design alternatives more rapidly • Design decisions crosscut model hierarchy • Removes manual error resulting from tedious/repetitious changes 1 2 3 ECL strategies shown in paper…
Project Web Pages CoSMIC Modeling Languages and Tools http://www.dre.vanderbilt.edu/cosmic C-SAW Aspect Model Weaver http://www.gray-area.org/Research/C-SAW/Contains papers, downloads, video demos