aniruddha gokhale and jeff gray institute for software integrated systems (isis) vanderbilt...
TRANSCRIPT
Aniruddha Gokhale and Jeff Gray
Institute for Software Integrated Systems (ISIS)Vanderbilt University
Software Composition and Modeling LaboratoryUniversity of Alabama at Birmingham
Supported by the DARPA PCES programDARPA/AFRL Contract # F33615-03-C-4112
An Integrated Aspect-oriented Model-drivenDevelopment Toolsuite for Distributed
Real-time and Embedded Systems
AOSD Aspect-Oriented Modeling Workshop
Chicago, ILMarch 14, 2005
2
Challenge 1: Tangled Deployment and Configuration Concerns
QoSProperties
Checksum
Version Dependencies
List of FilesQoS Specs ComponentInterconnections
ImplementationDLL DLL
QoSProperties
Checksum
Version Dependencies
ImplementationDLL DLL
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 environmentsComponent Assembly
QoS Adaptation
QoSMechanism
Plug-ins
QoS Policies
Component Connection Specifications
Component & Home Impls
Component ServerContainer
Component
ComponentHome
QoS Mediator
QoS Property Adaptor
QoS Policies
QoS Adaptation
QoSMechanism
Plug-insQoS-enabled
Middleware Bus
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
Solution 1: Separation of Concerns via Model Driven DevelopmentSpecification & 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
Specification
Distributed Systems
Lifecycle Stages
Preparation
Planning
Configuration
Installation
Packaging
QoS Assurance
Launching
Separation of Configuration Concerns
RUN TIME OPTIONS
1: Container properties2: Rejection thresholds
3: Priority propagation4: Load balancing strategies
6: Scheduling policies7: fail-over time
DEPLOYMENT-TIME OPTIONS
1: Component-Node mapping2: Component attributes
3: ORB properties4: Thread Priorities & rates
6: Protocol properties7: Queue sizes
COMPILE-TIME OPTIONS
1: Interceptor support2: Real-time support
3: Type of stub, skeleton4: Debugging information
6: Exception support7: OS system calls8: Static/dynamic linkingM
idd
lew
are
La
ye
rs
Lifecycle Stages
Performance (Latencies)
Predictability
Portability
Separation of Deployment Concerns
Meta-data
Component
List of Files
QoS SpecsComponent
Interconnections
Assembly
DeploymentApplication
Assembly
AssemblyImplementationDLL DLL
Meta-data
QoS Properties
Checksum
Version Dependencies
Deployer
Nee
d f
or
auto
mat
ed
sep
arat
ion
of
con
cern
s
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 o
f Ab
straction
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
Multiple Levels
of HierarchyReplicatedStructures
ContextSensitive
Challenge 2 : Crosscutting Constraints in Real-Time/Embedded Models
Key Challenge: Crosscutting Models
A
B
c d eB
c d e
F
B
c d e
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
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
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
1 2
3
ECL Specificationsaspect 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
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