UML 2'0 Preview - PowerPoint PPT Presentation

1 / 30
About This Presentation
Title:

UML 2'0 Preview

Description:

Insert(.50) UML 2.0 Preview. 16. Variations in Sequence Diagrams. Express variations ... Insert(coin) ValidateCoin() UML 2.0 Preview. 18. Referencing Sequences ... – PowerPoint PPT presentation

Number of Views:45
Avg rating:3.0/5.0
Slides: 31
Provided by: crisk
Category:
Tags: uml | insert | preview

less

Transcript and Presenter's Notes

Title: UML 2'0 Preview


1
UML 2.0 Preview
  • Cris Kobryn
  • cris.kobryn_at_telelogic.com
  • February 2003


2
Overview
  • Background
  • Proposal status
  • Featured proposal U2 Partners
  • Customizing UML for Systems Engineering
  • User benefits

3
What is UML?
  • Unified Modeling Language is a visual language
    for specifying, constructing, and documenting
    systems
  • Derived from synthesis of Booch, OMT and
    Objectory modeling languages
  • roots can be traced to ER data modeling,
    Specification and Description Language (SDL),
    Message Sequence Charts (MSCs), Statecharts, etc.
  • Adopted by OMG in November 1997 as UML 1.1
  • most recent minor revision is UML 1.4, adopted
    May 2001
  • next planned major revision is UML 2.0, scheduled
    to be completed during Q1 2003

4
Why is UML important?
  • As software architectures grow in size and
    complexity so does the need for software models
  • compare building blueprints and visual CAD
  • UML is the software industrys dominant modeling
    language
  • currently a de facto standard adopted by the
    Object Management Group, worlds largest software
    consortium
  • difficult to find a software project with gt 10
    developers who do not use UML in some way to
    specify their architecture
  • UML has enormous growth potential
  • lingua franca across the software lifecycle
    (requirements through testing) and across
    platforms and domains
  • refinement and customization can broaden support
    for systems engineering
  • executable UML can automate software development,
    reducing chasm between analysis design and
    implementation

5
Why UML 2.0?
  • Although UML 1.x has enjoyed widespread
    acceptance, it shortcomings include
  • excessive size and gratuitous complexity
  • uneven precision
  • inadequate support for components and executable
    models
  • limited customizability
  • non-standard implementations
  • lack of support for diagram interchange
  • lack of support for systems engineering
  • Work on Requests for Proposals for a major
    revision to address these issues started in Q1
    2000

6
UML 2.0 RFPs
Superstructure
Diagram Interchange
Defines user-level constructs to specify
structure and behavior of systems (e.g., class
diagrams, sequence diagrams)
OCL
Infrastructure
Defines basic constructs to specify UML and to
customize it for specific domains (e.g.,
real-time)
7
Proposal Status
  • 2nd revised Superstructure and 3rd revised
    Infrastructure proposals were presented to the
    OMG in January 2003
  • The voting process to adopt UML 2.0 is scheduled
    to begin during the OMG meeting in March 2003

8
Featured Proposal U2 Partners
  • Insufficient time to review all proposals
  • please download all submissions and judge for
    yourself
  • U2 Partners proposal selected because
  • work of the largest submission team (40
    submitters and supporters)
  • balanced approach to integrating language
    Infrastructure with Superstructure
  • architecturally aligned with other industry
    standards (e.g., ITU-T languages, EXPRESS, AP-233)

9
Goals
  • Restructure and refine the language to make it
    easier to apply, implement and customize
  • Improve support for component-based development
  • specify both platform-independent components
    (e.g., business components) and platform-specific
    components (e.g., EJB, COM)
  • Refine architectural specification capabilities
  • support hierarchical composition of parts with
    interfaces (compare SDL blocks and processes)
  • Increase the scaleability, precision and
    integration of behavioral diagrams
  • augment sequence diagrams with advanced contructs
    from MSCs that can be combined and integrated
    with other behavior
  • update state machines diagrams to make
    generalizable and able to support a
    transition-centric view
  • revise activity diagrams to support more flexible
    parallelism and furnish more I/O options
  • support executable models
  • Review all UML 1.x constructs and diagrams

