course uml 0 introduction

Upload: shanthimathi1680

Post on 06-Apr-2018

228 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/3/2019 Course UML 0 Introduction

    1/14

    Page 1

    UML for Embedded SystemsIntroduction

    Ludovic Apvrille

    [email protected]

    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