INF5120 Model based System Development 19.01.2009 1 Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 1: 19.01.2009 Arne-Jørgen Berre Telecom and Informatics 2 Welcome to INF5120 “Model based System development” (for SOA) Model based System Development Tidligere: Modellering med objekter, Modeling with objects http://www.uio.no/studier/emner/matnat/ifi/INF5120/v09/ Ifi.uio.no/inf5120 Lecturers: Arne-Jørgen Berre, SINTEF and UIO Gøran Olsen, SINTEF Brian Elvesæter , SINTEF Some guest lectures ... Email: [email protected]Øvingsansvarlige: Tore Vatnan, Hans Huru, Anthe Rugstad Email: [email protected]
34
Embed
INF5120 ”Modellbasert Systemutvikling” ”Modelbased System … · INF5120 Model based System Development 19.01.2009 1 Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling”
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
INF5120 Model based System Development 19.01.2009
1
Telecom and Informatics 1
INF5120
”Modellbasert Systemutvikling”
”Modelbased System development”
Lecture 1: 19.01.2009Arne-Jørgen Berre
Telecom and Informatics 2
Welcome to INF5120 “Model based
System development” (for SOA)
� Model based System Development
� Tidligere: Modellering med objekter, Modeling with objects
� “The most effective way of teaching the idiomatic way of thinking
with objects is to immerse the learner in the "object-ness" of the
material. To do this we must remove as much familiar material as
possible, expecting that details such as syntax and programming
environment operation will be picked up quickly enough once the
fundamentals have been thoroughly understood.”
� Technique also very useful
during informal and creative analysis and design
� Created by Kent Beck and Ward Cunningham,
Textronix, 1989
INF5120 Model based System Development 19.01.2009
21
Telecom and Informatics 41
The CRC-Card
an object of paper personalizing the object
Class (Name):
Responsibility: Collaborators:
Telecom and Informatics 42
Class, responsibilities, and
collaborators
� ClassThe class name of an object creates a vocabulary for discussing a design. Indeed, many people have remarked that object design has more in common with language design than with procedural program design. We urge learners (and spend considerable time ourselves while designing) to find just the right set of words to describe our objects, a set that is internally consistent and evocative in the context of the larger design environment.
� Responsibilities Responsibilities identify problems to be solved. The solutions will exist in many versions and refinements. A responsibility serves as a handle for discussing potential solutions. The responsibilities of an object are expressed by a handful of short verb phrases, each containing an active verb. The more that can be expressed by these phrases, the more powerful and concise the design. Again, searching for just the right words is a valuable use of time while designing.
� CollaboratorsObjects which will send or be sent messages in the course of satisfying responsibilities. Collaboration is not necessarily a symmetric relation. For example in Smalltalk, View and Controller operate as near equals while OrderedCollection offers a service with little regard or even awareness of its client.
INF5120 Model based System Development 19.01.2009
22
Telecom and Informatics 43
UML og ( R )UP
Unified
Modeling
Language
Process
� Convergence Today
� Unification leads to “standards”
� Convergencein the future
� Process frameworks through consensus
Two parts of a Harmonized Whole
Telecom and Informatics 44
UML Structural Modeling
� Class Diagram
� Object Diagram
� Component Diagram (new in UML 2.0)
� Package Diagram
� Deployment diagram
INF5120 Model based System Development 19.01.2009
23
Telecom and Informatics 45
UML Behavioral Modelling
� Use Case Diagrams
� Interactions
� Sequence diagrams (enhanced in UML 2.0)
� Timing diagrams (new in UML 2.0)
� Interaction overview diagrams (new in UML 2.0)
� Communication diagrams (i.e. collaboration diagram)
� State machine diagrams (enhanced in UML 2.0)
� Activity Diagrams (enhanced in UML 2.0)
Telecom and Informatics 46
Different kind of models
� Conceptual models
� Specification models
� Implementation models
INF5120 Model based System Development 19.01.2009
24
Telecom and Informatics 47
SOA – Service oriented architecture
� From Objects (1967 – 1995+)
� To Components (1990-2000+)
� To Services (2000- 2010+)
Telecom and Informatics 48
SOA
� Services
� Messages
� Dynamic discovery
� Web services
INF5120 Model based System Development 19.01.2009
25
Telecom and Informatics 49
Service Oriented Architecture
(SOA) definition
� A set of components which can be invoked, and whose
interface descriptions can be published and discovered
(W3C).
� The policies, practices, frameworks that enable application
functionality to be provided and consumed as sets of
services published at a granularity relevant to the service
consumer. Services can be invoked, published and
discovered, and are abstracted away from the
implementation using a single, standards-based form of
interface. (CBDI) (www.cbdiforum.com)
Telecom and Informatics 50
Extended service-oriented architecture
Composition
Description & Basic Operations
Mana-gement
•Capability•Inteface•Behavior•QoS
•Coordination•Conformance•Monitoring•QoS
•Publication•Discovery•Selection•Binding
Service provider
Service client
Service aggregator
performs
publishes
uses
Role actions
becomes
Operations•Assurance•Support
Market•Certification•Rating•SLAs
Service operator
Market maker
Managed services
Composite services
Basic services
Composition
Description & Basic Operations
Mana-gement
•Capability•Inteface•Behavior•QoS
•Coordination•Conformance•Monitoring•QoS
•Publication•Discovery•Selection•Binding
Service provider
Service client
Service aggregator
performs
publishes
uses
Role actions
becomes
Operations•Assurance•Support
Market•Certification•Rating•SLAs
Service operator
Market maker
Managed services
Composite services
Basic services
Papazoglou and GeorgakopoulosCACM,Oct. 2003
INF5120 Model based System Development 19.01.2009
26
Telecom and Informatics 51
Dealing with Complexity – and Change
� Working at the right level of abstraction
� OO dealing with complexity
� objects -> components -> services *SOA
� Design by contract, role composition
� Aspect-oriented programming
� Use of patterns
� Visual Modeling (MDA)
� Architecture
Telecom and Informatics 52
PhaseClass
TraditionalSA/SD/ERA
SA-based OO
ERA-based OO
Hybrid SA/ER-based OO
SA - Yordon SD - Page Jones
ERA - Chen ER-Rel.db - 3NF
OO RT SA - Wards
OOA/OOD - Coad/Yordon
OMT - Rumbaugh et. al
Fusion - HP
OOAD - Booch (93 w/C++)
HOOD - ESA
OOSD - WassermanSD-basert OO
OO-based
RDOOD - Wirfs-Brock et. al
CRC-cards - Cunningham
OOram - Reenskaug et. al
ANALYSIS DESIGN DETAILED DESIGN
OOAD - Martin/Odell
OSDL-92 - CCITT/Bræk et. al
OOSE/ObjectOry - Jacobson
Ada(C++)-based
SDL-based OO
UML (96)Booch/OMT/ObjectOry
OOAD methods
Catalysis, Syntropy, SOMA, OBA, BHS, ...
INF5120 Model based System Development 19.01.2009
27
Telecom and Informatics 53
Evolution of the UML
Booch ´91
Booch ´93
Unified Method 0.8
UML 1.0
OMT - 2
OMT - 1 OOSE
UML 0.9 & 0.91
OOPSLA ´95
June ´96 & Oct ´96
Submission of UML 1.1 to OMG
for adoption, Sept ´97
Other methods
public
feedback UML Partners’
Expertise
UML 1.1 (Sept. 1997)
Taskon,SINTEF
UML 1.4UML 2.0
(2004)
Telecom and Informatics 54
Evolution of methodologies
UML1.0
UML1.1
UML1.2
UML1.3
UML1.4
OMT
Objectory
Booch
UML Components
Catalysis
OOram
KobrA
COMET
COMET-S
UML4EDOC
UML2
Pulse
UP
RUP
Notation
Process
2001
1995-
1999
2000
Objecteering
SOA
INF5120 Model based System Development 19.01.2009
28
Telecom and Informatics 55
Find the document here:
http://www.omg.org/cgi-bin/doc?ad/08-08-04.pdf
See also: www.soaml.org
Revised version of SoaML
per November 10th, 2008
and January 31st, 2009
Telecom and Informatics
SoaML UML Profile & Metamodel
INF5120 Model based System Development 19.01.2009
29
Telecom and Informatics
Example: Marketplace Services
Order
Conformation
Ship Req
Shipped
Shipped
Physical
DeliveryDelivered
Status
Provider
Consumer
Provider
Consumer
Consumer
Provider
GetItThere Freight Shipper
Mechanics Are Us
DealerAcme Industries
Manufacturer
Telecom and Informatics
Services Architecture
A ServicesArchitecture (or SOA) is a network of participant
roles providing and consuming services to fulfill a purpose. The
services architecture defines the requirements for the types of
participants and service realizations that fulfill those roles.
INF5120 Model based System Development 19.01.2009
30
Telecom and Informatics
Compound services
Telecom and Informatics
Participants may be assemblies of other Participants (UML 2.0)
Participant
Participant part
Service – capabilities
typed by
ServiceInterface
Request – needs
typed by
ServiceInterface
INF5120 Model based System Development 19.01.2009
31
Telecom and Informatics
MOFScript placed in the 4-layer
metamodel architecture (MDE)MOFMOF
Source Source MetamodelMetamodel
Source Source modelmodel
MOFScript MOFScript languagelanguage
MOFScript MOFScript transformationtransformation
TargetTargettexttext
MOFScript MOFScript tool tool engineengine
executed byexecuted by
inputinput
outputoutput
conforms toconforms to conforms toconforms to
conforms toconforms to
based onbased on
M1M1
M2M2
M3M3
conforms toconforms to
Telecom and Informatics 62
Project Management
Process Configuration
RequirementsAnalysis
ArchitectureLevel
Class Level
Implementation
Test
Design
preliminaryiteration(s)
iter.#1
PhasesProcessComponents
Iterations
Elaboration Construction TransitionInception
SupportingComponents
iter.#2
iter.#n
iter.#n+1
iter.#n+2
iter.#m
iter.#m+1
Unified Process Framework
Process Workflows
Business ModelingBusiness ModelingRequirementsRequirements
� EPF Composer isa tool platform for process engineers,project leads, projectand program managerswho are responsiblefor mainteining and implementing processesfor development organizations or individual projects
� Aims to:
� provide for development practitioners a knowledge base of intelectual capital that allows them to browse, manage and deploy content.
� provide process engineering capabilities by supporting processe engineers and project managers in selecting, tailoring, and rapidly assembling processes for their concrete development process.