10
U2 Partners
  • A consortium of UML vendors and users dedicated
    to making UML easier to apply, implement and
    customize
  • Submitters
  • Alcatel, CA, Ericsson, Fujitsu, HP, IBM, I-Logix,
    IONA, Kabira, Motorola, Oracle, Rational,
    SOFTEAM, Telelogic, Unisys
  • Supporters
  • Advanced Concepts Center LLC, Ceira Technologies,
    Commissariat à L'Energie Atomique, Compuware,
    DaimlerChrysler, Embarcadero Technologies, Enea
    Data, France Telecom, Fraunhofer FOKUS,
    Gentleware, Intellicorp, Jaczone, Kennedy Carter,
    Klasse Objecten, KLOCwork, Lockheed Martin,
    Mercury Computer, MSC.Software, Northeastern
    University, Popkin Software, Proforma, Sims
    Associates, Syntropy Ltd., Sun Microsystems,
    University of Kaiserslautern, University of Kent,
    VERIMAG, WebGain, and 88solutions
  • Largest and most experienced submission team,
    includes many veterans of UML Partners team that
    proposed UML1
  • Collaborating with other submission teams to
    integrate best ideas

11
Top-Level Packages
12
Specification Outline
  • Part I Structure
  • Classes
  • Components
  • Composite Structures
  • Deployments
  • Part II Behavior
  • Actions
  • Activities
  • Common Behaviors
  • Interactions
  • State Machines
  • Use Cases
  • Supplement
  • Auxiliary Constructs
  • Profiles
  • Appendices

13
Examples
  • Proposed notation for new UML 2.0 constructs and
    diagrams

14
Use Cases
  • Notationally, use cases are not changed much from
    UML 1.4

VendingMachine
BuyItem
include
User
ValidateCoin
Refill
ServiceMan
15
Interactions (Sequences)
  • Purpose
  • capturing requirements
  • tracing communications
  • test cases and test suites

sd Trace
VendingMachine
User
Display(1)
Insert(.10)
Display(.90)
Insert(.50)
Display(.40)
Insert(.50)
16
Variations in Sequence Diagrams
  • Express variations
  • parallelism and alternatives
  • iterations and optionality
  • exceptions
  • Dramatically reduces number of sequence diagrams
    required to express system functionality

sd ValidateCoin
VendingMachine
User
Insert(coin)
alt
Display(price)
else
RejectCoin()
17
Decomposition
  • To hide information, a lifeline can be subdivided
    into more detailed sequences

sd Decomposition
Detector
create
Controller
sd Overview
Insert(coin)
VendingMachine ref Decomposition
User
ValidateCoin()
RejectCoin()
Insert(coin)
RejectCoin()
18
Referencing Sequences
  • To avoid unnecessary duplication, it is possible
    to refer to already existing sequence diagrams
  • a way to quickly create new scenarios (e.g.,
    tests and test suites)

sd BuyScenario
User
VendingMachine
ref
ChooseProduct
Display(price)
ref
ValidateCoin
19
Organizing Sequences
  • It is possible to organize sequence diagrams into
    flows to indicate how they fit together
  • Interaction Overview diagram interaction
    diagram activity diagram
  • combine interactions in different ways to create
    new scenarios

sd Overview
ref
Initiate
ref
ValidateCoin
else
price0
ref
DispenseProduct
20
Component-Based Development
  • Interface-based design
  • required and provided interfaces allows each
    class to be defined as a stand-alone entity
  • Encapsulation
  • the class is viewed a black box
  • also need to know how the interfaces may be used

