You are on page 1of 25

Tool for Design and Code

Generation
Tri Do
dotri84@yahoo.com

Co-Supervisors: Dr. Quan Thanh Tho - HCMUT, Vietnam


Biljana Bajic, Alain Wegmann - EPFL, Switzerland

University of Technology
Ho Chi Minh City 2011
Overview
 The challenge of software development
 [W3] Model Driven Development?
 UML Factbook
 UML Deficiencies & EA
 OPM & OPCAT
 SysML
 Basic ideas of SEAM
The challenge of software
development
Le

 a
Difficulty in producing reliable estimates

rn
Problems with securing the right people, at the right time

Fro
Delivery milestones slipped repeatedly
Difficulty in integrating with other systems

m

 Unacceptable levels of bugs found during system testing



Fa
High rates of bugs found after implementation

ilu
Reluctant, disillusioned and dissatisfied users

r
 High ongoing maintenance costs


Unhelpful system documentation
e
Systems that are inflexible in response to business change
[W3] Model Driven
Development?
 What MDD?
 Raise the level of abstraction from textual
code to visual models.
 Why MDD?
 Agile Modeling
 Quickly represent a solution to stakeholders
 When MDD?
 Depend on your choices
“It’s not the strongest who survive
nor the most intelligent, but the ones
most adaptable to change.”

- Charles Darwin
UML Factbook
 UML stands for “Unified Modeling Language”
 UML is not dependent on any one language or
technology.
 It is a industry-standard graphical language for
specifying, visualizing, constructing, and
documenting the artifacts of software systems
 UML 2.3 has 14 types of diagrams.
 Class Diagrams, Sequence Diagrams, Statechart
Diagrams, Activity Diagrams…
 Size of UML 2.3 specification: over 700 pages
 A major research endeavor. (read more [10])
UML Modeling Tools
 Rational Rose, Rational Rhapsody (
www.rational.com) by IBM

 Enterprise Architect (
http://www.sparxsystems.com.au/)

 ArgoUML (free software) (http://


argouml.tigris.org/) Open Source

 Others (
http://www.objectsbydesign.com/tools/umltools_by
Company.html
)
UML Deficiencies
 9 Deficiencies (Read more [3])
 So many models, each model introduces its
own set of symbols and concepts.
 Difficult to maintain integration, consistency
among views. ([6])
 …
Object Process Methodology
(OPM)
 Developed by Dov Dori in 2002

 Holistic methodology that covers structure and behavior


of systems using a single mode

 Motivation:
 Unbalanced structure-behavior representation
 Model multiplicity problem (Peleg et al, 2000)
 Bi-model representations
 Graphical: Object-Process Diagrams (OPD)
 Textual: Object-Process Language (OPL)
OPM
 OPM uses Objects and Processes in order to model the
structural and behavioral
 Objects are things that exist over time. Object can be
stateful (i.e., have states).
 Processes are things that transform Objects by creating
them, destroying them, or changing their states.
 Procedural links connect processes to objects to express
these transformations.
 Structural relations connect objects to express static,
long-term between them.
OPM (cont.)
 ISO/TC 184/SC 5 committee have decided to establish a
Study Group tasked with exploring OPM as an ISO
standard for ISO/TC 184/SC 5. (April 2009)
 Industrial Partners: KODAK, NASA, Siemens PLM
Solutions, US Navy, …
 Academic and Standards Institutions: ISO, MIT, Keio
University, Penn State University, …
OPL

OPM Model
 SD: High level view
OPD
OPM vs. UML
 UML has multiple-views

 Each view specifies a different aspect

 The diagram types are divided into:


 Structural diagrams
 Procedural diagrams
OPM vs. UML
 OPM: Process is an entity that uniformly represents
patterns of behavior
 UML: Behavior of the system can be spread across
five diagram types

 OPM: System’s structure and behavior are specified


side-by-side, enabling one to see the whole picture in
a single view
 UML: System’s structure and behavior are specified
at different and separate
views
OPM vs. UML

OPM: No need for mental transformations


and integration across different views
UML: Need to validate consistency among
the various views
OPM: 25 symbols
UML: 150 symbols (Dori,2002)
OPCAT (www.opcat.com)
 OPCAT (Object-Process CAse Tool) has been
developed as a CASE tool to support the Object-
Process Methodology.

 Graphic and textual representation, jointly express the


same OPM model

 OPL serves human as well as machine

 OPCAT provide an advanced simulation tool

 OPCAT enable code generation (using OPL)

 OPCAT enable UML diagrams generation


OPCAT overview

Entities

Structural Procedural
links links
Simulation by animation
What is SySML?

 SysML is a graphical modeling language


 A UML profile that represents a subset of
UML 2 with extensions
 Is methodology and tool independent
 Some tools:
 TOPCASED-SYSML
 Papyrus for SysML
 …
Systemic Enterprise Architecture
Methodology (SEAM)
 A family of methods for strategic thinking, business / IT
alignment, requirement engineering.
 SEAM provides a language and a CAD tool (SeamCAD)
for visual modeling. Visual model made by SeamCAD is
stored as an XML file.
 SEAM’s ontology is based on RM-ODP and formalized in
a specification language called Alloy (alloy.mit.edu).
 Alloy is a model checker decides formula satisfiable and
generates model instance.
SEAM (cont.)
 SeamCAD – Eclipse’s plug in
 Precondition, Postcondition, Invariant fields added (read
more [7],[8])
 Help in Code Generation ?
 Data Dictionary as JSON file
 JavaCC compile Data Dictionary + Template
Reference
1. From Business Specification Down to Executable JEE code using SEAM, a
Systemic Design and Analysis Method
Biljana Bajic, Claude Petitpierre, Alain Wegmann
School of Computer, Communication and Information Sciences
E´cole polytechnique fe´de´rale de Lausanne (EPFL)
CH-1015 Lausanne, Switzerland

2. SeamCAD: Object-Oriented Modeling Tool for Hierarchical Systems in


Enterprise Architecture
Lam-Son Lê, Alain Wegmann

3. Problems and Deficiencies of UML as a Requirements Specification


Language
Martin Glinz - Institut für Informatik, Universität Zürich Winterthurerstrasse 190
CH-8057 Zurich, Switzerland

4. OPM vs. UML - Experimenting with Comprehension and Construction of


Web Application Models.Empirical Software Engineering
Iris Reinhartz-Berger and Dov Dori
Reference (cont.)
5. Object-Process Methodology (OPM) vs. UML: A Code Generation
Perspective
Iris Reinhartz-Berger1 and Dov Dori2

6. Workshop on "Consistency Problems in UML-based Software Development


II“
Ludwik Kuzniarz, Zbigniew Huzar, Gianna Reggio, Jean Louis Sourrouille, Miroslaw
Staron

7. Objects, components, and frameworks with UML - The Catalysis approach,


4th ed. Addison-Wesley, 2001
D. F. D’Souza, and A. C. Wills

8. Catalysis page
http://www.catalysis.org/overview/faq.htm
Reference (cont.)
9. Alloy
http://alloy.mit.edu
10. OMG Unified Modeling LanguageTM (OMG UML), Superstructure v2.4
http://www.omg.org/spec/UML/
Thank you!

You might also like