1 / 9

Aniruddha Gokhale and Jeff Gray Institute for Software Integrated Systems (ISIS)

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

chesmu
Download Presentation

Aniruddha Gokhale and Jeff Gray Institute for Software Integrated Systems (ISIS)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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

  2. 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

  3. 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

  4. 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

  5. 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

  6. 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

  7. 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…

  8. 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

More Related