Title: Modeling Supply Chain Management and Electronic Commerce with ObjectProcess Methodology
1 UML 2.0 Proposal Sight Code, Inc.
Presentation to OMG - ADTF
September 13, 2001
Dov Dori Massachusetts Institute of
Technology and Sight Code, Inc.
2Proposal Highlights
- Enhance UML by
- Providing a unifying diagram from which the core
UML 1.X diagram types can be automatically
derived - Augmenting UML to be able to model systems in
general, not just software systems - Providing UML with a solid ontological basis
- Introduce recursive complexity management
mechanisms
3Systems and Software Engineering
- Software systems are systems.
- Software engineering is systems engineering.
- There is a set of common design principles that
apply to all systems - Institutions increasingly recognize this, e.g.,
- Engineering Systems Division at MIT
- The Institute for Complex Engineered Systems at
Carnegie Mellon. - UML can and should be the standard systems
modeling paradigm.
4The need for a unifying diagram
- The separation of UML modeling into nine diagram
types may be good for separation of concerns, but
UML must also have a single unifying view! - The inability to model structure alongside
behavior in the same diagram is a major obstacle
in the way of straightforward, intuitive modeling
of any system.
5UML can and should be the standard language for
modeling systems, including, but not limited to
software systems.Our customers develop and
operate systems. We build the software to make
their systems work, or work better.The customer
must be able to take active part in the analysis
and design. To succeed, we must speak the same
language. Let us not lose this vision when
looking at the details, important as they are.
The need for a simpler model
6A unifying diagram not only possible, but also
mandatory
- When modeling, the system architect thinks
concurrently about the objects and the processes
that transform them. - The need to concurrently maintain several models
while developing the system inhibits free
thought. - There are N!/2 links between N diagram types,
which need to be checked. - For N9 this is 181,440 links!
- With a central model, this shrinks to 9.
7Experimental Results
- 88 senior information engineering students
Overall number of errors in the specification
quality part of the experiment - multiple model method 5.81 ? 2.95
- single model method 2.80 ? 2.11
- Reference Peleg, M. and Dori, D. The Model
Multiplicity Problem Experimenting with
Real-Time Specification Methods. IEEE Transaction
on Software Engineering, 26(8), pp. 742-759,
2000.
8The Evolution of Programming Paradigms
2002-20xx UML 2.0
1986-2001 C, Java, XML, UML1.X
1961-85 Fortran, PL1, ADA, C.
1950-60 Machine Language, Assembler
What will it take to make this quantum leap?
9Proposed Ontology Things Objects and Processes
10States Situations an object can be at during its
lifecycle
11Processes things that change object states
12From input-output links to effect link
Input and output links
States suppressed
I/O links merged
13Inheritance applies also to behavior and state
transitions
14Structure, behavior, and state transitions can be
mixed and matched
15Entities objects, processes, states
16A Robot example
Object
Robot
Engaging
Process
17Adding states
Robot
Object
engaged
disengaged
State
Process
State
Engaging
18A process changes object state
Input State
Output State
Output Link
Input Link
19A process can generate new objects
Result link
20Robot
engaged
disengaged
Engaging
Workpiece
Robotic Arm
Aggregation
21Integrating system aspects
Robot
Behavior State transitions
engaged
disengaged
Structure aggregation
Engaging
Behavior Object generation and change
Workpiece
Robotic Arm
22The Fundamental Structural Relations
23Introducing processes into the object model
24Adding enablers agent and instrument links
Instrument link
25The complete top-level Object-Process Diagram
26Deriving UML 1.X diagrams. Source
27Deriving UML 1.X diagramsStructure Diagram
28Deriving UML 1.X diagramsUse Case Diagram
29Complexity managementZooming into Transaction
Executing
30Completing the diagram with surrounding objects
31The System Map First two nodes
32The ultimate OPD Merging the two OPDs
33Out-Zooming
34AND, XOR, and OR Logical Operators
The exit or entry point of links expresses AND or
XOR logical relations.
35Boolean objects
Boolean objects (Approval is obtained?) provide
for controlling the flow of system dynamics.
36The System Map
This is a directed acyclic graph in which nodes
are Object-Process Diagrams and edges point from
abstract to refined objects or processes.
37Zooming into Account Checking
Account Checking now exposes the inner processes
and objects. Links are in accord with the more
abstract diagram.
38Condition and agent condition links
Accessing requires that User be authorized and
Card be valid.
39Proposed ontology object, transformation, and
process
An object is a thing that has the potential of
stable, unconditional physical or mental
existence. Transformation is a generalization of
consumption (destruction), state change (effect),
and generation (construction) of one or more
objects. A process is a pattern of transformation
that an object undergoes.
40Metamodel of entities and things
State and Thing are Entities. Object and Process
are Things. State is a situation of
Object. Object can be at State. Process changes
State.
41The Perseverance attribute of Thing can be static
or dynamic
42Object is a Thing, the Perseverance of which is
static.
Process is a Thing, the Perseverance of which is
dynamic.
43Procedural links summary
44The four fundamental structural relations
45Attributes and operations
46Attributes of objects
47Operations of objects
48Attributes of processes
49Operations of processes
50Structure Hierarchy
51Combining structure and behavior
52Selective Semi Folding
53Impact on OMG Architecture Current status
The problem Circularity
54Proposed architecture UML 2 replaces MOF
- UML 2.0 is the instrument for
- reflective Metamodeling
- Standard Modeling and
- System Modeling