StateSo ft SG17 Workshop March 14 2004 1 Janusz Dobrowolski Janusz Dobrowolski StateSoft Inc, StateSoft Inc, [email protected]Prof. Bogdan Korel Prof. Bogdan Korel Illinois Institute of Technology Illinois Institute of Technology [email protected]VeUML for Telecommunication Systems Copyrights StateSoft Inc., 2003. This information is protected by one or more patent or patent pending.
27
Embed
StateSoft SG17 Workshop March 14 2004 1 Janusz Dobrowolski StateSoft Inc, [email protected] Prof. Bogdan Korel Illinois Institute of Technology.
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Illinois Institute of TechnologyIllinois Institute of [email protected]
VeUMLfor
Telecommunication Systems
Copyrights StateSoft Inc., 2003. This information is protected by one or more patent or patent pending.
StateSoftSG17 Workshop March 14 2004 2
Generally Accepted Definition of an Architecture as “ the set of the most important elements of your system”
is not formal enough for the purpose of an Automatic Executable Generation and Automatic Validation.
MetaArchitecture = MetaData + MetaBehavior
* MetaData well understood: examples ASN.1, XML
* MetaBehavior was not really wellunderstood until VeUML
MetaProtocol conforms to the rules of MetaArchitecture
MetaArchitecture
StateSoftSG17 Workshop March 14 2004 3
Renaming the problem != Solution
– Control – Behavior– Business Logic– Preconditions, Postconditions– Platform Independent Service Logic– WorkFlow– Policies– Complex Decision Tables
VeUML provides solution to the above problems
StateSoftSG17 Workshop March 14 2004 4
UML Most Recognized Problem
“The weak area of UML is in the behavioral or dynamic part.” From the 2003 book “MDA Explained”
by A. Kleppe, J. Warmer, W. BastThe term “weak”, as understood by a prospective, user may relate to:• Varying degree of automated code generated by existing tools • Limited automated analysis (validation)• Partially executable models
VeUML proposed solution: 100% executable model generation and validation is possible for complex behavior modeling.
StateSoftSG17 Workshop March 14 2004 5
To_Program or To_Model
Programming == Expense
Modeling == Investment in your domain of expertise
Product of Modeling: retargetable Platform Architectures, Protocols and
Services
StateSoftSG17 Workshop March 14 2004 6
Things hard or impossible to achieve without MDA
– Automatic Protocol, Platform and Services Generation
– Automatic Validation
– Services Feature Interactions Tracing
– Construction of Toolkits aware of precise domain knowledge (models)
StateSoftSG17 Workshop March 14 2004 7
Current Telco Systems Architectures: limited potential for Reuse, Automatic Validation and Features Interaction Traceability
Platform Independent Model (PIM) Platform Specific Model (PSM)
Presentation
Applications
Services
Platform
Protocols
NOT MUCH HERE !!!
StateSoftSG17 Workshop March 14 2004 8
VeUML- Based Systems Architectures optimized for Reuse and an Automatic Validation
PIM PSMInheritanceConcrete
Presentation
Concrete Applications
Concrete Services
Concrete Platform
Concrete Protocol
Abstract Presentation
Abstract Applications
Abstract Services
Abstract Platform
Abstract Protocol
StateSoftSG17 Workshop March 14 2004 9
Coupling Data and Behavior creates substantial validation scalability problems for Complex Systems
• State explosion
• Inefficient validator execution time
• Excessive validator memory requirements
• Validator complexity
StateSoftSG17 Workshop March 14 2004 10
Proposed solution: VeUML
Separation of Class Data from a Class Behavior:
A viable and proven approach
StateSoftSG17 Workshop March 14 2004 11
Components of a Class Model in UML
Data Representation
BehaviorRepresentation
Shared with other classes,mixed with data,incomplete, or missing
Attributes:
• Data_1• Data_2• Data_3
CLASSOperations
Methods ONLY defined:
get_this() /* unclear when */put_there() /* unclear when */
* Consistency in OOA/OOD view:According to the OOA/OOD principle Architect/Designer/Implementer view of a system should be the same. In VeUML the MDA behavioral model is the only target executable representation Architect/Designer/Implementer work with.
This Coffeemaker example is based in part on the book by Robert C. Martin, “Object-Oriented C++ Applications Using The Booch Method”, Prentice Hall, 1995.
StateSoftSG17 Workshop March 14 2004 23
VeSDL Example – Partial diagram
Wait_to_Brew
Empty_pot_removed
startBrew & boilerNotEmpty & potEmpty
Brewing_Pot_Empty
Close_valve; Turn_Boiler_On;
Turn_Indicator_Off
startBrew & boilerNotEmpty & potEmpty
Open_valve;
Turn_Boiler_Off
boilerEmpty
Turn_Boiler_Off;
Turn_Indicator_On
StateSoftSG17 Workshop March 14 2004 24
• <?xml version=“2.0"?>• <!-- (c) 2002 StateSoft, Inc. All rights reserved. -->• <XML>• <STATE>• <TRANSITION> • <CONDITION> “potNotEmpty / “ • <ACTION>• “Close_valve; Turn_Boiler_On; Turn_warmer_On”• </ACTION>• <NEXTSTATE>• “Empty_Pot_removed”
</NEXTSTATE>
• • </CONDITION>• <TRANSITION> • </STATE> </XML>
VeXML Example – Partial listing
StateSoftSG17 Workshop March 14 2004 25
VeMSC Classes Behavior Generation from System Model MSC
In VeUML one can automatically synthesize target executable model from elementary representations.
Other approaches often use elementary representation for high level simulation only.
atm bank
StateB1
StateA2
StateA3
StateA1
StateB3
ActionA2
StateB2
ActionB1
MSg1
MSg3
MSg2
ActionA1
ActionB2
StateSoftSG17 Workshop March 14 2004 26
VeUML extension concepts: VeSTD, VeXML, VeMSC, VeSDL. What do they represent as a Modeling Language Category?
It may be:
T E M L – (new term) Target Executable Modeling
Language
Interlingua – (IBM® term) where source model and executable are
programming language independent.
StateSoftSG17 Workshop March 14 2004 27
Conclusions: Benefits of Separation of Domains
in VeUML Behavior Modeling
• Automatic executable generation and validation for protocols and platforms of substantially higher complexity
• Significant degree of reuse due to
separation of domains
• Potential for Services Features Interaction Resolution