Meeting the Challenges of Ultra- -Large Large- -Scale Scale Meeting the Challenges of Ultra Distributed Real- -time & Embedded time & Embedded Distributed Real (DRE) Systems (DRE) Systems Wednesday, May 30, 2007, ISORC, , ISORC, Santorini Santorini, Greece , Greece Wednesday, May 30, 2007 Dr. Douglas C. Schmidt d.schmidt@vanderbilt.edu www.dre.vanderbilt.edu/~schmidt Institute for Software Vanderbilt University Integrated Systems Nashville, Tennessee
Evolution in Distributed Real-time & Embedded (DRE) Systems The Future The Past Stand-alone real-time & Enterprise distributed real-time & embedded Stand-alone real-time & Enterprise distributed real-time & embedded embedded systems (DRE) systems embedded systems (DRE) systems • Stringent quality of service • Network-centric “systems of systems” • Stringent quality of service • Network-centric “systems of systems” (QoS) demands • Stringent simultaneous QoS demands (QoS) demands • Stringent simultaneous QoS demands •e.g., latency, jitter, footprint •e.g., dependability, security, scalability, etc. •e.g., latency, jitter, footprint •e.g., dependability, security, scalability, etc. • Resource constrained • Dynamic context • Resource constrained • Dynamic context This talk focuses on technologies for enhancing DRE system QoS, productivity, & quality 2
Evolution of DRE Systems Development Technology Problems • Legacy DRE systems often tend to be: Air CLI • Stovepiped Frame Nav SM HUD CM • Proprietary AP SS7 FLIR IP • Brittle & non-adaptive GPS RX IFF TX • Expensive • Vulnerable Cyclic RTOS Exec Consequence: Small Mission-critical DRE systems changes to legacy have historically been built software often have directly atop hardware big (negative) impact • Tedious on DRE system QoS • Error-prone & maintenance • Costly over lifecycles 3
Evolution of DRE Systems Development Technology Problems • Legacy DRE systems often tend to be: DRE DRE • Stovepiped Applications Applications • Proprietary Middleware Middleware Services Services • Brittle & non-adaptive Middleware Middleware • Expensive • Vulnerable Operating Sys Operating Sys & Protocols & Protocols Hardware & Hardware & Networks Networks •Middleware has effectively factored out Mission-critical DRE systems many reusable services from traditional historically have been built DRE application responsibility directly atop hardware • Tedious •Essential for product-line architectures • Error-prone •Middleware is no longer the primary DRE • Costly over lifecycles system performance bottleneck 4
DRE Systems: The Challenges Ahead •Limit to how much application functionality can be refactored into reusable COTS middleware •Middleware itself has become very Gigabit Gigabit Ethernet Ethernet RT-CORBA J2ME DRTSJ hard to use & provision statically & DRE Applications Apps Apps Apps dynamically Middleware Load Balancer RT-CORBA J2ME DRTSJ Workload & Services FT CORBA Replicas Services Services Services Connections & RT/DP CORBA + DRTSJ priority bands RTOS + RT Java Middleware CPU & memory RT-CORBA J2ME DRTSJ Network latency IntServ + Diffserv & bandwidth Operating System •Component-based DRE systems are & Protocols also very hard to deploy & configure •There are many middleware platform Hardware & Networks technologies to choose from Middleware alone cannot solve large-scale DRE system challenges! 5
Promising Solution: Model-based Software Development • Develop, validate, & standardize generative software technologies that: 1. Model Gigabit Gigabit Ethernet Ethernet 2. Analyze RT-CORBA J2ME DRTSJ DRE Applications Apps Apps Apps 3. Synthesize & 4. Provision Middleware RT-CORBA J2ME DRTSJ Services multiple layers of middleware & Services Services Services <CONFIGURATION_PASS> <CONFIGURATION_PASS> <HOME> <HOME> application components that <…> <…> <COMPONENT> <COMPONENT> <ID> <…></ID> <ID> <…></ID> require simultaneous control of <EVENT_SUPPLIER> Middleware <EVENT_SUPPLIER> <…events this <…events this RT-CORBA J2ME DRTSJ component supplies…> multiple QoS properties end-to- component supplies…> </EVENT_SUPPLIER> </EVENT_SUPPLIER> </COMPONENT> </COMPONENT> end </HOME> </HOME> </CONFIGURATION_PASS> </CONFIGURATION_PASS> Operating System • Partial specialization is & Protocols essential for inter-/intra-layer optimization & advanced Hardware & product-line architectures Networks Goal is to enhance developer productivity & software quality by providing higher-level languages & tools for middleware/application developers & users 6
Technology Evolution (1/4) Programming Languages Model-Driven Engineering (MDE) & Platforms Model Model Model Model Model Model Level of Abstraction Generated Model Model Code Code Code Code Code Code Code Platform Translation • State chart Translation Translation • Data & process flow Large • Petri Nets Semantic Gap C/Fortran Operating Systems Assembly Machine code Hardware 7
Technology Evolution (2/4) Programming Languages •Newer 3 rd -generation languages & & Platforms platforms have raised abstraction level significantly •“Horizontal” platform reuse alleviates the need to redevelop Level of Abstraction common services Model Model Model Model Model Model Model Application Code Application Code Generated Code Application Code Generated Code Generated Code Application Code Framework Framework Framework Framework Domain Specific Domain Specific Domain Specific Domain Specific Pattern Language Pattern Language Pattern Language Pattern Language Framework Framework Framework Framework Platform Platform Platform Platform Platform Platform Platform Platform Frameworks Frameworks Frameworks Frameworks Components •There are two problems, however: Frameworks •Platform complexity evolved faster C++/Java Class Libraries than 3 rd -generation languages C/Fortran Operating •Much application/platform code still Systems Assembly (unnecessarily) written manually Machine code Hardware 8
Technology Evolution (3/4) Programming Languages Model-Driven Engineering (MDE) & Platforms Domain-specific modeling languages • ESML • PICML • Mathematica Level of Abstraction • Excel • Metamodels Manual translation Domain-independent Saturation!!!! modeling languages • State Charts Components • Interaction Diagrams Frameworks • Activity Diagrams C++/Java Semi-automated Class Libraries C/Fortran Operating Systems Assembly Machine code Hardware 9
Technology Evolution (3/4) Programming Languages Model-Driven Engineering (MDE) & Platforms Domain-specific modeling languages • ESML • PICML • Mathematica Level of Abstraction • Excel • Metamodels Manual translation Domain-independent modeling languages • State Charts • Interaction Diagrams • Activity Diagrams Semi-automated • OMG is standardizing MDE via MIC PSIG • mic.omg.org 10
Technology Evolution (3/4) Programming Languages Model-Driven Engineering (MDE) & Platforms Domain-specific modeling languages Model Model Model Model Model Model Model Model • ESML • PICML Generated Code Generated Code Application Code Generated Code Application Code Application Code Application Code Generated Code • Mathematica Level of Abstraction Framework Framework Framework Framework Domain Specific Domain Specific Domain Specific Domain Specific Pattern Language Pattern Language Pattern Language Pattern Language Framework Framework Framework Framework • Excel Platform Platform Platform Platform Platform Platform Platform Platform • Metamodels Frameworks Frameworks Frameworks Frameworks Manual translation Domain-independent modeling languages • State Charts Components • Interaction Diagrams Frameworks • Activity Diagrams C++/Java Semi-automated Class Libraries C/Fortran Operating • OMG is standardizing MDE via the Systems Assembly MIC PSIG Machine code Hardware • mic.omg.org 11
Technology Evolution (4/4) Programming Languages Model-Driven Engineering (MDE) & Platforms Domain-specific modeling languages Needs • ESML Model Model Model Model Model Model Model Model Automation • PICML • Mathematica Level of Abstraction • Excel Application Code Generated Code Generated Code Application Code Application Code Generated Code Generated Code Application Code • Metamodels Platform Platform Platform Platform Needs Platform Platform Platform Platform Frameworks Frameworks Frameworks Frameworks Automation Domain-independent modeling languages • State Charts Components • Interaction Diagrams Frameworks • Activity Diagrams C++/Java Class Libraries Needs Automation C/Fortran Operating Research is needed to automate Systems Assembly DSMLs & model translators Machine code Hardware See February 2006 IEEE Computer special issue on MDE techniques & tools 12
Recommend
More recommend