Journée Informatique Embarquée Du Matériel au Logiciel PolyORB a schizophrenic middleware Laurent Pautet, ENST Fabrice Kordon, LIP6/SRC Jérôme Hugues,

Slides:



Advertisements
Similar presentations
SCOOP: Simple Concurrent Object-Oriented Programming Extend the pure, strongly typed, object-oriented language Eiffel with a general and powerful concurrency.
Advertisements

Component-Based Software Engineering Main issues: assemble systems out of (reusable) components compatibility of components.
Architecture Representation
Study of Hurricane and Tornado Operating Systems By Shubhanan Bakre.
Presented by: Thabet Kacem Spring Outline Contributions Introduction Proposed Approach Related Work Reconception of ADLs XTEAM Tool Chain Discussion.
Software Architectures and Embedded Systems Nenad Medvidovic with Sam Malek and Marija Mikic-Rakic Computer Science Department University of Southern California.
Reliability on Web Services Presented by Pat Chan 17/10/2005.
Computer Systems/Operating Systems - Class 8
Architecture Modeling and Analysis for Embedded Systems Oleg Sokolsky CIS700 Fall 2005.
Automated Analysis and Code Generation for Domain-Specific Models George Edwards Center for Systems and Software Engineering University of Southern California.
1 Quality Objects: Advanced Middleware for Wide Area Distributed Applications Rick Schantz Quality Objects: Advanced Middleware for Large Scale Wide Area.
Software Engineering and Middleware: a Roadmap by Wolfgang Emmerich Ebru Dincel Sahitya Gupta.
Demystifying Architectural Styles Nikunj Mehta 3/11/02Demystifying Architectural Styles2 Agenda Architectural Styles The Alfa Project Architectural framework.
Chapter 13 Embedded Systems
Strategic Directions in Real- Time & Embedded Systems Aatash Patel 18 th September, 2001.
Demystifying Architectural Styles Nikunj Mehta 3/11/02Demystifying Architectural Styles2 Architectural Styles Characterize –Structure, i.e. external.
November 18, 2004 Embedded System Design Flow Arkadeb Ghosal Alessandro Pinto Daniele Gasperini Alberto Sangiovanni-Vincentelli
Object Based Operating Systems1 Learning Objectives Object Orientation and its benefits Controversy over object based operating systems Object based operating.
CprE 458/558: Real-Time Systems
Software Issues Derived from Dr. Fawcett’s Slides Phil Pratt-Szeliga Fall 2009.
Slide 3-1 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 3 Operating System Organization.
Course Instructor: Aisha Azeem
Architectural Design Establishing the overall structure of a software system Objectives To introduce architectural design and to discuss its importance.
A case study System to Software Integrity Matteo Bordin Jérôme Hugues Cyrille Comar, Ed Falis, Franco Gasperoni, Yannick Moy, Elie Richa.
QoS-enabled middleware by Saltanat Mashirova. Distributed applications Distributed applications have distinctly different characteristics than conventional.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse 2.
SOA, BPM, BPEL, jBPM.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse.
© Drexel University Software Engineering Research Group (SERG) 1 Based on the paper by Philippe Kruchten from Rational Software.
Computer System Architectures Computer System Software
RTS Meeting 8th July 2009 Introduction Middleware AUTOSAR Conclusion.
Assessing the Suitability of UML for Modeling Software Architectures Nenad Medvidovic Computer Science Department University of Southern California Los.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 07. Review Architectural Representation – Using UML – Using ADL.
ESA/ESTEC, TEC-QQS August 8, 2005 SAS_05_ESA SW PA R&D_Winzer,Prades Slide 1 Software Product Assurance (PA) R&D Road mapping Activities ESA/ESTEC TEC-QQS.
Using AADL to Model a Protodol Stack Didier Delanote, Stefan Van Baelen, Wouter Joosen and Yolande Berbers Katholieke Universiteit Leuven.
Software Architecture and Design Dr. Aldo Dagnino ABB, Inc. US Corporate Research Center October 23 rd, 2003.
Model-Driven Engineering for Development-Time QoS Validation of Component-based Software Systems James Hill, Sumant Tambe & Aniruddha Gokhale Vanderbilt.
1 LiSyC ENSIETA/DTN 02/04/2008 AADL execution semantics transformation for formal verification Joel Champeau, Thomas Abdoul, Pierre Yves Pillain, Philippe.
Refining middleware functions for verification purpose Jérôme Hugues Laurent Pautet Fabrice Kordon
Ihr Logo Operating Systems Internals & Design Principles Fifth Edition William Stallings Chapter 2 (Part II) Operating System Overview.
Modeling Component-based Software Systems with UML 2.0 George T. Edwards Jaiganesh Balasubramanian Arvind S. Krishna Vanderbilt University Nashville, TN.
Performance evaluation of component-based software systems Seminar of Component Engineering course Rofideh hadighi 7 Jan 2010.
Model-Based Embedded Real- Time Software Development Dionisio de Niz and Raj Rajkumar Real-Time and Multimedia Sys Lab Carnegie Mellon University.
PolyORB Versatile Middleware for Interoperable Critical Systems PolyORB Versatile Middleware for Interoperable Critical Systems Presentation cover page.
07/09/04 Johan Muskens ( TU/e Computer Science, System Architecture and Networking.
FDT Foil no 1 On Methodology from Domain to System Descriptions by Rolv Bræk NTNU Workshop on Philosophy and Applicablitiy of Formal Languages Geneve 15.
Distribution and components. 2 What is the problem? Enterprise computing is Large scale & complex: It supports large scale and complex organisations Spanning.
Hwajung Lee.  Interprocess Communication (IPC) is at the heart of distributed computing.  Processes and Threads  Process is the execution of a program.
EXTENSIBILITY, SAFETY AND PERFORMANCE IN THE SPIN OPERATING SYSTEM
Laboratory of Model Driven Engineering for Embedded Systems An Execution Framework for MARTE-based Models UML&AADL’2008 workshop Belfast, Northern Ireland.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
1 BBN Technologies Quality Objects (QuO): Adaptive Management and Control Middleware for End-to-End QoS Craig Rodrigues, Joseph P. Loyall, Richard E. Schantz.
SelfCon Foil no 1 Variability in Self-Adaptive Systems.
Real-Time Systems, Events, Triggers. Real-Time Systems A system that has operational deadlines from event to system response A system whose correctness.
GYTE - Bilgisayar Mühendisliği Bölümü Bilgisayar Mühendisliği Bölümü GYTE - Bilgisayar Mühendisliği Bölümü AN ARCHITECTURE FOR NEXT GENERATION MIDDLEWARE.
What’s Ahead for Embedded Software? (Wed) Gilsoo Kim
Chapter 1 Basic Concepts of Operating Systems Introduction Software A program is a sequence of instructions that enables the computer to carry.
February 19, February 19, 2016February 19, 2016February 19, 2016 Azusa, CA Sheldon X. Liang Ph. D. Software Engineering in CS at APU Azusa Pacific.
OOD OO Design. OOD-2 OO Development Requirements Use case analysis OO Analysis –Models from the domain and application OO Design –Mapping of model.
Software Systems Division (TEC-SW) ASSERT process & toolchain Maxime Perrotin, ESA.
IHP Im Technologiepark Frankfurt (Oder) Germany IHP Im Technologiepark Frankfurt (Oder) Germany ©
OO Methodology OO Architecture.
Software Quality Engineering
Design and Implementation of Spacecraft Avionics Software Architecture based on Spacecraft Onboard Interface Services and Packet Utilization Standard Beijing.
Model-Driven Analysis Frameworks for Embedded Systems
A GUI Based Aid for Generation of Code-Frameworks of TMOs
Automated Analysis and Code Generation for Domain-Specific Models
Software Architecture
Design Yaodong Bi.
System to Software Integrity
Presentation transcript:

Journée Informatique Embarquée Du Matériel au Logiciel PolyORB a schizophrenic middleware Laurent Pautet, ENST Fabrice Kordon, LIP6/SRC Jérôme Hugues, ENST Khaled Barbaria, ENST Thomas Vergnaud, ENST

2Journée Informatique Embarquée Laurent Pautet Distribution middleware for DRE systems  Distribution middleware becomes a COTS  Reduce cost, suppress tedious and error-prone work  DRE systems must abide to industry requirements  Domains: avionics, space, transport  Families: reliability, determinism, integrity  Middleware is versatile by essence  Many settings are available: protocols, QoS & security policies Various facilities: DOC, RPC, MP, (D)SM Standards: CORBA, DSA, JMS Extensions: RT-*, fault tolerance, etc  Target Resources & semantics: concurrency, scheduling, buffers,.. Concern #1: How to ensure correctness, using COTS ?

3Journée Informatique Embarquée Laurent Pautet “Middleware engineering crisis”  Middleware for DRE is a moving target  Configurability: tuning middleware components  Genericity: deriving new repartition functions from existing ones  Non-functional needs: QoS, timeliness, fault-tolerance, determinism  Many successful stories in using middleware for mission-critical apps.  UIC, Armada,..: Too precise, not a COTS, yet efficient  TAO-family: adaptative, but too difficult to derive properties  CosMIC, TURTLE-P: CASE tools, distance to the actual code ?  Revisit COTS Middleware  Clearer view of middleware internals  “HOWTO” guide to adapt middleware  Avoid “minefields” COTS middleware

4Journée Informatique Embarquée Laurent Pautet Building a generic, configurable and verifiable middleware  Reorganize middleware functionalities to reduce components coupling  like an OS on top of a micro-kernel  Define generic building blocks describing middleware interactions  Addressing, Binding, Representation, Protocol, Transport, Activation, Execution  Let interaction between building blocks be independent from any specific distribution model  Common behavioral contract => ease modeling  Propose one implementation for each generic building block  Enable code reuse  Properties  Generic services propose a coarse grain parameterization  Configuration is fine grain customization of blocks implementations

5Journée Informatique Embarquée Laurent Pautet PolyORB: schizophrenic middleware  Schizophrenia: simultaneous support for multiple personalities in one middleware instance  Neutral core: common middleware components  CORBA (RT, FT), MOMA, DSA, SOAP, GIOP, MIOP personalities  Adaptability for specific needs: many distribution features  Clear design that reduces code complexity and ease prototyping  Strong engineering: Ravenscar, Ada Coding Style, compiler checks Neutral Core Layer Middleware functions Application personalities CORBA (DOC)MOMA (MOM) AWS (WEB) DSA (RPC) GIOPSOAP DIOP (UDP) MIOP (multicast) Protocol personalities

6Journée Informatique Embarquée Laurent Pautet Schizophrenic middleware architecture  PolyORB genericity => canonical view of a middleware (PIM-like model)  Seven functions coordinated by the « µBroker »  Can be reduced to canonical components: dictionary, queues, filters,..  Neutral wrt middleware behavior  µBroker at the core of the middleware behavior  Allocates task to handle I/Os, requests  Schedule tasks, dispatch requests  Manages middleware state Network

7Journée Informatique Embarquée Laurent Pautet Using the Schizophrenic architecture  Personality: 3 to 20 KSLOCs  «clients» of the Neutral Core  Extend or use the Core to match specific semantics  High code reuse (up to 75%)  Neutral Core: 30 KSLOCs  Library of helper routines  7 key fonctions, well-known patterns Automata, filters, dictionaries,..  “µBroker” heart of the middlware  Schedule the services Resource allocation Access to I/O Job scheduling Many availble policies  Control MW’s behavior Interactions Behavior neutral To be extended To model

8Journée Informatique Embarquée Laurent Pautet Formal analysis, an example configuration leader/followers  Architecture clearly separates concerns, enables modeling  Use of Petri Nets: s tructural properties & temporal logic  symmetries, liveness, bounds, LTL formula..  MW Model components => library of PN models to build  Properties  P0: symmetry, P1: no deadlock  P2: consistency, P3: fairness Combinatorial explosion expected and solved using the CPN-AMI tools ;) Source & Event Mgt FIFO Follower Threads Leader Thread  T: # threads  S: # sources  B: size of the FIFO

