Title: UML 2.0 Roadmap: What Should Systems Engineers Expect?
1UML 2.0 RoadmapWhat Should Systems Engineers
Expect?
- Cris Kobryn Morgan Björkander
- cris.kobryn_at_telelogic.com morgan.björkander_at_telel
ogic.se - U2P-SEDSIG UML for Systems Engineering
WorkshopChicago, USASeptember 12, 2002
2Overview
- What is UML?
- Why is UML important?
- Why UML 2.0?
- UML 2.0 status
- Featured proposalU2 Partners submission
- Issues
- 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 2002
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, the 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 - 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
-
- A major revision is required to address these
issues
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)
7UML 2.0 Schedule
8Goals
- Restructure and refine the language to make it
easier to apply, implement and customize - improve precision and conciseness
- practice reuse
- Infrastructure goals
- Define a metalanguage kernel that
- defines (bootstraps) the UML language
- can be reused to define other metamodels (e.g.,
Meta Object Facility, Common Warehouse Model) - Provide more powerful mechanisms to customize UML
- allow users to define language dialects for
platforms (e.g., J2EE, .NET) and domains (e.g.,
telecom, finance, systems engineering)
9Goals Superstructure (contd)
- 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) - Enhance support for real-time development
- revise state machines diagrams to make more
scaleable and generalizable, and able to support
a transition-centric view - Improve support for business process modeling
- update activity diagrams to support more flexible
parallelism and furnish more I/O options - Increase scalability and precision of other
behavioral constructs - augment sequence diagrams with advanced contructs
from MSCs that can be combined and integrated
with other behavior - Deepen precision so that it better supports
executable models. - Review all UML 1.x constructs and diagrams
- refine, retire or deprecate as appropriate
10Featured 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)
11U2 Partners
- A consortium of UML vendors and users dedicated
to making UML easier to apply, implement and
customize - Submitters
- Alcatel, CA, ENEA Business Software, Ericsson,
Fujitsu, HP, IBM, I-Logix, IONA, Kabira,
Motorola, Oracle, Rational, SOFTEAM, Telelogic,
Unisys, WebGain - Supporters
- Advanced Concepts Center LLC, Ceira Technologies,
Commissariat à L'Energie Atomique, Compuware,
DaimlerChrysler, Embarcadero Technologies, France
Telecom, Fraunhofer FOKUS, Fujitsu, Gentleware,
Intellicorp, Jaczone, Kennedy Carter, KLOCwork,
Lockheed Martin, Mercury Computer, MSC.Software,
Northeastern University, Popkin Software,
Proforma, Sims Associates, Syntropy Ltd.,
University of Kaiserslautern, VERIMAG, and
88solutions - Largest and most experienced submission team,
includes many veterans of UML Partners submission
team for UML1 - Collaborating with other UML2 submission teams to
integrate their best ideas
12U2 Partners UML2 Proposal Status
- UML Infrastructure v. 2.0 R1
- defines basic constructs to specify UML and to
customize it for specific domains (e.g., Systems
Engineering) and platforms (e.g., J2EE, .NET) - 2nd revised proposal to be presented to OMG in
Sept. 2002 - UML Superstructure v. 2.0 beta R1
- defines user-level constructs to specify
structure and behavior of systems (e.g., class
diagrams, sequence diagrams) - revised proposal to be presented to OMG in Sept.
2002 - 2nd revised proposal to be presented to OMG in
Nov. 2002
13Language Formalism
- Refinement of UML 1.x formalism
- abstract syntax
- constraints
- semantics (natural language)
- Integrated semantics and notation
- straightforward mapping between notation and
semantics - New sections for semantic variation points,
backward compatibility, etc. - pragmatic information previously lacking
14Language Architecture (with compliance levels)
15Examples
- Proposed notation for new UML 2.0 constructs
- work in progress
16Use cases
- Notationally, use cases are not changed much from
UML 1.4
VendingMachine
InsertCoin
extend
User
ValidateCoin
Refill
ServiceMan
17Interactions (sequences)
- Purpose
- tracing
- capturing requirements
- test cases and test suites
sd Trace
VendingMachine
User
Display(1)
Insert(.10)
Display(.90)
Insert(.50)
Display(.40)
Insert(.50)
18Variations in sequence diagrams
- Express variations
- parallelism and alternatives
- iterations and optionality
- exceptions
- Dramatically reduces the number of sequence
diagrams required to express system functionality
sd ValidateCoin
VendingMachine
User
Insert(coin)
alt
Display(price)
else
RejectCoin()
19Decomposition
- 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()
20Referencing 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
21Organizing sequences
- It is possible to organize sequence diagrams into
flows to indicate how they fit together - overviews
- combine interactions in different ways to create
new scenarios
sd Overview
ref
Initiate
ref
ValidateCoin
else
price0
ref
DispenseProduct
22Component-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
23Specifying communicating classes
- Only classes with matching interfaces are allowed
to communicate with each other - contracts
- A port serves several roles
- acts as an 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
24Assembling classes
- A class can be used as a part of an internal
structure of another class - hierarchical decomposition
- Connectors are used as contextual associations
- represents communication paths
Class
Part
VendingMachine
Counter
Detector
pCtrl
Counter
InsertCoin
InsertCoin
Controller
CoinControl
Display
Display
Connector
25Internal 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
26A behavior (state machine)
- Action semantics
- makes it possible to execute models
- treat UML as a high-level programming language
- A simple state machine
- transition-centric view
27Support for Systems Engineering
- Working document
- Requirements Analysis For Systems Engineering
(SE) UML (draft v0.3 OMG doc syseng/02-07-01) - System composition and decomposition
- structured classifiers (classes, components) with
internal structures - subsystems
- Views
- allow system to be defined from different
perspectives (viewpoints) appropriate for the
various stakeholders (e.g., systems engineer,
business analyst, designer, programmer, end user) - Systems Engineering profile
- Profile as UML customization (UML dialect) for a
particular platform, domain or method - e.g., HardwareComponent as stereotype or subclass
of Component metaclass
28General Issues
- Second language syndrome
- feature set features added features retired
0.5 features deprecated - Will UML 2.0 Be Agile or Awkward, CACM, Jan.
2002 - Paradigm evolution objects ? components
- reduce impedance between object and component
paradigms - simple classes vs. structured classes vs.
components - Language reuse
- libraries, profiles, and metamodels
- InfraststructureLibrary reused by UML2 and other
future OMG Model Driven Architecture standards
(e.g., MOF2, CWM2) - Multiple views
- compare building and hardware blueprints and
schematics - requires refinement and traceability (audit
trails) across views - Executable models
- integration of UML 1.x Action Semantics
- full integration vs. optional compliance point
29System Engineering Issues
- Relationships among core concepts and constructs
- definitions for system, subsystem, component, and
part need to be recursive and complementary - need to distinguish clearly between physical
system, system (being modeled), system boundary,
model, and view - need to precisely define kinds of aggregation and
composition (white, black and greyscale
diamonds) - Scope creep
- what is scope of SE?
- what is general purpose UML, what is appropriate
for a SE profile? - separating language issues from
method/process/approach issues - Getting lost in metaspace
- profile vs. metamodeling approaches
- MDA and MOF2 alignment
30User 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 - business process modeling (workflows)
- executable models
- UML 2.0 Action Semantics can realize the
potential of model-driven development - automate generation of production quality code
- automate system validation verification
throughout software lifecycle
31Wrap 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.4 marks end of significant changes for UML
1.x - UML 1.4.1 is a maintenance revision
- UML 2.0 is next planned major revision
- U2 Partners submission for UML 2.0 proposes many
improvements that will benefit users - improved support for component development,
architectural specifications, business process
modeling, and executable models - realize the potential of model-driven development
32Web Resources
- U2 Partners
- www.u2-partners.org
- OMG UML Resources
- www.uml.org
- UML Forum
- www.uml-forum.com
- contains links to the UML Revision Task Force and
UML 2.0 Working Group webs as well as other UML
resources.
33Other Resources
- Mailing Lists
- uml2-wg_at_omg.org
- uml-rtf_at_omg.org
- u2p-info_at_yahoogroups.org
- Conferences Workshops
- UML 2002, Dresden, Germany, Sep. 30-Oct. 4, 2002.
- OMG UML Workshop, San Francisco, Oct. 21-24,
2002. - UML Forum/Tokyo 2003, Tokyo, dates TBD.
- UML Track at SD West 2003, San Jose, dates TBD.
- Questions
- mailtocris.kobryn_at_telelogic.com?subjectUML2
- mailtomorgan.björkander_at_telelogic.se?subjectUML2