course uml 0 introduction
TRANSCRIPT
-
8/3/2019 Course UML 0 Introduction
1/14
Page 1
UML for Embedded SystemsIntroduction
Ludovic Apvrille
Eurecom, Office 223
http://soc.eurecom.fr/UMLEmb/
slide 2
I. Introduction
Introduction to modeling
OMG
UML 2.0
UML for embedded systems
(C) Ludovic Apvrille UML for Embedded Systems - Fall 2011slide 2
-
8/3/2019 Course UML 0 Introduction
2/14
Page 2
slide 3
I. Introduction
Introduction to modeling
OMG
UML 2.0
UML for embedded systems
(C) Ludovic Apvrille UML for Embedded Systems - Fall 2011
slide 4
A modeling = an abstraction of the system to design
Representation of the main functionalities of acomplex 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 someassumptions
What is Modeling?
(C) Ludovic Apvrille UML for Embedded Systems - Fall 2011
-
8/3/2019 Course UML 0 Introduction
3/14
Page 3
slide 5
Who Uses Modeling?
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 2011
slide 6
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
(C) Ludovic Apvrille UML for Embedded Systems - Fall 2011
-
8/3/2019 Course UML 0 Introduction
4/14
Page 4
slide 7
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(C) Ludovic Apvrille UML for Embedded Systems - Fall 2011
slide 8
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 ofviews
(C) Ludovic Apvrille UML for Embedded Systems - Fall 2011
-
8/3/2019 Course UML 0 Introduction
5/14
Page 5
slide 9
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
(C) Ludovic Apvrille UML for Embedded Systems - Fall 2011
slide 10
UML Views and Diagrams
A view describes a static or a dynamic aspect of thesystem
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
(C) Ludovic Apvrille UML for Embedded Systems - Fall 2011
-
8/3/2019 Course UML 0 Introduction
6/14
Page 6
slide 11
Towards a Federative Notation Used byIndustrial Practitioners?
(C) Ludovic Apvrille UML for Embedded Systems - Fall 2011
MERISE Management, information systems
GRAFCET Automatics
SDL Telecommunications
VHDL Integrated circuits
SAO Air and Space
slide 12
I. Introduction
Introduction to modeling
OMG
UML 2.0
UML for embedded systems
(C) Ludovic Apvrille UML for Embedded Systems - Fall 2011
-
8/3/2019 Course UML 0 Introduction
7/14
Page 7
slide 13
Origin of UML
UML
Booch
OdellClassification
Shlaer-MellorObject life cycles
EmblySingleton classes
Gamma et al.Frameworks, patterns, notes
FusionOperation descriptions
Message numbering
Wirfs-BrockResponsibilities
HarelState charts
MeyerPre- and post- conditions
Jacobson
Rumbaugh
(C) Ludovic Apvrille UML for Embedded Systems - Fall 2011
slide 14
The OMG
Object Management Group
Non-profit organization
Goal: definition of standards related to object-oriented 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
(C) Ludovic Apvrille UML for Embedded Systems - Fall 2011
-
8/3/2019 Course UML 0 Introduction
8/14
Page 8
slide 15
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 submiss ion 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 sett led 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
(C) Ludovic Apvrille UML for Embedded Systems - Fall 2011
slide 16
I. Introduction
Introduction to modeling
OMG
UML 2.0
UML for embedded systems
(C) Ludovic Apvrille UML for Embedded Systems - Fall 2011
-
8/3/2019 Course UML 0 Introduction
9/14
Page 9
slide 17
Genesis of UML 2.3
OMT(Rumbaugh et al.)
Booch
OOSE(Jacobson et al.)
UML0.9
1996
ROOM
MSC & SDL
UML1.1
UML1.5
2002
UML2.0
August 2003
Statecharts
(C) Ludovic Apvrille UML for Embedded Systems - Fall 2011
UML2.3
May 2010
Nov. 1997
slide 18
UML 2.x: Diagrams1. Class diagram
2. Use case diagram
3. Object diagram
4. State machine diagram
5. Activity diagram
6. Sequence diagram
7. Communication diagram
8. Component diagram
9. Deployment diagram
10.
Composite structure diagram11. Interaction overview diagram
12. Timing diagram
13. Package diagram
14. Profile diagram
(C) Ludovic Apvrille UML for Embedded Systems - Fall 2011
-
8/3/2019 Course UML 0 Introduction
10/14
Page 10
slide 19
Overview
(C) Ludovic Apvrille UML for Embedded Systems - Fall 2011
slide 20
I. Introduction
Introduction to modeling
OMG
UML 2.0
UML for embedded systems
(C) Ludovic Apvrille UML for Embedded Systems - Fall 2011
-
8/3/2019 Course UML 0 Introduction
11/14
Page 11
slide 21
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
(C) Ludovic Apvrille UML for Embedded Systems - Fall 2011
slide 22
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 casestudies
(C) Ludovic Apvrille UML for Embedded Systems - Fall 2011
-
8/3/2019 Course UML 0 Introduction
12/14
Page 12
slide 23
A UML Methodology Focused onEmbedded Systems
Analysis
Use case
First class diagram
Relevant scenarios
Design
Classes of the system
Architecture of the system
Detailed design
Behavior of the system
Validation of the system
Simulation
Code generation
(C) Ludovic Apvrille UML for Embedded Systems - Fall 2011
slide 24
Stages
Analysis
Analysis of the requirements of the system
Design
Structure the system under the form of classes and relationsamong those classes
Detailed design Describe the behavior of the system
Validation
Check that the behavior of the system corresponds to thetargeted one
(C) Ludovic Apvrille UML for Embedded Systems - Fall 2011
-
8/3/2019 Course UML 0 Introduction
13/14
Page 13
slide 25
UML Diagrams for Embedded Systems
1. Class diagram2. Use Case diagram
3. Object diagram
4. State machine diagram
5. Activity diagram
6. Sequence diagram
7. Communication diagram
8. Component diagram
9. Deployment diagram
10. Composite structure diagram
11. Interaction overview diagram
12. Timing diagram
13. Package diagram
14. Profile diagram
(C) Ludovic Apvrille UML for Embedded Systems - Fall 2011
slide 26
UML Toolkits for Embedded Systems
Goal: edition of diagrams, animation, code generation
IBM Rational Rhapsody
ARTiSAN Real-Time Studio (Artisan Software)
(C) Ludovic Apvrille UML for Embedded Systems - Fall 2011
-
8/3/2019 Course UML 0 Introduction
14/14
Page 14
slide 27
Books
Michael Jesse Chonoles, James A. Schardt, UML 2for Dummies, Wiley, 2003, ISBN 0-7645-2614-6
Laurent Doldi, UML 2 Illustrated - Developing Real-Time & 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 ofEmbedded Real-Time Systems, Kluwer AcademicPublishers, ISBN 1-4020-7501-4
(C) Ludovic Apvrille UML for Embedded Systems - Fall 2011
slide 28
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
(C) Ludovic Apvrille UML for Embedded Systems - Fall 2011