UML Profile for MARTE: Time Model and CCSL

Similar documents
Building Synchronous DataFlow graphs with UML & MARTE/CCSL

CCSL: specifying clock constraints with UML/MARTE

Dealing with AADL end-to-end Flow Latency with UML Marte.

Modeling of immediate vs. delayed data communications: from AADL to UML MARTE

How to explicitly defines MoCCs within a model

Chapter 2 MARTE vs. AADL for Discrete-Event and Discrete-Time Domains

MARTE for time modeling and verification of real-time embedded system

Verifying MARTE/CCSL Mode Behaviors using UPPAAL

Executing AADL models with UML/Marte

Correctness Issues on MARTE/CCSL constraints

Embedded software design with Polychrony

MARTE Based Modeling Tools Usage Scenarios in Avionics Software Development Workflows

System-level co-modeling AADL and Simulink specifications using Polychrony (and Syndex)

JOURNAL OF OBJECT TECHNOLOGY

How useful is the UML profile SPT without Semantics? 1

A Methodology for Improving Software Design Lifecycle in Embedded Control Systems

Separating Product Variance and Domain Concepts in the Specification of Software Product Lines

COSC 3351 Software Design. An Introduction to UML (I)

Time modeling in MARTE

Modeling Time(s) Charles André, Frédéric Mallet, Robert De Simone. HAL Id: inria

Reactive Types. Jean-Pierre Talpin. Campus de Beaulieu, Rennes, France.

Combining CCSL and Esterel to specify and verify time requirements

System Synthesis from AADL using Polychrony

A MDD Methodology for Specification of Embedded Systems and Automatic Generation of Fast Configurable and Executable Performance Models

UML 2.0 State Machines

UML for RTES: develop a UML-based proposal for modelling and analysing of RTES

An Efficient Modeling and Execution Framework for Complex Systems Development

Activation Inheritance in Modelica

A Comparison and Evaluation of Real-Time Software Systems Modeling Languages

MARTE: A Profile for RT/E Systems Modeling, Analysis and Simulation?

Marte CCSL to execute East-ADL Timing Requirements

A UML 2 Profile for Variability Models and their Dependency to Business Processes

Some notes about Event-B and Rodin

Integrating SysML and OWL

Update on AADL Requirements Annex

Meta Architecting: Towered a New Generation of Architecture Description Languages

Integrating Software Architecture Concepts into the MDA Platform with UML Profile

JOURNAL OF OBJECT TECHNOLOGY

Introduction 2 The first synchronous language (early 80 s) Gérard Berry and his team (École des Mines de Paris / INRIA Sophia-Antipolis) Imperative, s

Towards a PIM for virtual prototyping

Using the UML for Architectural Description Rich Hilliard

Guiding System Modelers in Multi View Environments: A Domain Engineering Approach

MARTE based design approach for targeting Reconfigurable Architectures

Mapping ConcurTaskTrees into UML 2.0

INTEGRATING SYSTEM AND SOFTWARE ENGINEERING FOR CERTIFIABLE AVIONICS APPLICATIONS

On Using UML Profiles in ATL Transformations

ABSTRACT 1. INTRODUCTION

AADL Requirements Annex Review

CLAN: A Tool for Contract Analysis and Conflict Discovery

XEVE, an ESTEREL Verification Environment

Synchronous Specification

DIVERSITY TG Automatic Test Case Generation from Matlab/Simulink models. Diane Bahrami, Alain Faivre, Arnault Lapitre

Synthesis of Embedded Software

The Esterel language

Synchronous reactive programming

Programming Embedded Systems

Lecture 2. The SCADE Language Data Flow Kernel. Daniel Kästner AbsInt GmbH 2012

Clock-directed Modular Code-generation for Synchronous Data-flow Languages

ModelicaML: Getting Started Issue April 2012

Computing and maximizing the exact reliability of wireless backhaul networks

Modeling Interactions of Web Software

Natural Interpretation of UML/MARTE Diagrams for System Requirements Specification

13 AutoFocus 3 - A Scientific Tool Prototype for Model-Based Development of Component-Based, Reactive, Distributed Systems

Real-Time Coordination in Distributed Multimedia Systems

