Transcript Slide 1
Brandenburg Technical University Cottbus Chair of Computer Networks and Communication Systems Brandenburgische Technische Universität Cottbus Embedded software generation using model driven development (A vision with the „State of the Art“) Prabhu Shankar Kaliappan BTU Cottbus, LS Rechnernetze und Kommunikationssysteme, Lehrstuhlinhaber: Prof. Dr.-Ing. H. König 03013 Cottbus, Postfach 10 13 44,Telefon: 0355/69-2236 Fax: 0355/69-2127 Outline Session I Background Introduction about Model Driven Development (MDD) Session II Embedded systems and communication protocols State of the Art Survey results Conclusion 2 Background(1/2) The issue People schedule 60% of their research time in the programming. Design becomes more complexity in the heterogeneous project. Need to focus about the platform specifications rather than the problem. Problem domain Problem domain Program Leads Program Program 3 Background (2/2) The solution A middleware called modeling can be used as a bridge. By Modeling Standard way for ☞Design, Develop, Verify and Deploy. Problem domain Abstracts from irrelevant details analyse and design Abstracts from implementation details Program Model code 4 Introduction about Model driven development Model Driven Development Represents the artifact from design to the deployment (code). Platform specification Auto map into platform and deploy Method Model Driven Architecture Uses a set of standard specifications for development 5 Overview of the OMG Model Driven Architecture (MDA) An approach to IT system specification that separates the specification of system functionality from the specification of the implementation. MDA is a development paradigm that applies domain specific modeling languages systematically to engineer computing systems Small scale real-time and embedded systems to large scale distributed enterprise applications It is model driven because it uses models to direct the course of Understanding, design, construction, maintenance and modification deployment, operation, “Design once, build it on any platform” 6 The Object Management Group (OMG) An open membership and no-profit consortium Produces and mantains computer industry specifications for interoperable enterprise applications Who are OMG? 7 Basic concepts of MDA A model is a formal specification of the function, structure and/or behaviour of a system Examples: Source code is a model An UML-based specification is a model Models of different systems are structured explicitly into: Computational Independent Models (CIM) The goal of CIM is to bridge the gap between domain experts and developers Platform Independent Models (PIM) Platform Specific Models (PSM) 8 MDA Model Types Platform-independent models (PIMs) A “formal” specification of the structure and function of a system that abstracts away technical detail Expressed using UML PIM: an example 9 MDA Model Types Platform-specific models (PSMs) Specifies how the functionality specified in a PIM is realized on a particular platform Expressed using UML extended with platform specific UML profiles solves the following issues: Platform integration The uncertainty of changing platform technology 10 PSM: an example 11 MDA metamodel Infrastructure PIM Mapping techniques <<based on>> Mapping from PIM to PIM UML 1..n <<expressed with>> MOF 1..n <<described with>> Metamodel <<expressed with>> 1..n <<independant of>> 1..n 1..n Mapping from PIM to PSM <<expressed with>> Other languages PIM Refactoring from PSM to PIM <<based on>> <<described with>> 1..n PSM PSM Mapping techniques <<depends on>> 1..n Mapping from PSM to PSM 12 MDA in a Snapshot Vertical Domains Core Technologies Core Target Platforms Pervasive Services 13 MDA based design Computational Independent Model CIM Platform Independent Model (PIM) Task Request + Model PIM Queries/Views/ Transformations - OMG QVT Specific Platform Platform Specific Model (PSM) Libraries Code Generation / Simulation C++ / Java / SystemC Top Down Approach PSM Code Bottom Up Approach 14 Benefits of MDA Programming platform independence Synthesize code ability which is highly dependable Rapidly prototype new concepts and applications Reduce cost in design and maintenance Minimum of 5% efficiency can be tuned through MDA technique 15 Brandenburg Technical University Cottbus Chair of Computer Networks and Communication Systems Brandenburgische Technische Universität Cottbus Questions on MDA.. BTU Cottbus, LS Rechnernetze und Kommunikationssysteme, Lehrstuhlinhaber: Prof. Dr.-Ing. H. König 03013 Cottbus, Postfach 10 13 44,Telefon: 0355/69-2236 Fax: 0355/69-2127 Outline Session I Background Introduction about Model Driven Development (MDD) Session II Embedded systems and communication protocols State of the Art Survey results Conclusion 17 Role of Embedded systems.... Applications Automotive electronics Aircraft electronics Telecommunication Medical Systems Authentication Systems Robotics Consumer electronics..... Aspects Communication is one of the factor to be considered in dependable systems Communication protocols to be desgined and validated systematically Well communication protocol leads to QoS Fault tolerant systems .. 18 Communication Protocols May vary from domains Network (PC to PC communication) Process (Inter Process Communication) Protocol basis.. Sender and Receiver : Transparent to the user Problem ☞What happens when the data is discarded? ☞What happens when the data is lost? ☞What happens when the system is crashed? ☞What happens when the communication medium is lost? ☞What happens when the data has extra bits? Solution ☞Design/Develop a self-intelligence based protocol. 19 Example of a communication protocol eXample Data Transfer Protocol Transfer large amount of data over unreliable media Faults Predictable and Unpredicatable faults 20 Development of communication protocols Communication protocols Set of procedure(s) used to transfer „n“ byte(s) of data between two nodes. Advantage Dis-advantage Three ways --Efficient resuability & Implementation flexibility Structured design methodology + C Advantage Dis-advantage - Standard - resuability & specifications implementation is limited Formal description technique + Target code (SDL, Estell, Lotos) Object Oriented Aproach + Target code (UML Profiles) increased modularity, flexibility, extensibility and reusability ☞Model Driven Architecture techniques 21 Brandenburg Technical University Cottbus Chair of Computer Networks and Communication Systems Brandenburgische Technische Universität Cottbus State of the Art MDA based approaches for embedded systems BTU Cottbus, LS Rechnernetze und Kommunikationssysteme, Lehrstuhlinhaber: Prof. Dr.-Ing. H. König 03013 Cottbus, Postfach 10 13 44,Telefon: 0355/69-2236 Fax: 0355/69-2127 Various approaches Tools for Application specific hardware/software Co-design (TACO) Software construction and embeded systems laboratories, Finland. Generic Modeling Environment // [Gme 07] Institute for S/w integrated systems @ Vanderbilt university, Tennessee, USA. Dataparallelism for Real-Time Systems (DaRT) // [Jean 05] The French National Institute for Research in Computer Science, France. The Cadena project University of Nebraska–Lincoln, USA. // [Cade 07] Model-Integrated Computing (MIC) Object Management Group // [Mic 07] Component Synthesis with Model Integrated Computing (CoSMIC) // [Cosm 07] Institute for S/w integrated systems @ Vanderbilt university, Tennessee, USA. // [Marcus 04] 23 TACO protocol processing architecture Idea Mapping rules from QVT PIM Requirement Specification PSM Domain Information for hw/sw Advantages Efficient Implementation Flexibility Disadvantages Limited validation QVT is an general mapping profile 24 Generic Modeling Environment Idea Domain Specific Mapping PIM Requirement Specification PSM GME tool Framework is based on Metamodel (PIM‘s and PSM‘s) Advantages Efficient implementation, flexibility, validation (thru tool) UML profiles Domain Specific Disadvantages General approach for all embedded softwares 25 DaRT - Dataparallelism for Real-Time Idea TLM Advantages Efficiency UML profile for SoC Simulation results Disadvantages Common approach Explicit verification Less semantics Focus only on simulation RTL PIM PIM Requirement Specification Interop PSM Bridge PSM 26 The Cadena project Idea Model Checkers PIM Requirement Specification PSM UML Profiles : MARTE Advantages Efficient code generation Proper validation of model Disadvantages Lack of domain specific language semantics 27 MIC & CoSMIC MIC Idea Based UML profiles from OMG Specification support for domain specific modeling languages Uses GME as base + model checking CoSMIC Combination of GME and MIC: Component based Advantages Formal verification techniques Model interpreter are used for application domain Disadvantages Very general approach Not suitable for protocol specification. 28 Survey results based on the development Challenge TACO GME DaRT Cadena MIC CoSMIC Design Y Y Y Y Y Y Mapping Y Y Y N Y Y Early N Y N N N Y Final Y N Y Y Y Y Code generation Y Y Y Y Y Y Testing thru Profiles N Y N Y N Y Y (L) N Y (L) N Y (L) Y (L) Verification and Validation Domain Specific Languages Lack of specification profiles (for protocols) Protocol needs early stage of validation Legend: Y - Yes, N - No, (L) – Limited support 29 Survey results based on the development Challenge TACO GME DaRT Cadena MIC CoSMIC Design Y Y Y Y Y Y Mapping Y Y Y N Y Y Early N Y N N N Y Final Y N Y Y Y Y Code generation Y Y Y Y Y Y Testing thru Profiles N Y N Y N Y Y (L) N Y (L) N Y (L) Y (L) Verification and Validation Domain Specific Languages Lack of specification profiles (for protocols) Protocol needs early stage of validation Legend: Y - Yes, N - No, (L) – Limited support 30 How to improve Appropriate methodology for communication protocol design and specifiations (as Domain Specific Language) Incorporating the Verification Validation techniques in early stage of the development Through Formal Verification Techniques Introducing enhanced model checkers with proper semantics Probably UML based profiles UML profile for dependable systems (MARTE – Modeling and Analysis for Real-Time Embedded systems) UML profile for System on a Chip UML profile for SystemC 31 Template for modeling Computational Independent Model R E F I N E M E N T S E X P L I C I T System Modeler S/W Model H/W Model Model Checker Integrated Model Verification and Validation UML Models S E M AN T I CS Domain Specifier System Mapper Target Model Model Verifier Transformation Rules (QVT) Domain Specific Language for communication protocols UML Profiles XMI System Generator / System Validator Libraries Code Generator / Translator Plugins .Net , C++ , Java , SystemC A Template based on MDA technique 32 Summary Model Driven Development Communication protocol State of the art Model Driven Techniques Importance ☞Domain specific language for protocol design ☞Requirement of validation techniques Design Template Early validation for models 33 Future Work Verification and Validation Techniques Communication Protocols Design specification for communication protocols UML based specification Incorporate V&V with design template Spin tool + formal verification techniques Case Study Implementation Efficiency comparison 34 35 References [Marc 04] Marcus, A.; Johan, L.; Ivan, P.; Dragos, T.: “MDE Support in a Protocol Processing Design Method”, Proceedings of Model-Driven Architecture: Foundations and Applications 2004, page(s): 234-247, Reseach Center for Intergrational Software Engineering, Department of Computer and Information Science, Linköping, Sweden, Jun, 2004. [Gme 07] “Generic Modeling Environment”, http://www.isis.vanderbilt.edu/projects/gme/. [Jean 05] Jean-Luc, D.; Philippe, M.; Samy, M.; Cédric, D.; Pierre, B.; Smail, N.: “Why to do without Model Driven Architecture in embedded system codesign?”, The first annual IEEE BENELUX/DSP Valley Signal Processing Symposium, (SPS-DARTS 2005), Antwerp, Belgium, April 2005. [Cade 07] http://cadena.projects.cis.ksu.edu/ [Mic 07] “Model Integrated Computing”, http://mic.omg.org/. [Cosm 07] http://www.dre.vanderbilt.edu/cosmic/ [Mda 08] www.omg.org/mda/ [Omg 08] www.omg.org 36 Some of the OMG members: AT&T BEA Borland Boeing CA Citigroup Compaq Ericsson Ford Fujitsu Glaxo HP Hitachi Hyperion IBM IONA io Software Kabira KC John Deere Microsoft MITRE MSC Soft NASA NEC NetGenics NTT OASIS Oracle Pfizer Rational SAGA SAP SAS Secant Siemens Sprint Sun Unisys Vertel 37 UML Profile // [Omg 08] A standardized set of extensions (stereotypes and tagged values) Defines an UML environment tailored to a particular use, such as modeling for a specific platform OMG Systems Modeling Langauge (SysML) UML Profile for CORBA UML Profile for CORBA® Component Model (CCM) UML Profile for CORBA® & CORBA® Component Model (CCM) UML Profile for DoDAF and MODAF (aka UPDM) UML Profile for Enterprise Application Integration (EAI) UML Profile for Enterprise Distributed Object Computing (EDOC) UML Profile for Modeling and Analysis of Real-time and Embedded Systems (MARTE) (Dependable Systems) UML Profile for Modeling QoS and Fault Tolerance Characteristics and Mechanisms UML Profile for Schedulability, Performance and Time UML Profile for Software Radio UML Profile for System on a Chip (SoC) UML Profile for Voice UML Testing Profile 38