View
219
Download
2
Category
Tags:
Preview:
Citation preview
ISIS VU Team: Aniruddha S. Gokhale, Kitty Balasubramanian, Jai Balasubramanian, Gan Deng, George Edwards, Boris Kolpackov, Arvind Krishna, Tao Lu, Bala Natarajan, Jeff Parsons, Gabriele Trombetti, Emre Turkay
Institute for Software Integrated Systems (prime)Vanderbilt University, Nashville, Tennessee
DARPA/AFRL Contract # F33615-03-C-4112
Component Middleware & Generative Tools Component Middleware & Generative Tools for Distributed Real-time & Embedded for Distributed Real-time & Embedded
SystemsSystems
UAB Team: Jeff Gray, Jane Lin, Jing Zhang University of Alabama at Birmingham (subcontract)Birmingham, Alabama
PCES PI Meeting, June 29-30PCES PI Meeting, June 29-30thth, 2004, Chicago IL, 2004, Chicago IL
2
PCES
06/04
Gokhale
ISIS PCES2
• Model driven weaving of crosscutting concerns for middleware-based DRE systems
CIAO
CoSMICDAnCE
Domain
Access Resources
Assembler
Assembler
Planner
Domain Administrator
Specifies
CreatesComponent
ResourceRequirements
Impl Impl Impl
Properties
COMPONENT REPOSITORY
QoS Specs
Configurations
Dependencies
Developer
CreatesComponent Assembly
ComponentComponent
ComponentComponent
Creates Packager
Repository Administrator
Component Packages
Configures
Desktop Printer Laptop computer
Ethernet Bridge
Firewall
Creates
Executor
Deployment PlanUses
Deploys
Model Driven Middleware for DRE Systems
<CONFIGURATION_PASS><HOME> <…>
<COMPONENT><ID> <…></ID><EVENT_SUPPLIER><…events this component
supplies…></EVENT_SUPPLIER></COMPONENT>
</HOME></CONFIGURATION_PASS>
<CONFIGURATION_PASS><HOME> <…>
<COMPONENT><ID> <…></ID><EVENT_SUPPLIER><…events this component
supplies…></EVENT_SUPPLIER></COMPONENT></HOME>
</CONFIGURATION_PASS>
Benchmarking
Weaver
Synthesis
FunctionalModel
SystemicModel
Analysis
www.dre.vanderbilt.edu/cosmic & www.dre.vanderbilt.edu/CIAO
• CoSMIC - Modeling Deployment & Configuration (D&C) crosscutting concerns
• CIAO – QoS-enabled component middleware
• DAnCE – Deployment And Configuration Engine
Collaborators
LMCO, KSU, UAB, BBN, WashU, Boeing
• QoS-enabled middleware solutions
3
PCES
06/04
Gokhale
JUNE 2004
DELIVERABLES
4
PCES
06/04
Gokhale
Addressing D&C Crosscutting Concerns with DAnCE
• Different Stages
• Development
• Developer
• Assembler
• Packager
• Target
• Domain Administrator
• Deployment
• Repository Administrator
• Planner
• Executor
• Actors are abstract
• Usually human + software tool
Domain
AccessResources
Assembler
Assembler
Planner
DomainAdministrator
Specifies
CreatesComponent
ResourceRequirements
Impl Impl Impl
Properties
COMPONENT REPOSITORY
QoS Specs
Configurations
Dependencies
Developer
CreatesComponent Assembly
ComponentComponent
ComponentComponent
Creates Packager
RepositoryAdministrator
Component Packages
Configures
Desktop Printer Laptop computer
Ethernet Bridge
Firewall
Creates
Executor
Deployment PlanUses
Deploys
Development
Target Deployment
5
PCES
06/04
GokhalePICML: Capturing & Modeling D&C Crosscutting Concerns
QoSProperties
Checksum
Version Dependencies
List of FilesQoS Specs ComponentInterconnections
ImplementationDLL DLL
QoSProperties
Checksum
Version Dependencies
ImplementationDLL DLL
• 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
6
PCES
06/04
Gokhale
IDML: Capturing Interface Definition Aspects in PICML
• IDML = Interface Definition Modeling Language• Graphical modeling language.• Component middleware building blocks.• Integrated with PICML.• Export model to equivalent XML format.• Generate middleware-specific application code.
• IDL generator finished
• Planned generators for EJB & ICE
IDL
XML
EJB
Create Model
Export
Generate
Modify Model
SLICE
IDL Generator
• IDL Importer translates IDL into IDML’s XML format.• Import XML into graphical modeling tool.
• Translate to other middleware platform.
• Develop model further• Regenerate IDL.
• Generate application code for a different middleware platform.
IDL
XML Import
Modify Model
IDL Importer
IDL EJB SLICE
7
PCES
06/04
Gokhale
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
8
PCES
06/04
Gokhale
1. EQAL is used to model a federated event service with three sites
2. The ECL strategy specifications 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
Using C-SAW for Aspect Weaving within EQAL Models
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 Model with 3 sites
EQAL Model with 8 sites
Weaver
9
PCES
06/04
GokhaleOCML & BGML: Addressing Configuration & Customization Crosscutting Concerns
• Options Configuration Modeling Language (OCML)
• Addressed ORB-level configuration aspects
• OCML provides constraints on valid combinations of ORB parameters.
• Synthesizes descriptors encoding the rules
• Application developers model a set of ORB configuration parameters
• Application developers validate their ORB configurations against these rules
• BGML/CCMPerf is a model integrated test & benchmarking suite
• Models application use-case scenarios to synthesize desired performance aspects of DRE applications
10
PCES
06/04
Gokhale
Model Checking & Analysis in CoSMIC• Context
•DRE system CoSMIC models must be analyzed for functional correctness & QoS properties
•CoSMIC provides limited constraint-checking but no model checking & analysis
• Problem•Selecting the right analysis tool•Choosing the right tool data interchange & interoperability communication model
•Preserving semantics of data during transforms
•Lossless communication of data & its semantics
• Solution
•KSU’s Cadena model checker for analysis & model refinement
•Leverage DARPA MoBIES technology, e.g., Unified Data Model (UDM), Open Tool Interchange Format (OTIF), & Graph Transformation Tool (GReAT)
•Two way export & import of models and properties between CoSMIC & Cadena
•Lossless data communication via exporting only supported features and/or decorating models with extra information
11
PCES
06/04
Gokhale
JUNE 2004
EXPERIMENTS & METRICS
12
PCES
06/04
Gokhale
Model-based Pub/Sub in CIAO for BBN UAV Satellite provides intelligence message
– Combined Air Operations Center (CAOC) alerts UAV Ground Station (UAVGS), which instructs a UAV to provide imagery.
– CAOC alerts Engagement System, which instructs Battle System to engage itself.
Implemented in CIAO using RT Event Service– 6 component types, 7 distributed hosts– Latency benchmarks developed in
distributed environment.
13
PCES
06/04
Gokhale
Model-based Configuration & Benchmarking
Associate QoS metrics to measure in the scenario
Model test configuration using OCML
Model Component interactions
•For combination of options select configuration maximizing QoS•For pure clients the following settings represents a reusable C&C pattern:
{(ORBProfile = null), (ORBClientConnectionHandler = RW), (ORBTransportMuxStrategy = Exclusive), (ORBConnectStrategy = Reactive)}
14
PCES
06/04
Gokhale
JUNE 2004
DEMO
15
PCES
06/04
Gokhale
Demos & Collaborations for 06/04 PI Meeting• Capstone Demo Prototype
•Showcase earlier capabilities of CoSMIC & CIAO on BBN UAV OEP
• Collaboration Demo
•Participants – LMCO (Eagan, Dallas), Kansas State U, Vanderbilt ISIS PCES-2 team
•Showcase end-to-end tool-chain with CoSMIC, Cadena & Kennedy Carter tools for a representative DRE application
• Tool Demos
•Showcase individual tools & capabilities of CoSMIC, DAnCE & CIAO
•Allow users to have hands-on experience
HumanMachineInterface
ManagementWork
Instructions
WatchSetting
Manager
RobotManager
PalletConveyorManager
Control Station GUI
Management GUI
Host 1 Host 2
16
PCES
06/04
Gokhale
DECEMBER 2004
PLANNED DELIVERABLES
17
PCES
06/04
Gokhale
XML Schema Compiler (XSC)Context
Increasing use of XML vocabularies as a data exchange format:– DnC– ARMS– Modelling tools
Problem
Standard APIs (SAX, DOM) are vocabulary-independent and thus dynamic and typeless.
Results in a hard to implement/use/maintain in-memory representations.
Solution
XML Schema Compiler, based on vocabulary specification, will automatically generate– statically-typed in-memory representation, parser,
and traversal mechanism for C++ or – CORBA IDL.
XML Schema
IDL
C++
XML Schema Compiler
18
PCES
06/04
Gokhale
Planned Enhancements to DAnCE
• Extend DAnCE to provide static linking capabilities for use with Prism
• Extend XML Schema for Real-time properties & use XSC
• Deployment planning
• Further integration with Cadena, OTIF, & GReAT
• Showcase in Dec 04 Capstone demo
19
PCES
06/04
Gokhale
Towards Platform Independence via MOF-Compliant Modeling
• Use MOF to IDL mapping to generate IDL interfaces.
• Inheriting from the MOF abstract IDL interfaces.
• Used to implement a repository for models.
• Through repository, models are accessible to other MOF-compliant tools.
• For generation
• For further development
• For reuse in other projects
• For analysis &simulation
MOF Modeling EnvironmentModel Repository
MOF Abstract Mapping (IDL)
MOF2IDLRepository IDL
inherits
implement
MOF-Compliant Tool MOF-Compliant Tool
20
PCES
06/04
Gokhale
Planned Enhancements to C-SAW: Verification of Model Transformations
Problem1. Assumption is that model transformations are correctly written and the result captures the intent
of the desired transformation2. Difficult, if not impossible, to manually verify the correctness of a transformation that modifies
multiple locations along several dimensions; compromises integrity of end-to-end modeling process
Future Activity:1. Research and development of an
automated testing framework for model transformations; permit unit and regression testing in presence of changes to models/xforms
2. An Executor takes the source model and a series of transformation specifications to produce an intermediate output model
3. A Comparator analyzes the differences between the Output model and the Expected model (i.e., what the transformation is expected to produce)
4. A test report documents any differences between the Output and Expected models
21
PCES
06/04
Gokhale
Technology Transition/Transfer (1/4)
• US Navy, DD(X), & DARPA IXO ARMS programs
• US Army in collaboration with LMCO (Eagan & Dallas) & KSU on HIMARS/MLRS
• Joint forces with JTRS SCA in collaboration with BAE Systems
CIAO QoS-enabled component middleware & CoSMIC deployment & configuration tools are being transitioned to the following DoD programs
Other recent interesting ACE+TAO transitions include
• USS Ronald Reagan aircraft carrier advanced tactical displays system
• NASA free flight experiments
22
PCES
06/04
Gokhale
• ACE 5.4.2, TAO 1.4.2 (July 2004)
Technology Transition/Transfer (2/4)
http://www.dre.vanderbilt.edu/CIAOhttp://www.dre.vanderbilt.edu/cosmic
• Beta and Stable release can be accessed from http://www.dre.vanderbilt.edu/Download.html
http://www.gray-area.org/Research/C-SAW/Contains papers, downloads, video demos
• CIAO 0.4.2 release (July 2004) & CoSMIC models (July 2004)
C-SAW Aspect Model Weaver
ACE+TAO+CIAO & CoSMIC Software Releases
23
PCES
06/04
Gokhale
Technology Transition/Transfer (3/4)
• Publications since Dec 03 PI meeting:• Elsevier Journal of Computer Science & Programming, Special issue on
Model Driven Architecture (To be published)
• ACM Queue Magazine July 2004
• Generative Programming & Component Engineering (GPCE 2004), October 2004 (3 papers)
• Enterprise Distributed Object Computing (EDOC) October 2004
• IEEE Real-time Applications Symposium (RTAS), May 2004
• ACM Southeast Conference, Apr 2004 (7 papers)
• Several OMG RTWS workshop papers, July 2004
• Remote Analysis & Monitoring of Software Systems (RAMSS) workshop at ICSE (May 2004)
• IEEE Transactions on Control Systems, March 2004
• Aspect-Oriented Software Development (AOSD 2004), March 2004
• Book Chapter in Addison-Wesley AOSD book, Fall 2004
24
PCES
06/04
Gokhale
Technology Transition/Transfer (4/4)
• Workshop/Conference chair/organizing and/or program committee• Program Chair 4th TAO workshop, July 2004
• Program Committee RTAS 04, Middleware 04, EDOC 04, RTSS 04, HICSS 04
• Guest Editor, Elsevier Journal of Visual Languages and Computing, June 2004
• Program Chair HICSS, Adaptive-Evolvable Software Systems, January 2004
• Tutorials Chair for GPCE 04
• Program Committees ACMSE 04, ACP4IS-AOSD 04, SAC 04, ECBS 04, RTAS-MODES 04, UML 04
• Panelist at the workshop on Aspects, Components, and Patterns for Infrastructure Software (ACP4IS) at AOSD, March 2004
25
PCES
06/04
Gokhale
Backup
Recommended