From Analysis to Code Generation of Protocols and Embedded Software with a UML-Based Formal Environment Named TURTLE 2005

Similar documents
From Analysis to Code Generation of Distributed Systems with a UML-Based Formal Environment Named TURTLE 2005

TURTLE Four Weddings and a Tutorial

TTool Training. III. Using TTool

TTool Training. I. Introduction to UML

EARLY CHECKING OF SYSML MODELS APPLIED TO PROTOCOLS

UMLEmb: UML for Embedded Systems. I. Introduction. Ludovic Apvrille Eurecom, office 470

UML for Embedded Systems IV. Validation

Engineering of computer networking protocols : an historical perspective

Automatically Generation of N-bit Logic Circuit Components in Extended LOTOS from High-Level Functional Programming Language: HDCaml

Design Space Exploration of Systems-on-Chip: DIPLODOCUS

A Performance Profile and Test Tool for Development of Embedded Software Using Various Report Views

MARTE based design approach for targeting Reconfigurable Architectures

Distributed Systems Programming (F21DS1) Formal Verification

Formal System-level Design Space Exploration

A test bed for distributed real-time scheduling experimentation based on the CHORUS micro-kernel

Translating Real-Time UML Timing Constraints into Real-Time Logic Formulas

EXTENDED DISTRIBUTED UML-BASED PROTOCOL SYNTHESIS METHOD

Reliable Self-Deployment of Cloud Applications

Multimedia Ontology-Driven Architecture for Multimedia Systems

TEPE: A SysML Language for Time-Constrained Property Modeling and Formal Verification

Abstracting Timing Information in UML State Charts via

TEPE: A SysML Language for Time-Constrained Property Modeling and Formal Verification

Approaches of using UML for Embedded System Design

STEPWISE DESIGN WITH MESSAGE SEQUENCE CHARTS *

Available online at ScienceDirect. Procedia Computer Science 56 (2015 )

Properties Preservation in Distributed Execution of Petri Nets Models

TTool/DIPLODOCUS: a UML Model-Driven Environment for Embedded Systems-on-Chip Design

Using LNT Formal Descriptions for Model-Based Diagnosis

From MDD back to basic: Building DRE systems

- - PARADISE: Design Environment for Parallel & Distributed, Embedded Real-Time

Object Orientated Analysis and Design. Benjamin Kenwright

Static Safety Analysis of UML Action Semantics for Critical Systems Development

Lecture 6. Abstract Interpretation

Formal Verification for UML/SysML models

NEW CHALLENGES IN COLLABORATIVE VIRTUAL FACTORY DESIGN

Embedded Systems Requirements Verification Using HiLeS Designer

A Software Architecture-Based Approach for Formalising Middleware Behaviour

UML Profile for MARTE: Time Model and CCSL

QoS-aware resource allocation and load-balancing in enterprise Grids using online simulation

Design of Telecommunication Services Based on Software Agent Technology and Formal Methods

Improving the software development life cycle in process control using UML/SysML

An evaluation of Papyrus-RT for solving the leader-follower challenge problem

Correctness of Model-based Component Composition without State Explosion

A Model-Driven Approach to Adapt SysML Blocks

A UML SIMULATOR BASED ON A GENERIC MODEL EXECUTION ENGINE

Formal Methods in Software Design. Markus Roggenbach

Flight Systems are Cyber-Physical Systems

Codesign Framework. Parts of this lecture are borrowed from lectures of Johan Lilius of TUCS and ASV/LL of UC Berkeley available in their web.

Mapping UML Models to Colored Petri Nets Models based on Edged Graph Grammar

Proposal of a Supporting Method for Diagrams Generation with the Transformation Rules in UML

Mapping ConcurTaskTrees into UML 2.0

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

Evaluating Context Descriptions and Property Definition Patterns for Software Formal Validation

Counterexample Guided Synthesis of Monitors for Realizability Enforcement. Matthias Güdemann Gwen Salaün Meriem Ouederni

Hardware Description Languages & System Description Languages Properties

Improving the Definition of UML

PragmaDev. change request. Emmanuel Gaudin. PragmaDev ITU-T SG17 change request Grimstad June 24,

