Bulbul Rath EEL 6935- Embedded System Seminar Topic: Real Time Systems 02/14/2013 1.

Slides:



Advertisements
Similar presentations
Executional Architecture
Advertisements

Guaranteed Component Assembly with Round Trip Analysis for Energy Efficient High-integrity Multi-core Systems Artemis-AAL day 7 May, Budapest 1BME and.
Component Oriented Programming 1 Chapter 2 Theory of Components.
Kellan Hilscher. Definition Different perspectives on the components, behavioral specifications, and interactions that make up a software system Importance.
A Brief Introduction. Acknowledgements  The material in this tutorial is based in part on: Concurrency: State Models & Java Programming, by Jeff Magee.
Filling the Gap Between System Design & Performance Verification Rafik HENIA, Laurent RIOUX, Nicolas SORDON Thales Research & Technology.
Object-Oriented Analysis and Design
Amit, Keyur, Sabhay and Saleh Model Driven Architecture in the Enterprise.
Train Control Language Teaching Computers Interlocking By: J. Endresen, E. Carlson, T. Moen1, K. J. Alme, Haugen, G. K. Olsen & A. Svendsen Synthesizing.
L4-1-S1 UML Overview © M.E. Fayad SJSU -- CmpE Software Architectures Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
Presenter : Shih-Tung Huang Tsung-Cheng Lin Kuan-Fu Kuo 2015/6/15 EICE team Model-Level Debugging of Embedded Real-Time Systems Wolfgang Haberl, Markus.
Unified Modeling (Part I) Overview of UML & Modeling
Chapter 13 Embedded Systems
Using Architecture Frameworks
HAS. Patterns The use of patterns is essentially the reuse of well established good ideas. A pattern is a named well understood good solution to a common.
1/31 CS 426 Senior Projects Chapter 1: What is UML? Chapter 2: What is UP? [Arlow and Neustadt, 2005] January 22, 2009.
CS 290C: Formal Models for Web Software Lecture 6: Model Driven Development for Web Software with WebML Instructor: Tevfik Bultan.
November 18, 2004 Embedded System Design Flow Arkadeb Ghosal Alessandro Pinto Daniele Gasperini Alberto Sangiovanni-Vincentelli
CprE 458/558: Real-Time Systems
Software Issues Derived from Dr. Fawcett’s Slides Phil Pratt-Szeliga Fall 2009.
1 CS 426 Senior Projects Chapter 1: What is UML? Chapter 2: What is UP? [Arlow and Neustadt, 2002] January 26, 2006.
IV&V Facility Model-based Design Verification IVV Annual Workshop September, 2009 Tom Hempler.
An Introduction to Rational Rose Real-Time
MultiPARTES Towards Model-Driven Engineering for Mixed- Criticality Systems: MultiPARTES Approach A. Alonso, C. Jouvray, S. Trujillo, M.A. de Miguel, C.
What is UML? What is UP? [Arlow and Neustadt, 2005] January 23, 2014
UML - Development Process 1 Software Development Process Using UML (2)
CIT UPES | Sept 2013 | Unified Modeling Language - UML.
An Introduction to Software Architecture
Introduction to MDA (Model Driven Architecture) CYT.
Assessing the Suitability of UML for Modeling Software Architectures Nenad Medvidovic Computer Science Department University of Southern California Los.
Model-Driven Analysis Frameworks for Embedded Systems George Edwards USC Center for Systems and Software Engineering
Model Driven Development An introduction. Overview Using Models Using Models in Software Feasibility of MDA MDA Technologies The Unified Modeling Language.
1 LiSyC ENSIETA/DTN 02/04/2008 AADL execution semantics transformation for formal verification Joel Champeau, Thomas Abdoul, Pierre Yves Pillain, Philippe.
Chapter 10 Analysis and Design Discipline. 2 Purpose The purpose is to translate the requirements into a specification that describes how to implement.
UML diagrams What is UML UML diagrams –Static modeoing –Dynamic modeling 1.
Unified Modeling Language* Keng Siau University of Nebraska-Lincoln *Adapted from “Software Architecture and the UML” by Grady Booch.
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.
Design Analysis builds a logical model that delivers the functionality. Design fully specifies how this functionality will be delivered. Design looks from.
L6-S1 UML Overview 2003 SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College.
1 Qualitative Reasoning of Distributed Object Design Nima Kaveh & Wolfgang Emmerich Software Systems Engineering Dept. Computer Science University College.
2 2009/10 Object Oriented Technology 1 Topic 2: Introduction to Object-Oriented Approach Reference: u Ch.16 Current Trends in System Development (Satzinger:
Welcome Experiences in the Use of MDA and UML in Developing NATO Standards 16 July 2008 Chris Raistrick, Kennedy KC.COM.
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.
12 Chapter 12: Advanced Topics in Object-Oriented Design Systems Analysis and Design in a Changing World, 3 rd Edition.
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 Technical & Business Writing (ENG-715) Muhammad Bilal Bashir UIIT, Rawalpindi.
Lecture 13.  Failure mode: when team understands requirements but is unable to meet them.  To ensure that you are building the right system Continually.
Science and Technology Norwegian University of NTNU Rolv Bræk, January Introduction to Systems Engineering by Rolv Bræk NTNU.
Chapter 5 System Modeling. What is System modeling? System modeling is the process of developing abstract models of a system, with each model presenting.
Rational Unified Process Fundamentals Best Practices of Software Engineering Rational Unified Process Fundamentals Best Practices of Software Engineering.
21/1/ Analysis - Model of real-world situation - What ? System Design - Overall architecture (sub-systems) Object Design - Refinement of Design.
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.
Ontologies Reasoning Components Agents Simulations An Overview of Model-Driven Engineering and Architecture Jacques Robin.
Systems Architectures System Integration & Architecture.
Unified Modeling Language. What is UML? Standard language for specifying, visualizing, constructing, and documenting the artifacts of software systems,
UML (Unified Modeling Language)
CHESS Methodology and Tool Federico Ciccozzi MBEES Meeting Sälen, January 2011 January 2011.
UML Diagrams By Daniel Damaris Novarianto S..
What is UML? What is UP? [Arlow and Neustadt, 2005] October 5, 2017
Unified Modeling Language
UML Diagrams Jung Woo.
Model-Driven Analysis Frameworks for Embedded Systems
Shanna-Shaye Forbes Ben Lickly Man-Kit Leung
Analysis models and design models
An Introduction to Software Architecture
Design Yaodong Bi.
Software Development Process Using UML Recap
From Use Cases to Implementation
Presentation transcript:

Bulbul Rath EEL Embedded System Seminar Topic: Real Time Systems 02/14/2013 1

An MDE Methodology for the Development of High-Integrity Real-Time Systems Silvia Mazzini, Stefano Puri Intecs SpA, Pisa, Italy {silvia.mazzini, Tullio Vardanega University of Padua, Italy 2

Introduction Model Driven Engineering :- Definition, composition and integration of complex software systems. Model evolution through refinements, transformations and code generation, possibly automated by tool support. A popular variant is the Model Driven Architecture (MDA), to achieve a cohesive set of model-driven technology specifications that use version 2 of the OMG general-purpose UML language and/or specific profiles of it. 3

Model Driven Engineering Goals separate business and application logic from the underlying execution platform technology. focus developers on the production of models of the application and of the relevant business logic. support the generation of platform- specific models and code by means of engineered, and possibly automated, transformations. 4

Hard Real-Time UML for the Ravenscar Computational Model (HRT-UML/RCM) Object Management group(OMG) ‘s Unified Modeling Language (UML) - Specify, visualize, and document models of software systems. HRT-UML/RCM- an integrated method and infrastructure for the development of embedded real-time software systems, was one of the major results of the ASSERT (Automated proof based System and Software Engineering for Real-Time Applications) project. 5

HRT-UML/RCM & MDA Defines Platform Independent Models. Platform-specific models are automatically produced from platform-independent specifications using proven model-to-model transformations. Platform-specific models are submitted to static analysis. Once the user model is committed, its platform- specific correspondent becomes input to automatic generation of source code for the target platform. 6

Architectural Framework Functional View :-defines the sequential algorithmic behavior of the functional components of the system using UML class and state-chart diagrams. Interface view :- specifies how functional components aggregate together and what interfaces they offer and require and the relations traced among them, by augmenting the specification of the corresponding functional signatures with attributes that specify the desired concurrency semantics. Deployment view :-specifies the physical components of the system, in terms of nodes (processors, memory, devices), partitions, interconnects, protocols, capabilities and restrictions, and allocation relations with software components are submitted to static analysis. Concurrency view:-defines the concurrent architecture of the system in terms of threads of control, communication and synchronization protocols and resources to “realize” the execution semantics specified in the interface view for the target platform specified in the deployment view, assuming an execution environment that complies with the RCM.. 7

Architectural Views 8 functional and interface views operate in the platform-independent modeling space. concurrency view and the deployment views are platform specific.

Functional View Intentionally ignores all timing, concurrency and synchronization issues that are typical of real-time system design. Structural information can be expressed with standard UML class diagrams, and thus by the definition of classes, operations and attributes. The specification of behavioral information is an important step in the functional design process. It is used to feed model transformation and code generation. 9 Fig: functional view of a simple controller actuator

Interface View Components specified in the functional view are augmented with concurrency- related characteristics. Class entity Application-level Container (APLC) populates this view Modeled first as types, they are instantiated and interconnected to form a precise and verifiable instance of the real-time software system under design. An APLC is a stereotyped UML structured component; it can own parts that can be typed only with a (non-abstract) class defined in the functional view. Parts are the only features that the designer can create/delete for an APLC. Designer creates the APLC, together with their parts, and then attaches semantic decorations to all elementary provided ports (EPP), to specify the concurrent behavior that shall occur on invocation of each wrapped operation. 10

Elementary Ports(EP) Interfaces are automatically exposed by the APLC through stereotyped ports, called port clusters in HRT-UML/RCM A port cluster is a special UML composite port which aggregates elementary interaction points, called elementary ports. EP acts as wrapper of the associated operation to specify the kind of the synchronization protocol when the operation, implemented by the functional part, is invoked through the owner port. Permits finer grained modeling of component interactions as compared to plain UML. Attaching concurrency semantics to elementary ports and referring to functional entities via APLC parts facilitates the reuse of functional specifications across multiple execution scenarios. 11

12 Detailed View of Port Cluster

Deployment View Concurrency View Designer specifies the physical architecture of the system and commands the way the logical architecture must map to it. The model of Partition is used and each partition contains several APLC. APLC in each partition are isolated in space, time and communication from all other partitions. permit finer grained modeling of component interactions as compared to plain UML. Platform specific view. describes the concurrent architecture of the system realized in compliance with the RCM for the target execution platform as specified in the deployment view. Once functional and interface views are modeled and the target platform is specified, a fully automated model transformation process obtains concurrency view. Best suited to feed feasibility and sensitivity analysis as well as code generation. 13

HRT-UML/RCM Process Modeling Phase Modeling Transformation Feasibility and Sensitivity Analysis Code Generation 14

Industrial Evaluation Results In the context of the ASSERT project a prototype tool supporting the methodology was developed and submitted to extensive industrial evaluation. Favourable Results :- Satisfactory integration level of all tools in the HRT- UML/RCM track Guarantee of consistency across model spaces. The declarative style of specification in the interface view was rated effective in permitting the user to abstract away from the complexity of the underlying implementation (captured by the concurrency view). Ensures static analysis as functional dependency is determined by class members only. 15

Future Work Provisions in interface view itself for making changes in APLC rather than tracing back to functional view every time. Support for hierarchical functional decomposition. Behavioral modeling with statecharts, to increase the rate of functional code generation. Integration with complementary and/or domain specific languages and tools such as Matlab/Simulink, Scade, SDL. Extensions to realtime attributes and concurrent semantics to the modeling of operation modes as well as of application-specific synchronization protocols. 16

An MDE-based approach for reconfigurable DRE systems Fatma Krichen1,2, Amal Ghorbel2, Brahim Hamid1, and Bechir Zalila2 1IRIT, University of Toulouse, France 2ReDCAD, University of Sfax, Tunisia 17

Introduction Distributed Real-time Embedded(DRE) Systems:- Constructing reconfigurable DRE systems requires considerable efforts and is error prone.. Most DRE systems are not fully autonomous and require the human intervention to respond to triggered events and to be reconfigured. MDE based model to model (M2M) transformations to develop reconfigurable DRE systems. M2M- At software level, model transformations until a final platform specific model is achieved. 18

MDE based approach Metamode:- Captures and characterizes a set of configurations (modes) instead of defining each of them. Described by structured components, connectors as well as non-functional and structural constraints. Modes are specified by the set of instances of structured components and connectors defined by this MetaMode and satisfying its constraints. MetaMode transition presents a set of reconfigurations between modes belonging to these MetaModes. 19

DRE- MDE based Development process Reconfigurable Application model- Modeling of the dynamic reconfiguration using state machines. MetaMode Model-Modeling of system MetaModes. Hardware Model- modeling of the fixed hardware architecture in terms of hardware components such as processor. Software/Hardware Mapping Model- Allocation of system MetaModes to the fixed hardware architecture. Implementation Model- Generation of models which present the system implementation. 20

Reconfigurable Computing Architecture for Real Time Embedded Systems (RCA4RTES) Meta-model Software System meta-class has a set of MetaModes and MetaMode transitions. Mode transition involves an algorithm for switching from the current configuration to the target one. MetaMode transition presents an abstraction of a set of mode transitions. Mode configuration is a set of structured components, the connections between them, their configuration, and their allocation to physical nodes.. 21

Implementation Meta-model Has a set of processes defined by both System and Process meta-classes. Connector metaclass describes communication between two processes (sender and receiver) through buses of Bus meta- class. Each thread in a process is allocated to a processor as per design constraints. Mode configuration is a set of structured components, the connections between them, their configuration, and their allocation to physical nodes.. 22

Thread MetaClass Types of Threads : - Periodic Thread metaclass - Aperiodic Thread metaclass - Sporadic Thread Metaclass 23

Dynamic Reconfiguration Metaclasses Deployment metaclass -Presents the deployment of the initial mode TransportHighLevelImpl meta-class -Handles both sending and receiving data for each thread Activity meta-class-Allows the starting of system threads and also the starting of the thread which ensures the dynamic reconfiguration of system (instance of ReconfigurationTrigger class of RCES4RTES middleware model). 24

Transformation Engine Endogenous - source and target models are conform to the same meta-model : Reconfiguration application model, MetaMode model and software/hardware mapping model are conform to the RCA4RTES meta-model. Exogenous- different source and target meta-models Software/hardware mapping model is conform to the RCA4RTES meta-model Implementation model is conform to the implementation meta-model 25

RCA4RTES profile SoftwareSystem stereotype – extends the StateMachine UML meta-class and presents the dynamic reconfigurations of DRE systems. MetaModeTransition stereotype -extends the Transition UML meta-class and defines the events that handle the system state machine. StructuredComponent stereotype- nature, deadline, period etc define thread characteristics in a process. StructuralConstraint stereotype- extends the Constraint UML meta-class in order to specify architectural constraints. FlowPort and ClientServerPort stereotypes - extend the Port UML meta-class. Connector stereotype- extends the Connector UML meta- class. 26

RCA4RTES profile description 27

Implementation profile PeriodicThread, SporadicThread and AperiodicThread streotype- each process is composed by a set of threads. Deployment, TransportHighLevel Impl and Activity stereotypes 28

MDE based approach-GPS Step 1-Metamodes – Insecure GPS- with insecure functioning for a traditional use of a GPS – Secure GPS-with secure functioning for a restricted use of a GPS with some safety requirements. Step 2- specify each MetaMode by a set of structured components, connectors and non-functional and structural constraints like position, encoder, decoder etc. Step 3- specify the fixed hardware architecture followed by the allocation of each MetaMode to the specified fixed hardware architecture. 29 Fig: UML State Machine

Conclusions and Future Work RCA4RTES and implementation meta-models: - RCA4RTES meta-model allows to specify reconfiguration application model, MetaMode model and software/hardware mapping model. - Implementation meta-model allows to specify implementation model. Development of ECLIPSE plug-in allowing the generation of code following the proposed process. Enable validation and verification of reconfigurable DRE systems. Handle the state of components and connectors during reconfiguration at runtime. 30