250 likes | 401 Views
Component Middleware & Generative Tools for Distributed Real-time & Embedded Systems.
E N D
Component Middleware & Generative Tools for Distributed Real-time & Embedded Systems • 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 • UAB Team: Jeff Gray,Jane Lin, Jing Zhang • University of Alabama at Birmingham (subcontract) • Birmingham, Alabama PCES PI Meeting, June 29-30th, 2004, Chicago IL DARPA/AFRL Contract # F33615-03-C-4112
ISIS PCES2 • Model driven weaving of crosscutting concerns for middleware-based DRE systems Model Driven Middleware for DRE Systems CIAO CoSMIC DAnCE • QoS-enabled middleware solutions • CoSMIC - Modeling Deployment & Configuration (D&C) crosscutting concerns • CIAO – QoS-enabled component middleware Collaborators LMCO, KSU, UAB, BBN, WashU, Boeing • DAnCE – Deployment And Configuration Engine www.dre.vanderbilt.edu/cosmic & www.dre.vanderbilt.edu/CIAO
JUNE 2004 DELIVERABLES
Addressing D&C Crosscutting Concerns with DAnCE Development • Different Stages • Development • Developer • Assembler • Packager • Target • Domain Administrator • Deployment • Repository Administrator • Planner • Executor • Actors are abstract • Usually human + software tool Deployment Target
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
Create Model Modify Model XML Export IDL Generator Generate SLICE IDL EJB IDL IDL Importer XML Import Modify Model SLICE IDL EJB 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 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.
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
EQAL 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 Using C-SAW for Aspect Weaving within EQAL Models • EQAL is used to model a federated event service with three sites • 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 • 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
OCML & 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
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
JUNE 2004 EXPERIMENTS & METRICS
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.
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)} Model-based Configuration & Benchmarking
JUNE 2004 DEMO
Host 1 Host 2 Management Work Instructions Management GUI Pallet Conveyor Manager Watch Setting Manager Human Machine Interface Control Station GUI Robot Manager 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
DECEMBER 2004 PLANNED DELIVERABLES
XML Schema Compiler (XSC) XML Schema 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 Compiler IDL C++
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
MOF Abstract Mapping (IDL) inherits Repository IDL MOF2IDL implement Model Repository MOF Modeling Environment MOF-Compliant Tool MOF-Compliant Tool 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
Planned Enhancements to C-SAW: Verification of Model Transformations • Problem • Assumption is that model transformations are correctly written and the result captures the intent of the desired transformation • 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: • Research and development of an automated testing framework for model transformations; permit unit and regression testing in presence of changes to models/xforms • An Executor takes the source model and a series of transformation specifications to produce an intermediate output model • A Comparator analyzes the differences between the Output model and the Expected model (i.e., what the transformation is expected to produce) • A test report documents any differences between the Output and Expected models
Technology Transition/Transfer (1/4) CIAO QoS-enabled component middleware & CoSMIC deployment & configuration tools are being transitioned to the following DoD programs • 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 Other recent interesting ACE+TAO transitions include • USS Ronald Reagan aircraft carrier advanced tactical displays system • NASA free flight experiments
Technology Transition/Transfer (2/4) ACE+TAO+CIAO & CoSMIC Software Releases • ACE 5.4.2, TAO 1.4.2 (July 2004) • Beta and Stable release can be accessed from http://www.dre.vanderbilt.edu/Download.html • CIAO 0.4.2 release (July 2004) & CoSMIC models (July 2004) http://www.dre.vanderbilt.edu/CIAO http://www.dre.vanderbilt.edu/cosmic C-SAW Aspect Model Weaver http://www.gray-area.org/Research/C-SAW/Contains papers, downloads, video demos
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
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