Management Information Model Engineering

PL Punta Arenas

Formal specification of semantics of UML 2.0 activity diagrams by using Graph Transformation Systems

Modeling and Verification of RBC Handover Protocol

Business Intelligence & Process Modelling

Approximation of (H)MSC semantics by Event Automata

COMMUNICATION PROTOCOL ENGINEERING

A graphical user interface for service adaptation

COMP 763. Eugene Syriani. Ph.D. Student in the Modelling, Simulation and Design Lab School of Computer Science. McGill University

Intro to Modelling and UML

Techniques for the unambiguous specification of software

Hardware, Software and Mechanical Cosimulation for Automotive Applications

A Tutorial on TTool/DIPLODOCUS: an Open-source Toolkit for the Design of Data-flow Embedded Systems

From Task Graphs to Petri Nets

Qualitative Analysis of WorkFlow nets using Linear Logic: Soundness Verification

BCS-FACS Workshop on Formal Aspects of the Human Computer Interface

2 STG: The Symbolic Test Generation Tool

Testing Distributed Systems

Formal Methods in Describing Architectures

UML-Compiler: A Framework for Syntactic and Semantic Verification of UML Diagrams

Combining SysML and AADL for the Design, Validation and Implementation of Critical Systems

ISO/IEC JTC1/SC7 /N3016

The Specifications Exchange Service of an RM-ODP Framework

Hardware Description Languages & System Description Languages Properties

STRUCTURAL COVERAGE FOR LOTOS A Probe Insertion Technique

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

Model Driven Engineering (MDE)

Département d'informatique et de recherche opérationnelle Universite de Montreal, Canada

The Syntax and Semantics of FIACRE

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

MODELING INTERACTIVE SYSTEMS WITH HIERARCHICAL COLORED PETRI NETS

UML4COP: UML-based DSML for Context-Aware Systems

ETSI ETR 346 TECHNICAL December 1996 REPORT

Transforming UML Collaborating Statecharts for Verification and Simulation

Distributed System Design from Global Requirements

Step-wise Refinement Design Example Using LOTOS

Agenda. 1 Business Processes. 2 Modeling Techniques Used in this Work. 3 Automated Conversion from Business Process Models to SAN

From Object Composition to Model Transformation with the MDA

A LOTOS Framework for Middleware Specification

The TTC 2011 Reengineering Challenge Using MOLA and Higher-Order Transformations

Object-Oriented Development and UML. Announcement. Agenda 7/3/2008. Class will resume on July 22. Try to complete the lab assignments by July.

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

Verification and testing automation of UML projects

Transcription:

From Analysis to Code Generation of Protocols and Embedded Software with a UML-Based Formal Environment Named TURTLE 2005 Ludovic Apvrille ludovic.apvrille@enst.fr Ludovic Apvrille - UML - 2005. Slide #1 Outline Problematic The TURTLE UML profile Methodology Definition Semantics TTool: The TURTLE Toolkit References Ludovic Apvrille - UML - 2005. Slide #2

UML at a Glance Noting new but a federation of best practices A notation, not a methodology An international standard at OMG (Object Management Group) 13 diagrams to express complementary point of views Semantic variation points No standardized formal semantics Profile: the possibility to tailor the UML for your application domain Industry support Tools (TAU G2, ) Lingua franca for software-intensive system designers and developers Research work Real-time? Adding formality to the UML A UML model for simulation, verification, code generation, test generation, performance evaluation, Ludovic Apvrille - UML - 2005. Slide #3 UML Profiles for Embedded Systems and Protocols Profile for Performance, Scheduling and Time Profile defined at the OMG Addresses more specifically real-time systems Rose RT Profile Toolkit Capsules Ports Protocols Communication channels Methodology RUP TAU G2 Toolkit based on UML 2.0 elements issued from SDL Methodology Ludovic Apvrille - UML - 2005. Slide #4

