object-oriented modeling: a roadmap - cs.ucl.ac.uk · design code requirements for a model –...

16
1 Leiden University University of Paderborn Object-Oriented Modeling: A Roadmap Gregor Engels University of Paderborn Luuk Groenewegen Leiden University June 8, 2000 ICSE 2000: Future of Software Engineering 2 Luuk Groenewegen Gregor Engels Object-Oriented Modeling: A Roadmap Software Development: Traditional (?) Approach problem domain program implementation

Upload: hadat

Post on 19-Jul-2018

216 views

Category:

Documents


0 download

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)