Title: UML 2'0 Preview
1UML 2.0 Preview
- Cris Kobryn
- cris.kobryn_at_telelogic.com
- February 2003
2Overview
- Background
- Proposal status
- Featured proposal U2 Partners
- Customizing UML for Systems Engineering
- User benefits
3What 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
4Why 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
5Why 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
6UML 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)
7Proposal 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
8Featured 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)
9Goals
- 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
10U2 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
11Top-Level Packages
12Specification 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
13Examples
- Proposed notation for new UML 2.0 constructs and
diagrams
14Use Cases
- Notationally, use cases are not changed much from
UML 1.4
VendingMachine
BuyItem
include
User
ValidateCoin
Refill
ServiceMan
15Interactions (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)
16Variations 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()
17Decomposition
- 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()
18Referencing 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
19Organizing 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
20Component-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
21Specifying 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
22Assembling 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
23Internal 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
24Activities Hierarchical Partitions
25Other 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
26UML2 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
27UML2 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
28User 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
29Wrap 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
30Further Info
- www.u2-partners.org
- mailtou2p-info_at_yahoogroups.com
- mailtou2p-issues_at_yahoogroups.com