object-oriented modeling: a roadmap - cs.ucl.ac.uk · design code requirements for a model –...
TRANSCRIPT
1
Leiden University
University of Paderborn
Object-Oriented Modeling:
A Roadmap
Gregor EngelsUniversity of Paderborn
Luuk GroenewegenLeiden University
June 8, 2000 ICSE 2000: Future of Software Engineering 2
LuukGroenewegen
GregorEngels Object-Oriented Modeling: A Roadmap
Software Development: Traditional (?) Approach
problem domain
program
implementation
2
June 8, 2000 ICSE 2000: Future of Software Engineering 3
LuukGroenewegen
GregorEngels Object-Oriented Modeling: A Roadmap
Software Development: Reality
problem domain
program
������������
June 8, 2000 ICSE 2000: Future of Software Engineering 4
LuukGroenewegen
GregorEngels Object-Oriented Modeling: A Roadmap
Software Development: Model-centered Approach
problem domain
program
modelanalyse anddesign
code
abstracts fromirrelevant details
abstracts fromimplementation details
3
June 8, 2000 ICSE 2000: Future of Software Engineering 5
LuukGroenewegen
GregorEngels Object-Oriented Modeling: A Roadmap
Requirements for a Model and the Modeling Language
problem domain
program
modelanalyse anddesign
code
Requirements for a Model
– user-friendly, understandable
– expressive
– correct, precise
Requirements for a Modeling Language
- visual, diagrammatic
- structure & behavior
- syntax & semantics
June 8, 2000 ICSE 2000: Future of Software Engineering 6
LuukGroenewegen
GregorEngels Object-Oriented Modeling: A Roadmap
History of Modeling Languages
problem domain
program
modelanalyse anddesign
code
Historical Development
~ 70 Data Flow Diagrams (DFD) + Entity-Relationship Diagrams = Structured Analysis (SA)
~ 80 abstract data type: object-orientation
~ 90 > 50 object-oriented modeling languages
~ 00 standardization: Unified Modeling Language
4
June 8, 2000 ICSE 2000: Future of Software Engineering 7
LuukGroenewegen
GregorEngels Object-Oriented Modeling: A Roadmap
Unified Modeling Language (UML)
Unified Modeling Language (UML)union of > 9 diagram types
structure: class / object diagram
behavior: use case diagram
statechart diagram
activity diagram
sequence diagram
collaboration diagram
implementation: component diagram
deployment diagram
constraints: object constraint language (OCL)
June 8, 2000 ICSE 2000: Future of Software Engineering 8
LuukGroenewegen
GregorEngels Object-Oriented Modeling: A Roadmap
Unified Modeling Language (UML)
Unified Modeling Language (UML)– pushed by Rational
• „ three amigos“ : Grady Booch, Jim Rumbaugh, Ivar Jacobson
– standardized by OMG (Object Management Group)• version 1.1: november 1997
• version 1.3: autumn 1999
• version 2.0: under discussion
Unified Process (RUP)
This is not a talk about UML!
5
June 8, 2000 ICSE 2000: Future of Software Engineering 9
LuukGroenewegen
GregorEngels Object-Oriented Modeling: A Roadmap
Perspectives - Open Issues
regions of the object-oriented modeling landscape
modeling process
(in the large)modeling process
(in the small)
languagestructure
model review
modelcomposition
modelconstituents
June 8, 2000 ICSE 2000: Future of Software Engineering 10
LuukGroenewegen
GregorEngels Object-Oriented Modeling: A Roadmap
Perspectives - Open Issues
regions of the object-oriented modeling landscape
modeling process
(in the large)modeling process
(in the small)
languagestructure
model review
modelcomposition
modelconstituents
6
June 8, 2000 ICSE 2000: Future of Software Engineering 11
LuukGroenewegen
GregorEngels Object-Oriented Modeling: A Roadmap
Language Structure
Layered Language Structure
core language
domain-specificextensions
modelinglanguage
application-specificextensions
(core) syntax & semantics
completeness
concrete syntax (textual vs. graphical)
domain-specific profiles
(realtime, embedded, multimedia)
application-specific prefaces
June 8, 2000 ICSE 2000: Future of Software Engineering 12
LuukGroenewegen
GregorEngels Object-Oriented Modeling: A Roadmap
Open Issues (1)
Open issues in the Language Structure region:
• language architecture (core vs. profiles)
• hybrid notations (textual vs. graphical)
• completeness, expressiveness
• semantics
7
June 8, 2000 ICSE 2000: Future of Software Engineering 13
LuukGroenewegen
GregorEngels Object-Oriented Modeling: A Roadmap
Perspectives - Open Issues
regions of the object-oriented modeling landscape
modeling process
(in the large)modeling process
(in the small)
languagestructure
model review
modelcomposition
modelconstituents
June 8, 2000 ICSE 2000: Future of Software Engineering 14
LuukGroenewegen
GregorEngels Object-Oriented Modeling: A Roadmap
Model Constituents (1)
what are the basic building blocks of a model?problem domain
program
modelanalyse anddesign
code
problemdomain
view 1 view 2 view 3 view 4
model
view integration of
structural and behavioral views
8
June 8, 2000 ICSE 2000: Future of Software Engineering 15
LuukGroenewegen
GregorEngels Object-Oriented Modeling: A Roadmap
Model Constituents (2)
what are the basic building blocks of a model?problem domain
program
modelanalyse anddesign
code
problemdomain
model
coremodel
aspects
(e.g.,concurrency)
aspect weaver
June 8, 2000 ICSE 2000: Future of Software Engineering 16
LuukGroenewegen
GregorEngels Object-Oriented Modeling: A Roadmap
Model Constituents (3)
what are the basic building blocks of a model?problem domain
program
modelanalyse anddesign
code
problemdomain
model
pattern repositorypattern repository
modeling by
using patterns
9
June 8, 2000 ICSE 2000: Future of Software Engineering 17
LuukGroenewegen
GregorEngels Object-Oriented Modeling: A Roadmap
Model Constituents (4)
what are the basic building blocks of a model?problem domain
program
modelanalyse anddesign
code
problemdomain
model
framework
application-dependent
modeling by
specialization
June 8, 2000 ICSE 2000: Future of Software Engineering 18
LuukGroenewegen
GregorEngels Object-Oriented Modeling: A Roadmap
Open Issues (2)
Open issues in the Model Constituents region:
• modeling units and their interdependencies
• views
• aspects, features
• patterns
• frameworks
10
June 8, 2000 ICSE 2000: Future of Software Engineering 19
LuukGroenewegen
GregorEngels Object-Oriented Modeling: A Roadmap
Perspectives - Open Issues
regions of the object-oriented modeling landscape
modeling process
(in the large)modeling process
(in the small)
languagestructure
model review
modelcomposition
modelconstituents
June 8, 2000 ICSE 2000: Future of Software Engineering 20
LuukGroenewegen
GregorEngels Object-Oriented Modeling: A Roadmap
Model Composition
what are the means to compose models?
– horizontal composition• adding/removing model parts
– vertical composition• refinement
– subsystems– class-like descriptions
problem domain
program
modelanalyse anddesign
code
?
11
June 8, 2000 ICSE 2000: Future of Software Engineering 21
LuukGroenewegen
GregorEngels Object-Oriented Modeling: A Roadmap
Open Issues (3)
Open issues in the Model Composition region:
• scalability
• horizontal / vertical composition techniques
June 8, 2000 ICSE 2000: Future of Software Engineering 22
LuukGroenewegen
GregorEngels Object-Oriented Modeling: A Roadmap
Perspectives - Open Issues
regions of the object-oriented modeling landscape
modeling process
(in the large)modeling process
(in the small)
languagestructure
model review
modelcomposition
modelconstituents
12
June 8, 2000 ICSE 2000: Future of Software Engineering 23
LuukGroenewegen
GregorEngels Object-Oriented Modeling: A Roadmap
Modeling Process (in-the-Small)
what are the tasks during composing a model?
– managing consistency between model parts– determing model architecture
problem domain
program
modelanalyse anddesign
code
Model-View-Controller (MVC) Architecture
Controller View
Model
communication
June 8, 2000 ICSE 2000: Future of Software Engineering 24
LuukGroenewegen
GregorEngels Object-Oriented Modeling: A Roadmap
Modeling Process (in-the-Small)
what are the tasks during composing a model?
– managing consistency between model parts– determing model architecture
problem domain
program
modelanalyse anddesign
code Model-View-Communication-Controller (MVCC)
Controller View
Model
Communication
13
June 8, 2000 ICSE 2000: Future of Software Engineering 25
LuukGroenewegen
GregorEngels Object-Oriented Modeling: A Roadmap
Open Issues (4)
Open issues in the Modeling Process (in-the-Small) region:
• consistency within the model
• modeling of coordination and communication
June 8, 2000 ICSE 2000: Future of Software Engineering 26
LuukGroenewegen
GregorEngels Object-Oriented Modeling: A Roadmap
Perspectives - Open Issues
regions of the object-oriented modeling landscape
modeling process
(in the large)modeling process
(in the small)
languagestructure
model review
modelcomposition
modelconstituents
14
June 8, 2000 ICSE 2000: Future of Software Engineering 27
LuukGroenewegen
GregorEngels Object-Oriented Modeling: A Roadmap
Open Issues (5)
Open issues in the Model Review region:
• animation / simulation techniques
• analytical techniques
problem domain
program
modelanalyse anddesign
code
June 8, 2000 ICSE 2000: Future of Software Engineering 28
LuukGroenewegen
GregorEngels Object-Oriented Modeling: A Roadmap
Perspectives - Open Issues
regions of the object-oriented modeling landscape
modeling process(in the large)
modeling process
(in the small)
languagestructure
model review
modelcomposition
modelconstituents
15
June 8, 2000 ICSE 2000: Future of Software Engineering 29
LuukGroenewegen
GregorEngels Object-Oriented Modeling: A Roadmap
Open Issues (6)
Open issues in the Modeling Process (in-the-Large) region:
• frond-end / back-end transformations
• round-trip engineering
• process models
• support tools
problem domain
program
modelanalyse anddesign
code
June 8, 2000 ICSE 2000: Future of Software Engineering 30
LuukGroenewegen
GregorEngels Object-Oriented Modeling: A Roadmap
Conclusions (1)
regions of the object-oriented modeling landscape
modeling process
(in the large)
modeling process
(in the small)
language structure
model review
modelcomposition
model constituents
16
June 8, 2000 ICSE 2000: Future of Software Engineering 31
LuukGroenewegen
GregorEngels Object-Oriented Modeling: A Roadmap
Conclusions (2)
Summary– drawn a structured landscape– identified a list of open issues
Note:a lot of individual solutions exist
Challenge for the Future
Adaption and Integration of Solutions *
*Footnote: UML might be a good platform!
June 8, 2000 ICSE 2000: Future of Software Engineering 32
LuukGroenewegen
GregorEngels Object-Oriented Modeling: A Roadmap
Conclusions (3)