430 likes | 450 Views
Executable UML. Presented by: Rizi Aznita Evelyn Brannock. MDA. From OMG Provides an open, vendor-neutral approach that separates business and application logic from underlying platform technology UML is a key foundation Platform independent models document the.
E N D
Executable UML Presented by: Rizi Aznita Evelyn Brannock
MDA • From OMG • Provides an open, vendor-neutral approach that separates business and application logic from underlying platform technology • UML is a key foundation • Platform independent models document the business functionality • Enables interoperability both within and across platform boundaries
MDA • Three primary viewpoints for modeling • The Computation Independent Model (CIM) • Precise business model, oriented to stakeholders, uncommitted to specific algorithms or system boundary. Also known as a Domain Model. • The Platform Independent Model (PIM) • Precise, computationally complete (executable), uncommitted to any specific platform (portable), oriented to stakeholders (prototyping) and developers (a testable specification), a long life asset • The Platform Specific Model (PSM) • Precise, complete, conforms to constraints of a specific (class of) platform(s), probably generated from a PIM, oriented to technology experts
A Perspective on Executable UML One effect of wide adoption of Executable UML will be a marked division of labor and skill sets within the developer community. • Modelers well versed in both the UML and in domain-specific knowledge will build applications; • Developers with lower-level technical skills and deep knowledge of computer science will build model compilers and VEEs (Virtual Execution Environments). • The model compiler and its associated VEE are, in effect, a reusable systems architecture.… Gerry Boyd, Director of Research at NCS Technologies
2 What is Executable UML? • xUML is • An executable version of UML, with…. • Clearly defined simple model structure • A precise semantics for actions • A compliant action specification language • An accompanying process • A proven development process, oriented towards • Executable modeling • Large scale reuse • Pattern based design
What is Executable UML? • Supported by
What is Executable UML? • The primary models • Action Semantics extend the UML meta-model to express “actions” • Derived attributes • Constraints • Parallel execution • Suited to translation • Function/data flow based
(part of) xUML (part of) Design Metamodel (object-based) (part of) Ada 83 Metamodel Class Class Package Attribute PrivateDatum BodyVariable Signal PublicMethod SpecSubprogram Define Mapping Define Mapping xUML Metamodel Design Metamodel Implementation Metamodel MDA with xUML: PIM to PSM Mappings • The xUML process supports the fully automatic transformation of PIMs to PSMs • Based on a specification of a mapping from the rigorously defined PIM (expressed in xUML) to the PSM
Two Approaches • Kennedy Carter • Accelerated Technology’s BridgePoint
About Kennedy Carter • Specialize in software design automation for systems where performance and reliability are paramount. • Deploy the xUML development process and provide a complete solution for applying these techniques to real projects, including intelligent tools and a comprehensive range of training and consultant services
Use Case Diagram for a Simple Calendar Application (SCA) • Implement Simple Calendar Application using iUML
iUML Simulator Features • Interactive debugging • Data browsing • Incremental development • Record / Playback • Breakpoints • Regression testing • Filtering simulation output • Signal Reordering
About Accelerated Technology • Division of Mentor Graphics • Stephen Mellor - chairs the Analysis and Design Task Force Working Group on MDA • Offers Nucleus BridgePoint XTUML: • object-oriented approach • used on over 1400 real-time and technical projects • life-critical implanted medical devices • DOD flight-critical systems • 24x7 performance-critical fault-tolerant telecom systems • highly resource-constrained consumer electronics • large-scale discrete-event simulation systems.
XTUML Development Process • Concurrent software architecture design and application development • Modeling activities are well defined • each has clear entry and exit gates • final gate is application model execution
XTUML Notation • UML (Unified Modeling Language) - rich set of notations that contains a large number of modeling constructs. • Requires significant ramp-up • Same concept can be represented in a variety of ways • XTUML is a carefully selected streamlined subset of UML that: • Supports execution-based and translation-based development • Provides a predefined methodology • Minimizes the learning curve associated with UML notation • 3 primary components: • Class diagrams • State diagrams • Procedure specifications -- uses Object Action Language • Additional diagrams (e.g.collaboration diagrams) are automatically generated from the three primary components.
Object Action Language Editor • Powered by Eclipse
Translation • Translates application models into 100 percent, target-executable code. • Uses “marks” • Provides the source for translation rules • Contains 3 pieces: • A set of design patterns and translation rules (archetypes) • A translation engine • A run-time library
Integration, Test and Maintenance • Testing involve “pre-testing” • Many defects are eliminated before integration and test • Application models are executable and testable in the PIM state • Translation eliminates all hand-coded defects. • Defects are traced to, and repaired at, their source • The software architecture design or the application model • No code-level modifications • Code always reflects the latest fixes made to the design or application model • Performance tuning is accomplished by modifying the translator rules and patterns. • Changes made to the translator automatically propagate throughout the system code
Differences between Executable UML and Elaborative (Traditional UML) Development
Executable UML • A whole new paradigm….. • Questions??
References • http://www.omg.org/mda • www.kc.com • http://www.mentorgraphics.com • Model Driven Architecture with Executable UML – Francis Raistrick,,John Wright, Colin Carter, Ian Wilkie – Cambridge University Press 2004. • Executable UML A Foundation for Model-Driven Architecture – Mellor and Balcer – Addison Wesley 2002. • MDA Explained: The Model Driven Architecture--Practice and Promise – Kleppe, Warmer, Bast - Addison-Wesley Professional 2003. • Model Driven Architecture: Applying MDA to Enterprise Computing - Frankel - Wiley 2003. • Executable UML - Leonardo Galvão Cavalcanti, 3/31/2004 – Master of Science Thesis • Executable/Translatable UML in Computing Education - Shayne Flint, Henry Gardner, Clive Boughton, - Sixth Australasian Computing Education Conference (ACE2004), Dunedin, New Zealand. Conferences in Research and Practice in Information Technology, Vol. 30 - 2004