Presentation is loading. Please wait.

Presentation is loading. Please wait.

Aniruddha Gokhale and Jeff Gray Institute for Software Integrated Systems (ISIS) Vanderbilt University Software Composition and Modeling Laboratory University.

Similar presentations


Presentation on theme: "Aniruddha Gokhale and Jeff Gray Institute for Software Integrated Systems (ISIS) Vanderbilt University Software Composition and Modeling Laboratory University."— Presentation transcript:

1 Aniruddha Gokhale and Jeff Gray Institute for Software Integrated Systems (ISIS) Vanderbilt University Software Composition and Modeling Laboratory University of Alabama at Birmingham Supported by the DARPA PCES program DARPA/AFRL Contract # F33615-03-C-4112 An Integrated Aspect-oriented Model-driven Development Toolsuite for Distributed Real-time and Embedded Systems AOSD Aspect-Oriented Modeling Workshop Chicago, IL March 14, 2005

2 2 Challenge 1: Tangled Deployment and Configuration Concerns 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 Key challenges in the solution space Enormous accidental & inherent complexities in deployment & configuration Continuous evolution & change Highly heterogeneous platform, language, & tool environments 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 Tangled Deployment Concerns Tangled Configuration Concerns Avionics DoD Scenario Focus: Middleware Configuration and DRE Systems Component Deployment

3 3 Solution 1: Separation of Concerns via Model Driven Development  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 Separation of Deployment Concerns Need for automated separation of concerns

4 4 CoSMIC: Generative Model Driven Development Toolsuite Visual Modeling Collection of domain-specific modeling languages (DSMLs) to address D&C concerns Based on OMG D&C spec Correct-by- construction Strong typing & constraint- checking Addressing crosscutting D&C concerns CoSMIC DSMLs enable untangling D&C concerns Alleviates Accidental Complexities Generative tools to address low- level platform-specific details Enhances OMG MDA Vision MDD enhances OMG Model Driven Architecture (MDA) approach via DSMLs to support QoS- sensitive distributed systems www.dre.vanderbilt.edu/cosmic Metamodeling Uses Generic Modeling Environment (GME) metamodeling capabilities Level of Abstraction Machine code Assembly C/Fortran Programming Languages & Middleware Platforms C++/Java Platforms Component Saturation!!! ! Domain-independent modeling languages State Charts Interaction Diagrams Activity Diagrams Domain-specific modeling languages ESML PICML Metamodels Model-driven Software Development

5 5 Multiple Levels of Hierarchy Replicated Structures Context Sensitive Challenge 2 : Crosscutting Constraints in Real-Time/Embedded Models Key Challenge: Crosscutting Models A B cde B cde F B cde Changeability??? Crosscutting Constraints – Base models become constrained to capture a particular design – Concerns that are related to some global property are dispersed across the model Solution: Constraint-Specification Aspect Weaver – Model transformations in an aspect-oriented style to capture crosscutting concerns

6 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 7 1.CoSMIC is used to model a federated event service with three sites 2.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 3.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 Solution 3: Aspect Model Weaving via CoSMIC+C-SAW 12 3 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; } 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; } EQAL/CoSMIC Model with 3 sites EQAL Model with 8 sites Weaver ECL strategies shown in paper…

8 8 Project Web Pages http://www.dre.vanderbilt.edu/cosmic http://www.gray-area.org/Research/C-SAW/ Contains papers, downloads, video demos C-SAW Aspect Model Weaver CoSMIC Modeling Languages and Tools

9 9

10 10 New Demands on Distributed Real-time & Embedded (DRE) Systems Standalone real-time & embedded systems Stringent quality of service (QoS) demands e.g., latency, jitter, footprint Resource constrained Standalone real-time & embedded systems Stringent quality of service (QoS) demands e.g., latency, jitter, footprint Resource constrained The Past Military/Civilian distributed real-time & embedded (DRE) systems Network-centric & larger-scale “systems of systems” Stringent simultaneous QoS demands e.g., dependability, security, scalability, thruput Dynamic context Military/Civilian distributed real-time & embedded (DRE) systems Network-centric & larger-scale “systems of systems” Stringent simultaneous QoS demands e.g., dependability, security, scalability, thruput Dynamic context The Future

11 11 PICML: Capturing & Modeling D&C Crosscutting Concerns Context Configuring & Deploying component- based applications using XML meta-data Problem Meta-data split across multiple XML descriptors Inter-dependencies between descriptors XML is error-prone to read/write manually No guarantees about semantic validity (only syntactic validation possible) If meta-data is wrong, what about my application? Solution PICML = Platform Independent Component Modeling Language Modeling paradigm developed using Generic Modeling Environment (GME) Capture dependencies visually Define semantic constraints using Object Constraint Language (OCL) Generate domain specific meta-data from models Correct-by-construction

12 12 EQAL: Capturing Event QoS Aspects in PICML Context Publisher/subscriber services are highly configurable XML-based specification of QoS properties Problems Multiple dissimilar services Semantically invalid operating policies Error-prone handwritten XML Solution Use models to enforce policy constraints & synthesize configuration files EQAL = Event QoS Aspect Language EQAL is part of PICML within the CoSMIC suite Built in the Generic Modeling Environment (GME) Addresses publisher/subscriber service configuration and deployment challenges Models specify service configurations and deployments Aspects decouple D&C concerns Constraints ensure semantic validity Interpreters generate descriptor files


Download ppt "Aniruddha Gokhale and Jeff Gray Institute for Software Integrated Systems (ISIS) Vanderbilt University Software Composition and Modeling Laboratory University."

Similar presentations


Ads by Google