Propositions Idea: let us enrich UML UML operators are informal UML lacks advanced temporal operators such as time intervals UML has no methodology (no validation) Proposition: Semi-formal UML-based environment Semantics given by mapping to a Formal Description Technique What formal language? Well-defined formal semantics Logical and temporal operators Tools => RT-LOTOS / Petri Nets with real-time extensions => TURTLE UML profile (Timed UML and RT-LOTOS Environment) Ludovic Apvrille - UML - 2005. Slide #5 TURTLE: Methodology Formal validation Code generation (3) Deployment: components + DD (4) Code (Java) Execution Generation and execution of Java Code (2) Design CD + ADs Formal validation Automatic synthesis (1) Analysis IOD + SDs Formal validation Ludovic Apvrille - UML - 2005. Slide #6

TURTLE Analysis Interaction Overview Diagram Sequence Diagram Ludovic Apvrille - UML - 2005. Slide #7 TURTLE Design Ludovic Apvrille - UML - 2005. Slide #8

Relations between Tclasses: TURTLE s Composition Operators Default relation Parallel Communication relations Synchro Invocation Note: Tclasses exchange information exclusively through communication gates Others Sequence Preemption There can be only one composition relation between two tclasses Ludovic Apvrille - UML - 2005. Slide #9 Activity diagrams: Logical and Temporal Operators Ludovic Apvrille - UML - 2005. Slide #10

TURTLE Deployment diagrams TURTLE artifacts Set a classes modeled in a TURTLE designs TURTLE Deployment diagrams Execution nodes May hosts TURTLE artifacts Links between nodes Interconnection of Artifacts gates Formal specification Parameter: delay, loss rate Pseudo FIFO Actions in the same time slot may be reordered For Java code generation Protocol: UDP, TCP, RMI Ports Ludovic Apvrille - UML - 2005. Slide #11 Example of TURTLE Deployment Diagram Artifact PkgClient is defined here, and used there Ludovic Apvrille - UML - 2005. Slide #12

TTool: an Open-Source Toolkit Developed at ENST - LabSoC Analysis or Design Syntax analysis RT-LOTOS Generation Simulation (RTL) Validation (RTL) Projection / Minimization of graph (CADP/Aldébaran) Analysis of traces Visualize graph (Dotty) Graph analysis Java Generation or Deployment Errors.java Compilation (JDK).class Execution (JDK) Ludovic Apvrille - UML - 2005. Slide #13 LOTOS LOTOS = Language Of Temporal Ordering Specification Standardized at ISO Process algebra Choice, Parallel, Synchro, Sequence, Disrupt P[a,b, c, d] = P1[a, b] [] P2[c, d] P[a,b, c, d] = P1[a, b] P2[c, d] P[a, b, c] = P1[a, b] [b] P2[b, c] P[a, b] = P1[a] >> P2[b] P[a, b] = P1[a] [> P2[b] Ludovic Apvrille - UML - 2005. Slide #14

RT-LOTOS LOTOS with real-time extensions! Delay Latency Time-limited offer delay(10) a; latency(15) b; c{12}; Ludovic Apvrille - UML - 2005. Slide #15 Example of an RT-LOTOS Specification specification MEDIUM : noexit := (...) behaviour hide iu_s, iu_d in let period : nat = 30000 in stream_sender[iu_s](0, period) [iu_s] medium[iu_s,iu_d](14000, 20000) where process stream_sender [iu_s] (n : nat, period : nat) : noexit := iu_s0!n; delay(period) stream_sender[iu_s] (n+1, period) endproc process medium [n_in,m_out] (dmin, dmax : nat) : noexit := m_in?x:nat; delay(dmin,dmax)m_out!x; medium[m_in,m_out](dmin,dmax) endproc endspec Ludovic Apvrille - UML - 2005. Slide #16

Semantics of TURTLE Operators Translation algorithms AD1 AD2.. ADn AD 1 AD 2 AD m [g1, gk] (τ(ad1) τ(ad2) τ(adn) ) >> (τ(ad 1) [g1, gk] τ(ad 2) [g1, gk] τ(ad m) ) a t a{t, τ(ad2)}; τ(ad1) AD1 AD2 Ludovic Apvrille - UML - 2005. Slide #17 RTL Toolkit (Developed at LAAS-CNRS) Simulation Generation of DTAs Generation of reachability graphs Ludovic Apvrille - UML - 2005. Slide #18

