0% found this document useful (0 votes)
38 views

Design Code Generation

This document discusses model-driven development and various modeling languages and tools. It provides an overview of model-driven development (MDD) and its benefits. It also discusses the Unified Modeling Language (UML), including its definition, types of diagrams, and some deficiencies. The document then introduces the Object Process Methodology (OPM) as an alternative to UML that uses a single model to represent both structure and behavior. It also discusses the OPM modeling tool OPCAT. Finally, it briefly discusses the Systems Modeling Language (SysML) and references additional resources on model checking and code generation.

Uploaded by

Do Quang Tri
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
38 views

Design Code Generation

This document discusses model-driven development and various modeling languages and tools. It provides an overview of model-driven development (MDD) and its benefits. It also discusses the Unified Modeling Language (UML), including its definition, types of diagrams, and some deficiencies. The document then introduces the Object Process Methodology (OPM) as an alternative to UML that uses a single model to represent both structure and behavior. It also discusses the OPM modeling tool OPCAT. Finally, it briefly discusses the Systems Modeling Language (SysML) and references additional resources on model checking and code generation.

Uploaded by

Do Quang Tri
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 21

Tool for Design and Code

Generation

Tri Do
[email protected]

University of Technology
Ho Chi Minh City 2011
Overview
 [W3] Model Driven Development?
 UML Factbook
 UML Deficiencies & EA
 OPM & OPCAT
 SysML
 More words on SEAM
[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.
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/ )
OpenSource; written in java

 Others (
http://www.objectsbydesign.com/tools/umltools_by
Company.html
)
UML Deficiencies
 9 Deficiencies (Read more [2])
 So many models, each model introduces its
own set of symbols and concepts.
 Difficult to maintain integration, consistency
among views. ([5])
 …
Object Process Methodology
(Dori,2002a)
 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)
Thing /
Description / OPL sentence Symbol
Attribute

A thing (entity) that has the potential of stable,


unconditional physical or mental existence.
Object
Object Name is an object.*

A thing representing a pattern of transformation


that objects undergo.
Process
Processing is a process.*

An attribute that determines whether the thing


(object or process) is physical (shaded) or
informational. Essence
Processing is physical.

An attribute that determines whether the thing is


environmental (external to the system, dashed
contour) or systemic. Affiliation
Processing is environmental.
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
 …
More words on SEAM

 Precondition, Postcondition, Invariant


fields added (same as [6],[7])
 Model checker (Alloy) decides formula
satisfiable and generates model instance
 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. 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

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


Web Application Models.Empirical Software Engineering
Iris Reinhartz-Berger and Dov Dori

4. Object-Process Methodology (OPM) vs. UML: A Code Generation


Perspective
Iris Reinhartz-Berger1 and Dov Dori2
Reference
5. Workshop on "Consistency Problems in UML-based Software Development
II“
Ludwik Kuzniarz, Zbigniew Huzar, Gianna Reggio, Jean Louis Sourrouille, Miroslaw
Staron

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


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

7. Catalysis page
http://www.catalysis.org/overview/faq.htm
Thank you!

You might also like