Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "December 16th, 2002 Composable Distributed Real-time Systems Krishnakumar B Department Of Computer Science Washington University, St.Louis,"— Presentation transcript:

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

2 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?

3 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

4 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

5 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

6 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

7 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

8 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

9 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

10 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

11 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

12 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

13 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

14 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

15 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

16 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 >

17 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

18 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

19 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

20 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

21 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

22 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

23 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 50000 EC_Property ECDispatching ECDispatchingThreads ECConsumerControl ECConsumerControlPeriod ECProxyConsumerLock ACEXML Validator Syntactic Validation Configuration Validation

24 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

25 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

26 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

27 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

28 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

29 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

30 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 >

31 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

32 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

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

34 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

35 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


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

Similar presentations


Ads by Google