9Journée Informatique Embarquée Laurent Pautet Towards real-time middleware (1/2)  Well-known design patterns and algorithms for building real time middleware: hash tables, events demux., Ravenscar compliant …  Stringent coding guidelines to avoid performance dispersion  O(1) algorithms whenever possible  Implementation of RT-CORBA  Static scheduling, RTCOSScheduling  TDMA-based or Token-based real-time protocols on ethernet  Combine elements to build precisely real-time middleware  Careful selection of each element RTCORBA RTPOA GIOPTDMA Neutral Core Perfect Hash Lanes QoS Perfect Hash Ravenscar RTS Leader/Followers Event Chk. Policy

10Journée Informatique Embarquée Laurent Pautet Towards real-time middleware (2/2)  Good performances on Solaris  Performance measures exhibit good dispersion properties  Under evaluation on  ORK RTK (Ravenscar)  MaRTE OS (Minimum POSIX)  RTEMS  Architecture enables precise scheduling analysis  Feasible to derive schedulabity conditions  Memory footprint < 500KB  Reduced capabilities  Fit in embedded systems

11Journée Informatique Embarquée Laurent Pautet Proof-Based Real-Time COTS Middleware Heterogeneous yet complementary results: 1. Schizophrenic architecture  Clear definition of middleware internals  Enforce separation of concerns  Support for many distribution mechanisms 2. Formal Modeling & verification  One to one mapping between elementary models and code  Verified components and configurations  Modeling work can be adapted to other formalisms 3. Performance and metrics  Implementation is compliant with real-time engineering practice  Deterministic components  Promising performance  Increasing support for Real-Time Kernels => Proof-Based Real Time Middleware