Capella to SysML Bridge: A Tooled-up Methodology for MBSE Interoperability

An Introduction to Lustre

By: Chaitanya Settaluri Devendra Kalia

EXECUTABLE MODELING WITH FUML AND ALF IN PAPYRUS: TOOLING AND EXPERIMENTS

Chapter 2 Synchronous Programming: Overview

Exploring Software Architectures in AADL via Polychrony and SynDEx

Synchronous Formal Design of Cyber-Physical Systems

2 nd UML 2 Semantics Symposium: Formal Semantics for UML

Activity Nets: A UML profile for modeling workflow and business processes

Open Work of Two-Hemisphere Model Transformation Definition into UML Class Diagram in the Context of MDA

Implementing a Real-Time Architecting Method in a Commercial CASE Tool

Computation Independent Model (CIM): Platform Independent Model (PIM): Platform Specific Model (PSM): Implementation Specific Model (ISM):

Petri nets as a means to validate an architecture for time aware systems

FROM DESIGN-TIME CONCURRENCY TO EFFECTIVE IMPLEMENTATION PARALLELISM: THE MULTI-CLOCK REACTIVE CASE

M. De Wulf, L. Doyen,J.-F. Raskin Université Libre de Bruxelles Centre Fédéré en Vérification

Formal modelling and verification in UPPAAL

Modeling variability with UML

Clock Constraints Specification Langage : A mechanized denotational semantics in Agda

AADL Application modeling with MARTE Madeleine Faugère, Timothée Bourdeau THALES Research and Technology Robert de Simone INRIA Sébastien Gérard CEA

CS4215 Programming Language Implementation. Martin Henz

TIME-BASED CONSTRAINTS IN THE OBJECT CONSTRAINT LANGUAGE OCL

Supply Tank 1. Storage Tank 1 TE1. Supply Tank 2. Storage Tank 2 TE2

Clock refinement in imperative synchronous languages

Automatic visual recognition for metro surveillance

Blazo Nastov. Journée des doctorant, Nîmes, France 19 June 2014

StateClock: a Tool for Timed Reactive Modules

Joint Entity Resolution

Formal Methods in Software Engineering. Lecture 07

Modeling Real-Time Tolapai Based Embedded System using MARTE

An Agent Modeling Language Implementing Protocols through Capabilities

junit RV Adding Runtime Verification to junit

The Architecture of Federations From Process to Software

Distributed Systems Programming (F21DS1) Formal Verification

Modeling, Testing and Executing Reo Connectors with the. Reo, Eclipse Coordination Tools

Detecting Structural Refactoring Conflicts Using Critical Pair Analysis

A UML Profile for SysML-Based Comodeling for Embedded Systems Simulation and Synthesis

Transcription:

UML Profile for MARTE: Time Model and CCSL Frédéric Mallet 1 Université Nice Sophia Antipolis, Aoste team INRIA/I3S, Sophia Antipolis, France Frederic.Mallet@unice.fr Abstract. This 90 minutes tutorial gives a basic introduction to the UML Profile for MARTE (Modeling and Analysis of Real-Time and Embedded systems) adopted by the Object Management Group. After a brief introduction to the UML profiling mechanism, we give a broad overview of the MARTE Profile. Then, the tutorial shall focus on the time model of MARTE and its companion language CCSL (Clock Constraint Specification Language). Keywords. UML Profile, Real-Time, Embedded systems, MARTE, CCSL Key terms. StandardizationProcess, UbiquitousComputing, ConcurrentComputation, ModelBasedSoftwareDevelopmentMethodology 1 Audience and focus The targeted audience is academics or industrials interested in high-level modeling with UML and its application to the analysis of real-time and embedded systems. The tutorial does not require any preliminary background as it will give a high-level and broad description of the UML Profile as well as a closer focus on its time model. To ensure that a large public can follow the presentation, we should start by a brief overview of UML light-weight extension mechanism, the so-called profiling mechanism. 2 Topic The UML profile for Modeling and Analysis of Real-Time and Embedded systems, referred to as MARTE [1], has been adopted by the OMG in November 2009 and revised in June 2011. It extends the Unified Modeling Language (UML) [2] with concepts required to model embedded systems. This ninety minutes tutorial gives a basic introduction to the UML Profile for MARTE. After a broad view of the Profile, the tutorial shall focus on the time model of MARTE and its companion language CCSL (Clock Constraint Specification Language).

