December 16th, 2002 Composable Distributed Real-time Systems Krishnakumar B Department Of Computer Science Washington University, St.Louis,

Slides:



Advertisements
Similar presentations
Object-Oriented Application Frameworks Much of the cost and effort stems from the continuous re- discovery and re-invention of core concepts and components.
Advertisements

Michael Pizzo Software Architect Data Programmability Microsoft Corporation.
Software Frame Simulator (SFS) Technion CS Computer Communications Lab (236340) in cooperation with ECI telecom Uri Ferri & Ynon Cohen January 2007.
Seminarium on Component-based Software Engineering Jan Willem Klinkenberg CORBA.
Component Models and Technology Component-based Software Engineering
Persistent State Service 1 CORBA Component  Component model  Container programming model  Component implementation framework  Component packaging and.
1 12/10/03CCM Workshop QoS Engineering and Qoskets George Heineman Praveen Sharma Joe Loyall Richard Schantz BBN Technologies Distributed Systems Department.
1 Quality Objects: Advanced Middleware for Wide Area Distributed Applications Rick Schantz Quality Objects: Advanced Middleware for Large Scale Wide Area.
Tutorial on the Lightweight CORBA Component Model (CCM) Industrializing the Development of Distributed Real- time & Embedded Applications Other contributors.
1 Workflow Description for Open Hypermedia Systems Sanjay Vivek, David C. De Roure Department of Electronics and Computer Science.
Software Engineering Module 1 -Components Teaching unit 3 – Advanced development Ernesto Damiani Free University of Bozen - Bolzano Lesson 2 – Components.
OpenCCM: The Open CORBA Components Platform OSMOSE WP3 CCM Meeting 14th November 2003, LIFL, Lille, France Philippe Merle Jacquard Project.
Understanding and Managing WebSphere V5
Zoltán Mann: Tracing CORBA applications 1/22 Tracing CORBA applications using interceptors Zoltán Mann Supervisor: Dr. Károly Kondorosi Budapest University.
QoS-enabled middleware by Saltanat Mashirova. Distributed applications Distributed applications have distinctly different characteristics than conventional.
CVSQL 2 The Design. System Overview System Components CVSQL Server –Three network interfaces –Modular data source provider framework –Decoupled SQL parsing.
CoSMIC: An MDA Tool Suite for Application Deployment and Configuration Tao Lu, Emre Turkay Aniruddha Gokhale, Douglas Schmidt
Introduction to the Enterprise Library. Sounds familiar? Writing a component to encapsulate data access Building a component that allows you to log errors.
Architecture Of ASP.NET. What is ASP?  Server-side scripting technology.  Files containing HTML and scripting code.  Access via HTTP requests.  Scripting.
Zhonghua Qu and Ovidiu Daescu December 24, 2009 University of Texas at Dallas.
Introducing Axis2 Eran Chinthaka. Agenda  Introduction and Motivation  The “big picture”  Key Features of Axis2 High Performance XML Processing Model.
Institute of Computer and Communication Network Engineering OFC/NFOEC, 6-10 March 2011, Los Angeles, CA Lessons Learned From Implementing a Path Computation.
26 Sep 2003 Transparent Adaptive Resource Management for Distributed Systems Department of Electrical Engineering and Computer Science Vanderbilt University,
August 20, 2002 RTCCM Meeting Agenda & Overview of RTCCM Nanbor Wang Department of Computer Science Washington University in St. Louis
COM vs. CORBA Computer Science at Azusa Pacific University September 19, 2015 Azusa Pacific University, Azusa, CA 91702, Tel: (800) Department.
An Introduction to Software Architecture
Using JavaBeans and Custom Tags in JSP Lesson 3B / Slide 1 of 37 J2EE Web Components Pre-assessment Questions 1.The _____________ attribute of a JSP page.
1 Tools for Commercial Component Assembly Francis Bordeleau, Zeligsoft/Carleton University Mark Vigder, National Research Council Canada.
Christopher Gill and Nanbor Wang Department of Computer Science and Engineering Washington University, St. Louis Monday May.
OpenCCM: The Open CORBA Components Platform 3rd ObjectWeb Conference 20th November 2003, INRIA Rocquencourt, France Philippe Merle INRIA.
The Grid Component Model: an Overview “Proposal for a Grid Component Model” DPM02 “Basic Features of the Grid Component Model (assessed)” -- DPM04 CoreGrid.
The Grid Component Model and its Implementation in ProActive CoreGrid Network of Excellence, Institute on Programming Models D.PM02 “Proposal for a Grid.
October 8, 2015 Research Sponsored by NASA Applying Reflective Middleware Techniques to Optimize a QoS-enabled CORBA Component Model Implementation Nanbor.
.NET Framework Danish Sami UG Lead.NetFoundry
RepoMan A Component Repository Manager for Enterprise DRE Systems Stoyan Paunov & Douglas C. Schmidt Vanderbilt University Institute for Software Integrated.
WEB BASED DATA TRANSFORMATION USING XML, JAVA Group members: Darius Balarashti & Matt Smith.
HPEC’02 Workshop September 24-26, 2002, MIT Lincoln Labs Applying Model-Integrated Computing & DRE Middleware to High- Performance Embedded Computing Applications.
1 Advanced Software Architecture Muhammad Bilal Bashir PhD Scholar (Computer Science) Mohammad Ali Jinnah University.
1 Geospatial and Business Intelligence Jean-Sébastien Turcotte Executive VP San Francisco - April 2007 Streamlining web mapping applications.
OpenCCM MdC Philippe Merle LIFL - INRIA (soon)
Modeling Component-based Software Systems with UML 2.0 George T. Edwards Jaiganesh Balasubramanian Arvind S. Krishna Vanderbilt University Nashville, TN.
CoSMIC: Tool-suite for Weaving Deployment & Configuration Crosscutting Concerns of CCM-based DRE Systems Dr. Aniruddha Gokhale (PI) Institute for Software.
07/09/04 Johan Muskens ( TU/e Computer Science, System Architecture and Networking.
ProActive components and legacy code Matthieu MOREL.
1 Registry Services Overview J. Steven Hughes (Deputy Chair) Principal Computer Scientist NASA/JPL 17 December 2015.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
A Quick CCM Example. Tutorial on CCM Introduction A Simple Sender&Receiver Scenario Sender sends out the click-out event to inform the Receiver. Receiver.
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
OpenCCM: Status and Work plan Dr. Philippe Merle LIFL - INRIA ObjectWeb Architecture Meeting, Grenoble, 21 – 22.
Interceptor CS562 Spring 2002 Jan Anand Krishnan Morgan Deters Venkita Subramonian.
E81 CSE 532S: Advanced Multi-Paradigm Software Development Venkita Subramonian, Christopher Gill, Ying Huang, Marc Sentany Department of Computer Science.
August 20, 2002 Applying RT-Policies in CORBA Component Model Nanbor Wang Department of Computer Science Washington University in St. Louis
XML Tools (Chapter 4 of XML Book). What tools are needed for a complete XML application? n Fundamental components n Web infrasructure n XML development.
OOPSLA 2000 Workshop “The Jini™ Pattern Language” © Michael Kircher, Prashant Jain, and Kirthika Parameswaran, 2000 CORBA Based Jini™ - JinACE Michael.
Model-Driven Optimizations of Component Systems Vanderbilt University Nashville, Tennessee Institute for Software Integrated Systems OMG Real-time Workshop.
A Vision for Integration of Embedded System Properties Via a Model-Component-Aspect System Architecture Christopher D. Gill Department.
CoSMIC: An MDA Tool Suite for Distributed Real-time and Embedded Systems Aniruddha Gokhale, Tao Lu, Emre Turkay, Balachandran Natarajan, Jeff Parsons,
CoSMIC: An MDA Tool Suite for Distributed Real-time and Embedded Systems Tao Lu, Aniruddha Gokhale, Emre Turkay, Balachandran Natarajan, Jeff Parsons,
The Role of Reflection in Next Generation Middleware
Towards a Real-time CORBA Component Model
Data Modeling II XML Schema & JAXB Marc Dumontier May 4, 2004
QoS-Enabled Middleware
Applying Domain-Specific Modeling Languages to Develop DRE Systems
Applying Domain-Specific Modeling Languages to Develop DRE Systems
Tools for Composing and Deploying Grid Middleware Web Services
An Introduction to Software Architecture
Model-driven Deployment & Configuration of Component-based Systems
Module 10: Implementing Managed Code in the Database
Component-based Applications
The JSF Tools Project – WTP (internal) release review
Presentation transcript:

December 16th, 2002 Composable Distributed Real-time Systems Krishnakumar B Department Of Computer Science Washington University, St.Louis, MO Advisor: Dr. Christopher D. Gill Funded by DARPA PCES under Contract to Boeing (F C-3048) & Washington University in St.Louis (F C-1697)

Krishnakumar B Composable Distributed Real-Time Systems Washington University in St.Louis 2 Outline of Talk Components, Component Models Middleware Composition Challenges Solutions Future work Questions?

Krishnakumar B Composable Distributed Real-Time Systems Washington University in St.Louis 3 Project Synopsis Context –Developing distributed real-time systems using components Problems –Configuration information tied to implementation –Context sensitive QoS specification –No validation of QoS properties –Ad hoc deployment Solution Approach –Specify configuration as meta-data –Decouple QoS specification from context dependencies –Validate configuration –Standardize deployment Packaging & Deployment Component Properties Display Databas e Print File Component Assembly Databas e Display Print File File Properties Database Properties

Krishnakumar B Composable Distributed Real-Time Systems Washington University in St.Louis 4 Overview of Components Component –Encapsulated part of a software system –Implements a specific service or set of services Components vs. Objects –Multiple views per component –Transparent navigation between views –Extensibility without inheritance –Higher-level Execution Environment

Krishnakumar B Composable Distributed Real-Time Systems Washington University in St.Louis 5 Properties of Component Models Component types, properties, inter-connections, interfaces Component run-time infrastructure Component Identity Underlying Object Model FeaturesEnterprise JavaBeans Microsoft.NET CORBA Component Model Basic TypeJavaBean.NET Component CORBA Component TransportRMI/IIOPSOAPIIOP Object ModelJVMCLRCORBA Component IdentificationJNDIGUIDUUID Unit of deploymentJAR Files.NET Assembly SoftPkg

Krishnakumar B Composable Distributed Real-Time Systems Washington University in St.Louis 6 CORBA Component Model Component Model specification from OMG Builds on strengths of CORBA Key elements –Component Facets Receptacles Event Sources Event Sinks –ComponentHome –Container –Component Server –ORB Services

Krishnakumar B Composable Distributed Real-Time Systems Washington University in St.Louis 7 Component Integrated ACE ORB (CIAO) CCM implementation based on TAO QoS-aware Containers Introspection interfaces QoS assurance mechanisms Separate developer roles –Application developer –Component developer –QoS provisioners –ORB configurators Specify QoS as metadata Packaging Tool Assembly Tool Component Assembly Package Home Properties Component Properties Deployment Tool Assembly Descriptor CORBA Component Package softpkg Descriptor CORBA Component Package Component Interconnection Definitions CORBA Component Package

Krishnakumar B Composable Distributed Real-Time Systems Washington University in St.Louis 8 Motivating Application CORBA Event Channel –Typical interactions: I/O arrives Proxies demarshal data Facades process data Problems –Numerous configuration options –Configuration coupled with implementation –No configuration validation Potential run-time failure

Krishnakumar B Composable Distributed Real-Time Systems Washington University in St.Louis 9 Problems & Solutions ProblemSolutionContribution Configuration tied with functionality Specify configuration information as meta- data Configuration decoupled from functionality Implicit dependencies of QoS properties on context Make context explicit as part of packaging Well-defined dependencies Invalid configuration resulting in run-time failure Validate configuration meta-data prior to deployment Static validation of configuration Ad hoc manual deployment Define standard mechanisms for deployment Automated deployment

Krishnakumar B Composable Distributed Real-Time Systems Washington University in St.Louis 10 Configuration of Components Context –Configuration of distributed real-time systems Problem –Overwhelming options –Configuration tangled with functionality Strong Coupling –Ad hoc specification Interoperability problems –Premature finalization Integration problems ECDispatchingECDispatchingThreads ECFiltering ECSupplierFiltering ECTimeout ECScheduling ECProxyPushConsumerCollection ECProxySupplierLock ECConsumerControl ECSupplierControl ECConsumerControlPeriod ECSupplierControlPeriod ECProxyConsumerLock EventChannel

Krishnakumar B Composable Distributed Real-Time Systems Washington University in St.Louis 11 Solution: Configuration as Meta-data Meta-data –Describes systemic properties Describe configuration as meta-data Separate configuration from functionality Use meta-language to describe meta-data –XML provides a basis –Ample scope for Customization Extension –Increased interoperability ECDispatchingECDispatchingThreads ECFiltering ECSupplierFiltering ECTimeoutECScheduling ECProxyPushConsumerCollection ECConsumerControlECSupplierControl ECConsumerControlPeriodECSupplierControlPeriod ECProxySupplierLockECProxyConsumerLock XML ! EventChannel

Krishnakumar B Composable Distributed Real-Time Systems Washington University in St.Louis 12 Solution Applied in CIAO CIAO uses ACEXML library Based on Simple API for XML (SAX) v2.0 –Callback-based API –Low memory footprint Document Type Definition (DTD) Validating Parser Features –DTD Validator –XML Namespaces –Locator –Filters Extensible –Pluggable Content Handlers Content Handler ACEXML Parser Client 2: create Default Handler 1: extend 4: register 3: instantiate 5: read Hello, world! 6: callback XML File

Krishnakumar B Composable Distributed Real-Time Systems Washington University in St.Louis 13 Lessons Learned Specifying configuration as meta-data decouples –Configuration information from functionality –Act of configuration from functionality XML is very useful for describing meta-data –Customizable –Location transparent Allows out-of-band fetching of configuration information Interoperable

Krishnakumar B Composable Distributed Real-Time Systems Washington University in St.Louis 14 Problems & Solutions ProblemSolutionContribution Configuration tied with functionality Specify configuration information as meta- data Configuration decoupled from functionality Implicit dependencies of QoS properties on context Make context explicit as part of packaging Well-defined dependencies Invalid configuration resulting in run-time failure Validate configuration meta-data prior to deployment Static validation of configuration Ad hoc manual deployment Define standard mechanisms for deployment Automated deployment

Krishnakumar B Composable Distributed Real-Time Systems Washington University in St.Louis 15 Context Aware QoS Specification Context –Designing Components Multiple QoS assurance levels Different underlying middleware Problem –Developers exposed to Different QoS features Different implementations –Dependencies implicit Vendor A’s ORB Vendor B’s ORB Thread Pool dispatch Reactive dispatch Component

Krishnakumar B Composable Distributed Real-Time Systems Washington University in St.Louis 16 Solution: Package Dependencies Identify dependencies –External –Internal Make dependencies explicit Describe dependencies extensibly –Scope for standardization –Third-party integration Check dependencies during component installation Component A ORB A Component B ORB B libEvent.so libNotify.so libSecurity.solibPersistence.so >

Krishnakumar B Composable Distributed Real-Time Systems Washington University in St.Louis 17 Solution Applied in CIAO (1/2) CIAO captures dependencies using XML Software Package descriptors Specification at multiple levels of granularity –Individual implementation of same component –Component level –Package Level CORBA Component EventChannel A simple Event Channel test createEventChannel

Krishnakumar B Composable Distributed Real-Time Systems Washington University in St.Louis 18 Solution Applied in CIAO (2/2) META-INF –Well-known descriptor file ACEXML parses META-INF CIAO –Uses Pluggable Handlers features of ACEXML –Implements SoftPkgHandler Dependencies checked during installation SoftPkgHandler ACEXML Parser CIAO 2: create DefaultHandler 1: extend 4: register 5: read 6: callback META-INF ACEXML Validator 3: instantiate

Krishnakumar B Composable Distributed Real-Time Systems Washington University in St.Louis 19 Lessons Learned Dependency checking reduces run-time surprises –Missing files within the package –Local environment files needed Standard format needed for interoperability –Different ORBs may use different methods to specify Dispatching models  Thread pools, Reactive Concurrency mechanisms  Mutex, Semaphores Different levels of filtering events

Krishnakumar B Composable Distributed Real-Time Systems Washington University in St.Louis 20 Problems & Solutions ProblemSolutionContribution Configuration tied with functionality Specify configuration information as meta- data Configuration decoupled from functionality Implicit dependencies of QoS properties on context Make context explicit as part of packaging Well-defined dependencies Invalid configuration resulting in run-time failure Validate configuration meta-data prior to deployment Static validation of configuration Ad hoc manual deployment Define standard mechanisms for deployment Automated deployment

Krishnakumar B Composable Distributed Real-Time Systems Washington University in St.Louis 21 Component Misconfiguration Context –Integration of application from COTS components Problem –Large number of components Check individually Check overall system –Manual integration Error-prone Doesn’t scale ECConsumerControlECConsumerControlPeriod EventChannel ECDispatchingECDispatchingThreads == 0 == “mt” == “reactive” == 1

Krishnakumar B Composable Distributed Real-Time Systems Washington University in St.Louis 22 Solution: Configuration Validation Validate component configuations –XML allows specification of Document Type Definitions (DTD) –Check configuration to ensure conformance to DTD QoS configuration validation should be done for –Individual components –Groups of components –Application wide in an end-to-end fashion ECConsumerControlECConsumerControlPeriod EventChannel ECDispatchingECDispatchingThreads == “mt” == “reactive” >= 1 >=1000

Krishnakumar B Composable Distributed Real-Time Systems Washington University in St.Louis 23 PropertyFile Solution Applied in CIAO Component Property Files (cpf) –Supports specifying simple types, structs, sequences, valuetypes –Set of valid configurations Validation done at deployment –Minimize run-time failure Minimize run-time exceptions Allow static QoS provisioning Configuration for a Simple Event Channel mt 2 basic reactive EC_Property ECDispatching ECDispatchingThreads ECConsumerControl ECConsumerControlPeriod ECProxyConsumerLock ACEXML Validator Syntactic Validation Configuration Validation

Krishnakumar B Composable Distributed Real-Time Systems Washington University in St.Louis 24 Lessons Learned How to parse Hedge Automata –Hedge is a sequence of trees –An XML document is a “Hedge” Configuration validation helps reduce “pilot error” Currently ORB configuration is intricately tied to the Service Configurator –Any configurable entity in the ORB is a ACE_Service_Object –Only way to locate entities is from the Service_Repository Properties parsed from XML have to converted back to text to be re-parsed by Service Configurator

Krishnakumar B Composable Distributed Real-Time Systems Washington University in St.Louis 25 Problems & Solutions ProblemSolutionContribution Configuration tied with functionality Specify configuration information as meta- data Configuration decoupled from functionality Implicit dependencies of QoS properties on context Make context explicit as part of packaging Well-defined dependencies Invalid configuration resulting in run-time failure Validate configuration meta-data prior to deployment Static validation of configuration Ad hoc manual deployment Define standard mechanisms for deployment Automated deployment

Krishnakumar B Composable Distributed Real-Time Systems Washington University in St.Louis 26 Deployment Context –Deploying an application built using COTS components Problem –Complex applications Large no. of components –Micro-management of components Difficulty in reasoning complete end-to-end behaviour –Manual deployment inherently error-prone –Ad hoc scripts no better

Krishnakumar B Composable Distributed Real-Time Systems Washington University in St.Louis 27 Solution : Component Packages Packaging –Logical grouping –Software Package Single Component –Component Assembly Multiple components –Groups components with Implementation Meta-data Dependencies Packages are deployed as compressed (.ZIP) files

Krishnakumar B Composable Distributed Real-Time Systems Washington University in St.Louis 28 Package Descriptors (1/2) Package descriptors CORBA Component Descriptor (.ccd) –Describes a single component Interfaces, ports, QoS policies QoS properties described via (.cpf) files CORBA Software Descriptor (.csd) –Describes implementations of a single component –Useful in deploying a single component

Krishnakumar B Composable Distributed Real-Time Systems Washington University in St.Louis 29 Package Descriptors (2/2) CORBA Assembly descriptor (.cad) –Describes a collection of components & their properties –Describes partitioning of the group of components –Describes dependencies among components Example assembly" Example home for A components

Krishnakumar B Composable Distributed Real-Time Systems Washington University in St.Louis 30 Deployment Hierarchy Packages are read by Deployment agent Descriptor of package is read from META-INF Unpacking of packages in safe directory –Avoid trojan implementations Action determined by contents of META-INF Set of Helper classes –ComponentInstallation –AssemblyFactory –Assembly –ServerActivator Used in bootstrapping deployment AssemblyFactory Assembly Deployment Application ServerActivator ComponentInstallation ComponentServer Container CCMHome CCMObject >

Krishnakumar B Composable Distributed Real-Time Systems Washington University in St.Louis 31 Lessons Learned Packaging makes component management easier –Provides logical view of application subsytems –Aggregates groups of components –Provides COTS components in the literal sense Standardizing deployment –Solves problem once –Allows sharing of components –Reduce footprint Lazy component loading using Virtual Component design pattern

Krishnakumar B Composable Distributed Real-Time Systems Washington University in St.Louis 32 Future Work Complete integration of Packaging & Deployment framework with CIAO Decouple ORB configuration from Service Configurator Configuration of ORB from structs and sequences Allow imposing policies in a hierarchical fashion Measure overhead Increase user-friendliness of the Deployment framework

Krishnakumar B Composable Distributed Real-Time Systems Washington University in St.Louis 33 Timeline

Krishnakumar B Composable Distributed Real-Time Systems Washington University in St.Louis 34 Concluding Remarks Summary Of Benefits –Specify configuration as meta-data –Decouple QoS specification from context dependencies –Validate configurations –Standardize deployment Programming effort –ACEXML Common infrastructure - 8K lines Parser Enhancements - 3K lines Validator - 6K lines and growing Available under $ACE_ROOT/ACEXML –Packaging & Deployment 4K lines Available under $ACE_ROOT/ACEXML/compass Availability –cvs co –r Validator ACE_wrappers/ACEXML –cvs co –r CIAO ACE_wrappers First release early 2003

Krishnakumar B Composable Distributed Real-Time Systems Washington University in St.Louis 35 Acknowledgements Dr. Chris Gill Dr. Ron Cytron Dr. David Levine Dr. Doug Schmidt All past and present members of the DOC group