Class
interface Display
VendingMachine
Display() NoChange() OutOfOrder()
InsertCoin
Display
Provided interface
Required interface
21
Specifying Communicating Classes
  • Only classes with matching interfaces are allowed
    to communicate with each other
  • supports contracts
  • A port serves several roles
  • acts as a unique interaction point of the class
  • gives a view of the class

Controller
composite port
CoinControl
port
Display
Detector
pCtrl
Maintenance
Counter
InsertCoin
CoinControl,Counter
Counter
22
Assembling Classes
  • A class can be used as a part of an internal
    structure of another class
  • hierarchical decomposition
  • Connectors are used as contextual associations
  • represent communication paths

Class
Part
VendingMachine
Counter
Detector
pCtrl
Counter
InsertCoin
InsertCoin
Controller
CoinControl
Display
Display
Connector
23
Internal Structure and Behavior
  • Behavior can be mixed with the internal structure
  • e.g., a state machine
  • Allows the container to interact with the parts

Behavioral ports
Behavior (of Sensor)
Sensor
Maintenance
SensorInitiation
Input
pS
Monitor
pM
Regulator
24
Activities Hierarchical Partitions
25
Other Improvements
  • Harmonization of Classes and Components
  • Harmonization of Actions and Activities
  • State Machine generalization, encapsulated
    Submachines and Protocol State Machines
  • Information flows
  • All other areas have been reviewed and updated to
    improve quality and readability

26
UML2 for Systems Engineering
  • Architectural specifications
  • supports hierarchical decomposition of structure
    and behavior
  • includes structured classifiers (classes,
    components, subsystems), sequence diagram
    references, and activity diagram partitions.
  • allows modelers to specify large, complex
    architectures
  • Crosscutting functionality
  • increases the integration of structure with
    behavior
  • allows modelers to define functions that apply
    across structural and behavioral boundaries.
  • Unification of actions and activities
  • reuses the same basic for defining actions and
    activities
  • increases precision and efficiency for specifying
    process workflows and other types of behavior.
  • Multiple views
  • allows different system stakeholders to view the
    system from different, complementary perspectives

27
UML2 for Systems Engineering (contd)
  • Profiles
  • include enhanced stereotype construct that allows
    the specification of meta associations
  • allow systems engineers to customize UML
    constructs with names and notation consistent
    with domain usage
  • allow systems engineers to extend UML with new
    constructs needed for the domain (e.g.,
    HardwareComponent)
  • although UML2 is based on discrete time model,
    nothing precludes customizing it to specify
    continuous time varying attributes or continuous
    time behavior

28
User Benefits
  • UML 2.0 marks a major milestone in model-driven
    development
  • significantly more mature than UML 1.x
  • more precise, concise and consistent
  • Major improvements include enhanced support for
  • component-based development
  • architectural specifications of large, complex
    systems
  • more scaleable, precise and integrated behavioral
    models
  • executable models
  • language customization
  • UML 2.0 Action Semantics driven development
    tools can realize potential of model-driven
    development and MDA
  • automate generation of production quality code
  • automate system validation verification
    throughout software lifecycle
  • UML 2.0 Profiles can customize the language for
    domains, platforms and processes

29
Wrap Up
  • UML is used extensively inside and outside OMG
  • common language for OMGs Model Driven
    Architecture
  • de facto standard ? de jure standard
  • UMLs evolution is following a well-planned
    roadmap
  • UML 1.5 with Action Semantics marks end of
    significant changes for UML 1.x
  • UML 2.0 is next planned major revision
  • U2 Partners submission for UML 2.0 proposes many
    improvements
  • will allow vendors and users to realize potential
    of model-driven development
  • can be used as a baseline for customizing UML for
    SE

30
Further Info
  • www.u2-partners.org
  • mailtou2p-info_at_yahoogroups.com
  • mailtou2p-issues_at_yahoogroups.com
Write a Comment
User Comments (0)
About PowerShow.com