12Journée Informatique Embarquée Laurent Pautet PolyORB modelling using ADL  Rationale  Deploy distributed system and define logical nodes  Configure each logical node  Configure and instanciate PolyORB components on each logical node  Associate components with their behavioural models  Have a clear understanding of PolyORB architecture  ADL for specific domains  Distributed systems  Real-Time Systems  Embedded Systems  AADL = Architecture Analysis and Design Language (SAE)  MetaH : a first proposal from SAE  COTRE (AirBus, …)  ASSERT (ESA, …)

13Journée Informatique Embarquée Laurent Pautet Principles of AADL  AADL Description = set of components  Each component has an interface (component type) and none, one or several implementations (component implementation)  3 categories of components: Software : data, process, thread subprogram Execution platform : memory, processor, bus, device System : container, structure of the architecture  Components communicate through ports, described in the interfaces  Ports are connected using connections  Properties can be associated with the elements of a description  Standard properties (defined in the AADL standard) Execution time Source code for behavioural descriptions …  Property sets For user-defined properties

14Journée Informatique Embarquée Laurent Pautet Modelling experience AADL Technologies  Modelling PolyORB  AADL provides a common & unified notation  Architectural description (software components)  Behavioural description (associated source code)  Middleware & global system configuration (properties)  Models for neutral core layer ( “µBroker”), application et protocol personalities  Tools required for multiple needs  Architecture consistency, schedulability analysis, simulation and verification, …  node configuration, system deployment, code generation, component assembly, …  Few AADL technologies : OSATE (SAE), …  Ocarina  Deploy the distributed system  Configure each logical node  Generate a PolyORB instance  Need for light and “decentralized” tools  Ease the extension of AADL Generic AADL models of PolyORB ● Source code ● Templates ● Formal descriptions Configured middleware Deployment information in AADL Deployment tools Ocarina lib. AADL models of PolyORB instances Configuration & generation tools Ocarina lib.

15Journée Informatique Embarquée Laurent Pautet Conclusion & future work  Schizophrenic middleware: enable PBSE Real-Time middleware  Configurability and extreme genericity  Clear design that enable modeling with Petri Nets, contemplate AADL  Verification of its key properties using novel algorithms Fights combinatorial explosion  Interesting real-time properties  Member of the ObjectWeb Consortium  COTS supported  Perspectives  PolyORB serve as a foundation for CASE tools  Next: Combine tools and modeling techniques to foster analysis of the architecture and derive schedulability conditions, ease deployment, etc  Using the Ocarina AADL toolsuite