Visualization of Graphs (Cont.) Logical transition Temporal transition Regular termination or deadlock Logical state Substate Logical transition with data exchange Ludovic Apvrille - UML - 2005. Slide #19 Minimized Graph (Obtained with CADP INRIA) Projection and Minimization Ludovic Apvrille - UML - 2005. Slide #20

From Graphs to TURTLE Actions Action on the graph Corresponding TURTLE actions Ludovic Apvrille - UML - 2005. Slide #21 Other Useful Features Generation of executable Java code From design: monolithic application From deployment: network-aware code UDP, TCP, RMI Libraries of TURTLE elements Design Observer Reduce combinatory explosion TObjects Instances of TURTLE classes TDatas Definition of complex types Ludovic Apvrille - UML - 2005. Slide #22

Other Useful Features TTool is released with a CeCILL License GPL-like Sources may be quite easily extended to Support other diagrams Provide other semantics to diagrams Implement other code generators Ludovic Apvrille - UML - 2005. Slide #23 Use of TURTLE / TTool Modeling of embedded software Alcatel Space (proofs of dynamic reconfiguration) Modeling of protocols TéSA laboratory (DIPCAST Project) UDCast (Maestro project) Modeling of security constraints LAAS-CNRS (Safecast project) Others Link between Telelogic TAU G2 / TTool Generator of documentation Use in lab sessions Ludovic Apvrille - UML - 2005. Slide #24

Any questions? TURTLE s website: http://labsoc.comelec.enst.fr/turtle TTool s website: http://labsoc.comelec.enst.fr/turtle/ttoolindex.html Ludovic Apvrille - UML - 2005. Slide #25 References Definition of the profile L. Apvrille, P. de Saqui-Sannes, A. Apvrille, Une méthodologie de conception des systèmes distribués basée sur UML, Actes de la 5ème conférence sur les nouvelles technologies de la répartition (NOTERE'05), p 217-214, Gatineau, QC, Canada, 29 aout - 1er septembre 2005. L. Apvrille, P. de Saqui-Sannes, F. Khendek, Synthèse d'une conception UML temps-réel à partir de diagrammes de séquences, Actes du Colloque Francophone sur l'ingénierie des Protocoles (CFIP'05), Bordeaux, France, 29 mars - 1er avril 2005 (in French). L. Apvrille, J.-P. Courtiat, C. Lohr, P de Saqui-Sannes, TURTLE: A Real-Time UML Profile Supported by a Formal Validation Toolkit, IEEE Transactions on Software Engineering, Vol. 30, No. 7, pp. 473-487, July 2004 C. LOHR, L. APVRILLE, P DE SAQUI-SANNES, J.-P. COURTIAT, "New Operators for the TURTLE Profile", 6th IFIP International Conference on Formal Methods for Open Objectbased Distributed Systems (FMOODS'03), LNCS, Springer, Paris, France, November 2003. P. DE SAQUI-SANNES, L. APVRILLE, C. LOHR, P. SÉNAC, J.-P. COURTIAT, "UML and RT-LOTOS: An Integration for Real-Time System Validation", European Journal of Automation (JESA), Vol. 36, p. 1029-1042, Ed. Hermès, 2002. L. APVRILLE, P. DE SAQUI-SANNES, C. LOHR, P. SÉNAC, J.-P. COURTIAT, "A New UML Profile for Real-time System Formal Design and Validation", Proceedings of the Fourth International Conference on the Unified Modeling Language (UML'2001), Toronto, Canada, October 2001. Use of the profile L. APVRILLE, P DE SAQUI-SANNES, P. SENAC, C. LOHR, "Verifying Service Continuity in a Satellite Reconfiguration Procedure", Journal of Automated Software, Engineering, Kluver, issue 11:2, 2004. L. APVRILLE, P. DE SAQUI-SANNES, P. SÉNAC, C. LOHR, "Reconfiguration dynamique de protocoles embarqués à bord de satellites", Actes du Colloque Francophone sur l'ingéniérie des Protocoles (CFIP'2002), Montréal, mai 2002. Ludovic Apvrille - UML - 2005. Slide #26