UML for Embedded Systems Introduction

UML for Embedded Systems Introduction Ludovic Apvrille [email protected] Eurecom, Office 470 http://soc.eurecom.fr/UMLEmb/ I. Int...
2 downloads 0 Views 288KB Size
UML for Embedded Systems Introduction Ludovic Apvrille [email protected] Eurecom, Office 470 http://soc.eurecom.fr/UMLEmb/

I. Introduction  Introduction

to modeling

 OMG  UML

2.0  UML for embedded systems

slide 2

(C) Ludovic Apvrille

UML for Embedded Systems - Fall 2012

Page 1

I. Introduction  Introduction

to modeling

 OMG  UML

2.0  UML for embedded systems

(C) Ludovic Apvrille

slide 3

UML for Embedded Systems - Fall 2012

What is Modeling?

slide 4



A modeling = an abstraction of the system to design • Representation of the main functionalities of a complex system • Non relevant details are ignored



Abstractions make it possible to deal with complexity • An engineer, or a development team, cannot have a global understanding of complex systems



A modeling is a view of a system according to some assumptions (C) Ludovic Apvrille

UML for Embedded Systems - Fall 2012

Page 2

Who Uses Modeling?    



slide 5

Architects Tailors Statisticians Engineers • Mechanics, Mechanics of fluid, • Protocols, • Electronic, microelectronic No exception for software! • And more particularly, for embedded systems

(C) Ludovic Apvrille

UML for Embedded Systems - Fall 2012

What is UML?  UML

= Unified Modeling Language

 Main

characteristics of UML • Graphical modeling language for complex systems - Specification, design, automatic code generation, documentation - Independent of any programming language

• Object-oriented design • Supported by many CASE Tools - CASE = Computer-Aided Software Engineering

• Warning: no standard UML methodology slide 6

(C) Ludovic Apvrille

UML for Embedded Systems - Fall 2012

Page 3

Why Use UML for Modeling? 





Standard notation • Known by a growing number of people • Supported by matured tools Best understanding of systems by • Clients, experts of the domain, designers, programmers Support of engineering work • Abstract view of the system • Life cycle - Focused on first steps: requirement analysis, design - Simulation, automatic generation of code (C, Java, C++, etc.) - Documentation, maintenance, revision

• Reuse slide 7

(C) Ludovic Apvrille

UML for Embedded Systems - Fall 2012

Gathering on UML 

UML gathers best practices of software engineering



Modeling of complex (and software-based) systems



OMG (Object Management Group) standard • The reference • http://www.uml.org



14 diagrams for expressing complementary point of views

slide 8

(C) Ludovic Apvrille

UML for Embedded Systems - Fall 2012

Page 4

Gathering on UML (Cont.) 

A notation • Semantics - Metamodel - No formal semantics

• No methodology - Process suggested by UML tool dealers – Unified process » RUP – Rational Unified Process

• Extension capabilities - Profiles

slide 9

(C) Ludovic Apvrille

UML for Embedded Systems - Fall 2012

UML Views and Diagrams A

view describes a static or a dynamic aspect of the system  For each view • Several diagrams are available • Example: interactions between objects - Sequence diagrams - Collaboration diagrams  Components

of views • Classes, ports, interfaces, actors, messages, etc.  Mechanisms for extending diagrams • Stereotypes, notes, constraints

slide 10

(C) Ludovic Apvrille

UML for Embedded Systems - Fall 2012

Page 5

Towards a Federative Notation Used by Industrial Practitioners?



MERISE

Management, information systems



GRAFCET

Automatics



SDL

Telecommunications



VHDL

Integrated circuits



SAO

Air and Space

slide 11

(C) Ludovic Apvrille

UML for Embedded Systems - Fall 2012

I. Introduction  Introduction

to modeling

 OMG  UML

2.0  UML for embedded systems

slide 12

(C) Ludovic Apvrille

UML for Embedded Systems - Fall 2012

Page 6

Origin of UML Booch

Rumbaugh Jacobson

Odell

Meyer

Classification

Pre- and post- conditions

UML

Shlaer-Mellor

Harel

Object life cycles

State charts

Wirfs-Brock

Gamma et al.

Responsibilities

Frameworks, patterns, notes

Embly Singleton classes

slide 13

(C) Ludovic Apvrille

Fusion Operation descriptions Message numbering

UML for Embedded Systems - Fall 2012

The OMG  Object

Management Group  Non-profit organization  Goal: definition of standards related to objectoriented services • MOF, UML, XMI, CWM, CORBA (includes IDL, IIOP)  Chronology • 1989: 11 creating members - Hewlett-Packard, IBM, Sun Microsystems, Apple Computer, American Airlines, Data General, …

• Nowadays, more than 800 members • Members have more or less important vote weight slide 14

(C) Ludovic Apvrille

UML for Embedded Systems - Fall 2012

Page 7

Development of a Norm at the OMG 

A Request for Proposal (RFP) asks for submissions • A RFP must be written, voted and released • Contains requirements about its release, a evaluation guide and provisional dates



