View
214
Download
0
Tags:
Embed Size (px)
Citation preview
UML 2.0 Roadmap:What Should Systems Engineers Expect?
Cris Kobryn Morgan Bjö[email protected] morgan.bjö[email protected]
U2P-SEDSIG UML for Systems Engineering Workshop
Chicago, USASeptember 12, 2002
UML 2.0 Roadmap 2
Overview
What is UML? Why is UML important? Why UML 2.0? UML 2.0 status Featured proposal:
U2 Partners’ submission Issues User benefits
UML 2.0 Roadmap 3
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
What is UML?
UML 2.0 Roadmap 4
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 industry’s dominant modeling
language currently a de facto standard adopted by the Object
Management Group, the world’s largest software consortium
difficult to find a software project with > 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
Why is UML important?
UML 2.0 Roadmap 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 …
A major revision is required to address these issues
UML 2.0 Roadmap 6
UML 2.0 RFPs
Diagram Interchange
OCLInfrastructure
Defines basic constructs to specify UML and to customize it for specific domains (e.g., real-time)
Superstructure
Defines user-level constructs to specify structure and behavior of systems (e.g., class diagrams, sequence diagrams)
UML 2.0 Roadmap 7
UML 2.0 Schedule
Feb1/02 12/02
Mar Apr May Jun Jul Aug Sep Oct Nov Dec
3 June 02UML 1.4.1final report
3 Jun 02UML2
Infrastructure& OCL revisions
9 Sept 02UML2
Superstructure &Diagram Interchange
revisions;Infrastructure & OCL
2nd revisions25 Nov 02UML 1.x
Action Semanticsfinal report
28 Oct 02UML2
Superstructure &Diagram Interchange
2nd revisions
UML 2.0 Roadmap 8
Goals 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)
UML 2.0 Roadmap 9
Goals: Superstructure (cont’d)
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
UML 2.0 Roadmap 10
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)
UML 2.0 Roadmap 11
U2 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
UML 2.0 Roadmap 12
U2 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
UML 2.0 Roadmap 13
Language 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
UML 2.0 Roadmap 14
Language Architecture (with compliance levels)
UML
Basic
Common
<<import>>
Complete
<<import>>
Foundation
<<import>>
Level 3
Level 2
Level 1
Level 0
UML 2.0 Roadmap 16
Use cases Notationally, use
cases are not changed much from UML 1.4
InsertCoin
ValidateCoinUser
VendingMachine
«extend»
ServiceManRefill
UML 2.0 Roadmap 17
Interactions (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)
UML 2.0 Roadmap 18
Variations 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
VendingMachineUser
Insert(coin)
Display(price)
RejectCoin()
alt
else
UML 2.0 Roadmap 19
Decomposition To hide
information, a lifeline can be subdivided into more detailed sequences
sd Overview
VendingMachine ref
Decomposition
Insert(coin)
RejectCoin()
User
sd Decomposition
Detector
Controller
RejectCoin()
create
Insert(coin)
ValidateCoin()
UML 2.0 Roadmap 20
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
VendingMachineUser
Display(price)
ref
ChooseProduct
ref
ValidateCoin
UML 2.0 Roadmap 21
Organizing 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
ValidateCoinref
Initiateref
[else][price=0]
DispenseProductref
UML 2.0 Roadmap 22
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
VendingMachine
Display
«interface» Display
Display() NoChange() OutOfOrder()
InsertCoin
Required interfaceProvided interface
Class
UML 2.0 Roadmap 23
Specifying 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
CounterCounter
DetectorInsertCoin
CoinControl,Counter
Maintenance
CoinControl
Display
portcomposite port
pCtrl
UML 2.0 Roadmap 24
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 represents
communication paths
VendingMachine
InsertCoin
Display
:Detector
Connector
PartClass
:Counter
:Controller
InsertCoin
pCtrl Counter
CoinControl
Display
UML 2.0 Roadmap 25
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
Sensor
Maintenance
:Monitor[*]
Behavioral ports
Regulator
InputpSpM
SensorInitiation
Behavior (of Sensor)
UML 2.0 Roadmap 26
A 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
Payment
Coin(value) Bill(value)
sum = sum + value
display.Insert(price-sum)
[true]
display.Change(sum-price)
[false]
ejector.Change(sum-price)
Payment Change
sum < price
UML 2.0 Roadmap 27
Support 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
UML 2.0 Roadmap 28
General 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
UML 2.0 Roadmap 29
System 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
UML 2.0 Roadmap 30
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 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
UML 2.0 Roadmap 31
Wrap Up UML is used extensively inside and outside
OMG common language for OMG’s Model Driven
Architecture de facto standard de jure standard
UML’s 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
UML 2.0 Roadmap 32
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.
Web Resources
UML 2.0 Roadmap 33
Mailing Lists [email protected] [email protected] [email protected]
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 mailto:[email protected]?subject=UML2 mailto:morgan.bjö[email protected]?subject=UML2
Other Resources