290 F. Mallet 2.1 General Introduction to MARTE Figure 1 shows the general structure of MARTE. The General Component Modeling (GCM) and Repetitive Structure Modeling (RSM) packages offer a support to capture the application functionality. GCM defines basic concepts such as data flow ports, components and connectors. RSM provides concepts for expressing repetitive structures and regular interconnections. It is essential for the expression of parallelism, in both application modeling and execution platform modeling; and for the allocation of applications onto execution platforms. Fig. 1. Structure of MARTE specification The Hardware Resource Modeling (HRM) package, which specializes the concepts of GCM into hardware devices such as processor, memory or buses, allows the modeling of the execution platforms in MARTE. The Allocation (Alloc) package allows the modeling of the space-time allocation of application functionality on an execution platform. Both the HRM and Alloc packages can be used with the RSM package for a compact modeling of repetitive hardware (e.g., grids of processing elements) and data and computation distributions of a parallel application onto such a repetitive hardware.

UML Profile for MARTE: Time Model and CCSL 291 The models described with the previous packages can be refined with temporal properties specified within the Time package [3]. Such properties are typically clock constraints denoting some activation rate constraints about considered components. The concepts of the Time package are often used with the Clock Constraint Specification Language (CCSL) [4, 5], which was initially introduced as a non-normative annex of MARTE. 2.2 MARTE Time Model In MARTE, a clock c is a totally ordered set of instants, I c. In the following, i and j are instants. A time structure is a set of clocks C and a set of relations on instants I = c C I c. ccsl considers two kinds of relations: causal and temporal ones. The basic causal relation is causality/dependency, a binary relation on I: I I. i j means i causes j or j depends on i. is a pre-order on I, i.e., it is reflexive and transitive. The basic temporal relations are precedence ( ), coincidence ( ), and exclusion (#), three binary relations on I. For any pair of instants (i, j) I I in a time structure, i j means that the only acceptable execution traces are those where i occurs strictly before j (i precedes j). is transitive and asymmetric (reflexive and antisymmetric). i j imposes instants i and j to be coincident, i.e., they must occur at the same execution step, both of them or none of them. is an equivalence relation, i.e., it is reflexive, symmetric and transitive. i # j forbids the coincidence of the two instants, i.e., they cannot occur at the same execution step. # is irreflexive and symmetric. A consistency rule is enforced between causal and temporal relations. i j can be refined either as i j or i j, but j can never precede i. In this paper, we consider discrete sets of instants only, so that the instants of a clock can be indexed by natural numbers. For a clock c C, and for any k N, c[k] denotes the k th instant of c. Specifying a full time structure using only instant relations is not realistic since clocks are usually infinite sets of instants. Thus, an enumerative specification of instant relations is forbidden. The Clock Constraint Specification Language (ccsl) defines a set of time patterns between clocks that apply to infinitely many instant relations [4]. The uml Profile for marte proposes several specific stereotypes in the Time chapter to capture ccsl specifications. Figure 2 briefly describes the three main stereotypes. Boxes with the annotation metaclass denote the uml concepts on which our profile relies, so-called metaclasses. Boxes with stereotype are the concepts introduced by marte, i.e., the stereotypes. Arrows with a filled head represent extensions, whereas normal arrows indicate properties of the introduced stereotypes. Clock extends uml Events to spot those events that can be used as time bases to express temporal or logical properties. ClockConstraint extends uml Constraints to make an explicit reference to the constrained clocks. TimedProcessing extends Action to make explicit their start and finishing events. When those events are clocks, then a ClockConstraint can constrain the underlying action to start or finish its execution as defined in a ccsl specification.

292 F. Mallet Fig. 2. Excerpt of the MARTE Time Profile 2.3 The Clock Constraint Specification Language On top of marte clocks, the Clock Constraint Specification Language defines a set of operators (relations and expressions) [4]. As an example, consider the clock relation precedence (denoted ), a transitive asymmetric binary relation on C: C C. If left and right are two clocks, left right, read left precedes right, specifies that the k th instant of clock left precedes the k th instant of clock right, for all k. More formally: For a pair of clocks (left, right) C C, left right means k N, left[k] right[k]. Similarly, let us consider the transitive and reflexive binary relation on C called issubclockof and denoted. left right (read left is a sub clock of right) means that for all k, the instant lef t[k] of lef t coincides with exactly one instant of right. More formally: left right means k N, n N left[k] right[n]. The relation is order-preserving. All the coincidence-based relations are based on issubclockof. When both left right and right left then we say that left and right are synchronous: lef t = right. A ccsl specification consists of clock declarations and conjunctions of clock relations between clock expressions. A clock expression defines a set of new clocks from existing ones, most expressions deterministically define one single clock. An

UML Profile for MARTE: Time Model and CCSL 293 example of clock expression is delay (denoted $: C N C). c $ n specifies that a new clock is created and is the exact image of c delayed for n instants: o = c $ n defines a clock o C such that k N, o[k] c[k + n]. By combining primitive relations and expressions, we derive a very useful clock relation that denotes a bounded precedence. left n right is equivalent to the conjunction of left right and right (left $ n). The special case, when n is equal to 1 is called alternation and is denoted left right (reads lef t alternates with right). 3 Conclusion The uml Profile for marte is dedicated to the modeling and analysis of realtime and embedded systems. Its time model relies on a notion of clock borrowed from the synchronous languages [6] and their polychronous extensions [7]. Those clocks can be logical or physical. The time model also provides a support to build causal and temporal constraints to force the clocks to tick according to predefined patterns. Thus, the evolution of the clocks imposes an execution semantics on the underlying uml marte model. Whereas the marte time model provides the notions of clocks and constraints, its companion language, the Clock Constraint Specification Language provides a syntax to define the constraints themselves. This brief tutorial introduces the main concepts of marte time model and gives an overview of ccsl. Acknowledgments This work has been partially funded by the PRESTO Project (ARTEMIS-2010-1-269362). References 1. OMG: UML Profile for MARTE, v1.1. Object Management Group. (June 2011) formal/2011-06-02. 2. OMG: UML Superstructure, v2.4.1. Object Management Group. (August 2011) formal/2011-08-06. 3. André, C., Mallet, F., de Simone, R.: Modeling time(s). In: 10th Int. Conf. on Model Driven Engineering Languages and Systems (MODELS 07). Number 4735 in LNCS, Nashville, TN, USA, ACM-IEEE, Springer (September 2007) 559 573 4. André, C.: Syntax and semantics of the Clock Constraint Specification Language (CCSL). Research Report 6925, INRIA (May 2009) 5. Mallet, F., André, C., de Simone, R.: CCSL: specifying clock constraints with UML/Marte. Innovations in Systems and Software Engineering 4(3) (2008) 309 314 6. Benveniste, A., Caspi, P., Edwards, S.A., Halbwachs, N., Le Guernic, P., de Simone, R.: The synchronous languages 12 years later. Proc. of the IEEE 91(1) (2003) 64 83

294 F. Mallet 7. Le Guernic, P., Talpin, J.P., Le Lann, J.C.: Polychrony for system design. Journal of Circuits, Systems, and Computers 12(3) (2003) 261 304 8. Mallet, F.: Logical Time in Model Driven Engineering. Habilitation à diriger des recherches, Université Nice Sophia-Antipolis (November 2010) Biography Frédéric Mallet is an associate professor at Université Nice Sophia Antipolis. He is a permanent member of the Aoste team-project, a joint team between INRIA and I3S laboratory. He received a PhD in Computer Science in 2000 and his habilitation degree [8] in 2010. Since 2007, he has been heavily involved in the definition, finalization and revision of the UML Profile for MARTE 1 and has been a voting member of the successive finalization and revision task forces for MARTE at the OMG. His main research interests include the definition of models for the specification of functional and non-functional properties of real-time and embedded systems. He also develops tools and techniques for the validation and verification of such models. 1 http://www.omgmarte.org