External companies work on submissions • Companies gather in consortiums • Each company answering to a RFP must produce a Letter of Intent (LOI) in the right period of time  The company agrees to support the new norm with tools in the year following the release if its

submission is accepted  Companies have to follow initial and final submission dates



The norm is voted • Different “voting bodies” must approve submissions, and make a selection of some of them, if necessary • When a submission is voted, a Finalization Task Force is settled to address the defaults of that submission • The FTF have no right to make substantial modifications over a voted submission



The norm is released • When the FTF has completed its work, the norm becomes a “standard released” • An RTF (Release Task Force) is settled to manage the default of that norm

slide 15

(C) Ludovic Apvrille

UML for Embedded Systems - Fall 2012

I. Introduction  Introduction

to modeling

 OMG  UML

2.0  UML for embedded systems

slide 16

(C) Ludovic Apvrille

UML for Embedded Systems - Fall 2012

Page 8

Genesis of UML 2.3 ROOM UML 2.0

MSC & SDL

August 2003

OMT (Rumbaugh et al.)

Statecharts 1996

Booch

UML 0.9

UML 1.1 Nov. 1997

UML 1.5 2002

OOSE (Jacobson et al.)

slide 17

(C) Ludovic Apvrille

UML for Embedded Systems - Fall 2012

UML 2.x: Diagrams 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. slide 18

Class diagram Use case diagram Object diagram State machine diagram Activity diagram Sequence diagram Communication diagram Component diagram Deployment diagram Composite structure diagram Interaction overview diagram Timing diagram Package diagram Profile diagram

(C) Ludovic Apvrille

UML for Embedded Systems - Fall 2012

Page 9

UML 2.3 May 2010

Overview

slide 19

(C) Ludovic Apvrille

UML for Embedded Systems - Fall 2012

I. Introduction  Introduction

to modeling

 OMG  UML

2.0  UML for embedded systems

slide 20

(C) Ludovic Apvrille

UML for Embedded Systems - Fall 2012

Page 10

UML for Embedded Systems  Specificity

of embedded systems

• Strict constraints - Performance constraints, real-time constraints, etc. - Critical aspect

• Limited resources  Specific

UML methodology

• Make use of some UML diagrams rather than others • Make use of simulation techniques as soon as possible in the development cycle - Critical systems

 Specific

UML toolkits

• Profiles

slide 21

(C) Ludovic Apvrille

UML for Embedded Systems - Fall 2012

Methodologies for Embedded Systems  Each

toolkit vendor proposes its own methodology  For this course, we use a methodology which • Is simplified • Shares many aspects to proposed methodologies • Is inspired from books, papers and concrete case studies

slide 22

(C) Ludovic Apvrille

UML for Embedded Systems - Fall 2012

Page 11

A UML Methodology Focused on Embedded Systems Validation of the system Simulation Code generation

Detailed design Behavior of the system

Analysis Use case First class diagram Relevant scenarios

Design Classes of the system Architecture of the system

(C) Ludovic Apvrille

slide 23

UML for Embedded Systems - Fall 2012

Stages 

Analysis • Analysis of the requirements of the system



Design • Structure the system under the form of classes and relations among those classes



Detailed design • Describe the behavior of the system



Validation • Check that the behavior of the system corresponds to the targeted one

slide 24

(C) Ludovic Apvrille

UML for Embedded Systems - Fall 2012

Page 12

UML Diagrams for Embedded Systems 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. slide 25

(C) Ludovic Apvrille

Class diagram Use Case diagram Object diagram State machine diagram Activity diagram Sequence diagram Communication diagram Component diagram Deployment diagram Composite structure diagram Interaction overview diagram Timing diagram Package diagram Profile diagram UML for Embedded Systems - Fall 2012

UML Toolkits for Embedded Systems  Goal:

 IBM

edition of diagrams, animation, code generation

Rational Rhapsody

 ARTiSAN

slide 26

(C) Ludovic Apvrille

Real-Time Studio (Artisan Software)

UML for Embedded Systems - Fall 2012

Page 13

Books  Michael

Jesse Chonoles, James A. Schardt, “UML 2 for Dummies”, Wiley, 2003, ISBN 0-7645-2614-6  Laurent Doldi, “UML 2 Illustrated - Developing RealTime & Communications Systems”, TMSO , 2003, ISBN 2-9516600-1-4  Tom Pender, “UML Bible”, John Wiley & Sons, 2003, ISBN 0764526049  Luciano Lavagno et al., “UML for Real: Design of Embedded Real-Time Systems”, Kluwer Academic Publishers, ISBN 1-4020-7501-4

slide 27

(C) Ludovic Apvrille

UML for Embedded Systems - Fall 2012

Outline of the Course  Analysis

with UML of an embedded system

• Objects - Modeling of objects / classes in UML  Design

with UML of an embedded system  Detailed design with UML of an embedded system  Validation with UML of an embedded system  Exercises

slide 28

(C) Ludovic Apvrille

UML for Embedded Systems - Fall 2012

Page 14