159
Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 6-2: 16.02.2016 Arne-Jørgen Berre [email protected] or [email protected]

INF5120 ”Modellbasert Systemutvikling” …...Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 6-2: 16.02.2016 Arne-Jørgen

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: INF5120 ”Modellbasert Systemutvikling” …...Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 6-2: 16.02.2016 Arne-Jørgen

Telecom and Informatics 1

INF5120”Modellbasert Systemutvikling”

”Modelbased System development”

Lecture 6-2: 16.02.2016Arne-Jørgen Berre

[email protected] or [email protected]

Page 2: INF5120 ”Modellbasert Systemutvikling” …...Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 6-2: 16.02.2016 Arne-Jørgen

Telecom and Informatics 2

INF5120 - Lecture plan - 2015

� 1 (19/1): Introduction – MDA principles, class models, EA, BAE, SAE, MDE� 2 (26/1): BAE-1: BM, VDML, BMC/VPC,– Strategyzer, Oblig 1&2 intro, establish groups� Guest lecture, Prof. Peter Lindgren, Aarhus University, Sensing Business Model� 3: (2/2): MDE-1 Method Engineering, Essence, Process/Practices for BE and SE– Symphonical� Guest lecture, Bjørn Haugland, CEO, Symphonical, The Symphonical platform� 4 (9/2): BAE-2: Service Design – AT ONE, Smaply, ExperienceFellow� 5 (16/2): BAE-3: EA, BA, BPMN, VDML, Class/Term models- MagicDraw and Cameo Enterprise

Guest lecture, Ragnhild Halvorsrud, SINTEF, Visual Service Design language� 6 (23/2): BAE-4: Agile user stories and use cases – Symphonical/MD&Cameo� Guest lecture, Brian Elvesæter, SINTEF, Software Process Modeling and Enactment� 7 (2/3): BAE-5: User experience and Interaction/UI Design– Balsamiq and WebRatio installation� Guest lecture, Amela K, SINTEF, User Experience Design� 8 (9/3): SAE-1 IFML and Webratio and Mobile App development, Oblig 2 intro� 9 (16/3): SAE-2 Domain/information modeling – more IFML – Server development, Oblig 1

delivery and presentations� Guest lecture, Vidar Mortensen/Assulv Tønnesland, SunSense, Evje, Norway� 10(23/3): MDE-2 Metamodels, EMF, Oblig 3 intro� EASTER� 11(13/4): MDE-3 Graphical Editors – Sirius Oblig 2 delivery and presentations� 12(20/4): MDE-4 Model transformations � 13(27/4): SAE-3 Non functional requirements� 14(4/5): SAE-4 Service modeling - Oblig 3 delivery and presentations� 15(11/5): MDE-5: EA and DSL examples – future MDE� 16(18/5): Conclusion – preparation for the exam

Page 3: INF5120 ”Modellbasert Systemutvikling” …...Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 6-2: 16.02.2016 Arne-Jørgen

Telecom and Informatics 3

INF5120 - Obligs- 2015

� 1 (19/1): Introduction – Presentation of teaching assistants� 2 (26/1): Strategyzer demo, Oblig 1&2 intro, establish groups� 3: (2/2): Symphonical demo, Oblig 1 SenseIT text, finalise groups� 4 (9/2): Smaply demo, Oblig 1 App demo, Group: Strategyzer BMC/VPC, Symphonical plan� 5 (16/2): MagicDraw and Cameo Enterprise demo, Group: Smaply� 6 (23/2): Balsamiq demo, Group: MagicDraw BPMN process, UML class diagram� 7 (2/3): Symphonical/MD&Cameo, Group: User stories/Use cases templates, Symphonical� 8 (9/3): IFML and Webratio and Mobile App development demo, Oblig 2 intro, Group: Balsamiq� 9 (16/3): Webratio II, Oblig 1 delivery discussion and presentations� 10(23/3): EMF and Sirius demo� EASTER� 11(13/4): Sirius demo II, Oblig 2 delivery and presentations� 12(20/4): Sirius support� 13(27/4): Sirius support� 14(4/5): Oblig 3 delivery and presentations� 15(11/5): Oblig 3 discussions, Earlier exams� 16(18/5): Earlier exams

Page 4: INF5120 ”Modellbasert Systemutvikling” …...Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 6-2: 16.02.2016 Arne-Jørgen

Telecom and Informatics

Relevant Essence-related practicedescriptions

4

• Business Model Canvas design - Strategyzer

• Value Proposition Design - Strategyzer

• AT ONE Service Design Workshops – Symphonical SomeOne SPEED

• Service Journey designs – Smaply, ExperienceFellow

• Vocabulary, Terminology, Information, Ontology designs - MagicDraw

• User Story and Use Cases

• Business Process Modeling with BPMN 2.0

• UI Mockup/Concept designs – Balsamiq

• Scrum development practices

• IFML based developmnet – WebRatio

• Graphical Editor design – Sirius

• …..

See also http://inf5120.modelbased.net/

Page 5: INF5120 ”Modellbasert Systemutvikling” …...Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 6-2: 16.02.2016 Arne-Jørgen

Telecom and Informatics

Customer Journey & adapted BPMN

5

Page 6: INF5120 ”Modellbasert Systemutvikling” …...Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 6-2: 16.02.2016 Arne-Jørgen

Telecom and Informatics

OMG Modeling languages and Zachman Framework

6

UML

SoaML

BPMN

Page 7: INF5120 ”Modellbasert Systemutvikling” …...Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 6-2: 16.02.2016 Arne-Jørgen

Telecom and Informatics

ExperienceFellow

7

http://www.experiencefellow.com/

Page 8: INF5120 ”Modellbasert Systemutvikling” …...Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 6-2: 16.02.2016 Arne-Jørgen

Telecom and Informatics

ExperienceFellow - Android

8

Page 9: INF5120 ”Modellbasert Systemutvikling” …...Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 6-2: 16.02.2016 Arne-Jørgen

Telecom and Informatics

ExperienceFellow – iPhone/iPad

9

Page 10: INF5120 ”Modellbasert Systemutvikling” …...Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 6-2: 16.02.2016 Arne-Jørgen

Telecom and Informatics

Lean Startup – Build, Measure, Learn!

10

Page 11: INF5120 ”Modellbasert Systemutvikling” …...Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 6-2: 16.02.2016 Arne-Jørgen

Telecom and Informatics

BPMN(Business Process

Model and Notation)

See also:

INF5181 - Process improvement and agile methods in systems development

http://www.uio.no/studier/emner/matnat/ifi/INF5181/h14/timeplan/index.html#FOR

and

http://en.wikipedia.org/wiki/Business_Process_Model_and_Notation#Elements

Page 12: INF5120 ”Modellbasert Systemutvikling” …...Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 6-2: 16.02.2016 Arne-Jørgen

Telecom and Informatics

The need of process modeling

� Process improvement is created with better

understanding, communication, and organization

� Modeling is an important aspect of these

� Modeling translates verbal or tacit understanding into

simple metaphors that assist these objectives

� A metaphor is a way of reducing the dimensions of the

description of a process to a more understandable and

visible basis

� Metaphors bridge complex concepts and build an

understanding of the relationships between them

Page 13: INF5120 ”Modellbasert Systemutvikling” …...Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 6-2: 16.02.2016 Arne-Jørgen

Telecom and Informatics

Three manners of thinking -Process� Can be defined as an organization of activities that

happen in a series, relevant to a business’s goals and

objectives

� At a fundamental level, a process diagram represents a

single instance of a process

� For example, a purchase order process reflects an

instance of a single purchase order, not an organization

processing their work load of purchase orders

Page 14: INF5120 ”Modellbasert Systemutvikling” …...Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 6-2: 16.02.2016 Arne-Jørgen

Telecom and Informatics

Three manners of thinking -Event� From another perspective, a process is actually a

connected sequence of events that respond to states,

causes, and conditions

� In an event-based view, the process is a linkage of the

transitions from one processing state to another

Page 15: INF5120 ”Modellbasert Systemutvikling” …...Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 6-2: 16.02.2016 Arne-Jørgen

Telecom and Informatics

Three manners of thinking -Decision� From yet another viewpoint, all activities and responses to

events should be the result of a conscious decision by the organization.

� The decisions are an assemblage of business rules

� A process model is not merely a scenario;

� It is a scenario that exists within the context of the process, events, and decisions

� All these different perspectives are appropriately incorporated in a robust process model

Page 16: INF5120 ”Modellbasert Systemutvikling” …...Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 6-2: 16.02.2016 Arne-Jørgen

Telecom and Informatics

Business Process

� A business process is a sequence of activities that carry

out a business goal

� “A business process is an organized, coordinated flow of activities, conducted by participants, acting on and deciding with data, information, and knowledge, to achieve a business goal”

Page 17: INF5120 ”Modellbasert Systemutvikling” …...Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 6-2: 16.02.2016 Arne-Jørgen

Telecom and Informatics

Business rules

� A business rule is a mediator of information in computer systems for decision-making process participants, such as managers, employees, and salespeople

� More accurately, from the viewpoint of the business process:

� “a business rule is an atomic logic step that uses data and knowledge to evaluate part of a proposition about a process decision”

� The business rule “meets” the process through the decision – when you change the business rule, you change decision outcome

� Think of a set of business rules as conditions that match data and create conclusions

Page 18: INF5120 ”Modellbasert Systemutvikling” …...Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 6-2: 16.02.2016 Arne-Jørgen

Telecom and Informatics

Business Event

� In a modern process modeling approach, opportunities,

conditions, and factors that events must respond to are

handled or managed with business events

� “A business even is an event that is meaningful for conducting commercial, industrial, and governmental, or trade activities”

� In BPMN, we have start, intermediary, non-interrupting,

and end events

� Correspond directly to a process instance

Page 19: INF5120 ”Modellbasert Systemutvikling” …...Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 6-2: 16.02.2016 Arne-Jørgen

Telecom and Informatics

What is BPMN ?

Page 20: INF5120 ”Modellbasert Systemutvikling” …...Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 6-2: 16.02.2016 Arne-Jørgen

Telecom and Informatics

BPMN example

Page 21: INF5120 ”Modellbasert Systemutvikling” …...Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 6-2: 16.02.2016 Arne-Jørgen

Telecom and Informatics

BPMN 2.0 and SoaML tools today

� BPMN 2.0

� Signavio has 2.0 Conversation and Choreography diagrams – a SaaS solution

� Most BPMN 1.2 are doing stepwise migration, making existing parts 2.0 compliant

� SoaML (in most UML tools)

� Magic Draw (Cameo), Enterprise Architect, IBM RSA/RSM, Modelio, …

� We will use MagicDraw - Cameo Enterprise Architecture - version in the course in spring 2015

Page 22: INF5120 ”Modellbasert Systemutvikling” …...Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 6-2: 16.02.2016 Arne-Jørgen

Telecom and Informatics

Signavio is the commercial version of Oryx

Page 23: INF5120 ”Modellbasert Systemutvikling” …...Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 6-2: 16.02.2016 Arne-Jørgen

Telecom and Informatics

BPMN History

23

� BPMN 1.0 (BPMI) – Mai 2004

� BPMN1.x

� BPMN 1.1 (OMG) – Januar 2008

� BPMN 1.2 (OMG) – Januar 2009

� BPMN 2.0 final Juni 2010

� http://www.omg.org/spec/BPMN/2.0/

Page 24: INF5120 ”Modellbasert Systemutvikling” …...Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 6-2: 16.02.2016 Arne-Jørgen

Telecom and Informatics

History for BPMN

Page 25: INF5120 ”Modellbasert Systemutvikling” …...Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 6-2: 16.02.2016 Arne-Jørgen

Telecom and Informatics

BPMI.org Hourglass

Business Environment

Technology Implementation

BP

BPMN

BPEL

Focus � Scope �

Strategy Consultants

Process Designers

System Architects

Software Engineers

Business Analysts

Audiences: Purposes:

Execution

Modeling

Page 26: INF5120 ”Modellbasert Systemutvikling” …...Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 6-2: 16.02.2016 Arne-Jørgen

Telecom and Informatics

BPMN requirements

Page 27: INF5120 ”Modellbasert Systemutvikling” …...Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 6-2: 16.02.2016 Arne-Jørgen

Telecom and Informatics

BPMN Building blocks of the foundation

� Some of the concepts are part of the definitions of

business process

� “An event-activated flow of coordinated activities, conducted by participants, and acting on and deciding with data, information, and knowledge that achieve a goal”

� Participant, Activity, Flow, Process event, Data

Page 28: INF5120 ”Modellbasert Systemutvikling” …...Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 6-2: 16.02.2016 Arne-Jørgen

Telecom and Informatics

Participant

� A participant is an actor or a person that interacts in a

process

� The actor includes any human, digital, or virtual resource

that involved in a business process

Page 29: INF5120 ”Modellbasert Systemutvikling” …...Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 6-2: 16.02.2016 Arne-Jørgen

Telecom and Informatics

Participant examples

“People” participants:

� Inventory receipt clerk

inspecting the order

� Employee filling out a

request

� Patient in hospital

� Manager approving a

requisition

� Technician restoring a

disk drive

“System” Participants:

� SAP, PeopleSoft

� DB server

� Rules engines

� A Web service

� A custom-build UI

� A telephony queuing

switch

Page 30: INF5120 ”Modellbasert Systemutvikling” …...Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 6-2: 16.02.2016 Arne-Jørgen

Telecom and Informatics

Activity

� An “activity” is work the participant performs with business

process

� Is the basic units of process work, can be

� Atomic (lowest level, indivisible unit of work)

� Non-atomic (involving many steps)

� Process and subprocesses are compound activities

� In BPMN, the types of process activities include:

� Tasks – is the atomic activity

� Subprocesses – is compound activity, might contain other activities

Page 31: INF5120 ”Modellbasert Systemutvikling” …...Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 6-2: 16.02.2016 Arne-Jørgen

Telecom and Informatics

Activity examples

� An activity can be manual, as a human participant

completes the activity, or

� It might be automated by a system participant

� Examples:

� Inspecting material delivery

� Restoring a server

� Completing contract requisition

� Reviewing and approving a requisition

� Reviewing loan application

Page 32: INF5120 ”Modellbasert Systemutvikling” …...Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 6-2: 16.02.2016 Arne-Jørgen

Telecom and Informatics

Flow

� Is the order (and data) in which the activities or process

steps are performed

� Multiple flows might occur within multiple participants

roles

� Two types of flows in BPMN diagram

� Sequence – defines the order in which activities are

performed for any given process participants

� Sequence flow never occurs between participants in different pools

� Message – defines the flow of information and message

between participants within a process

� Messages never occur within the same pool

Page 33: INF5120 ”Modellbasert Systemutvikling” …...Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 6-2: 16.02.2016 Arne-Jørgen

Telecom and Informatics

Flow: transition

� Describes the hand-off between activities

� Transition means that one activity has stopped and

another has started

� Transition never occurs between multiple participants

� e.g,a work area with people and workstations for each

person’s activities (tasks)

� As each task is completed, the person transitions to the next task at another workstation

� Any communication is an interaction, not a transition

Page 34: INF5120 ”Modellbasert Systemutvikling” …...Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 6-2: 16.02.2016 Arne-Jørgen

Telecom and Informatics

Flow: interaction

� Is the communication between participants

� Interactions occur between two or more participants in the

form of message

� Interactions never occur from one participant back to itself

� Note: a flow from one participant back to itself is an activity

transition, not an interaction

Page 35: INF5120 ”Modellbasert Systemutvikling” …...Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 6-2: 16.02.2016 Arne-Jørgen

Telecom and Informatics

Process Event

� An event is something that happens

� A process event defines a point where the process is

either started, stopped, halted, or continued

� Events define occurring activities “of interest”

� Participant actions, choices, or activities define or create

events

� Examples:

� Contract order submitted

� DB unavailable

� Requisition rejected

Page 36: INF5120 ”Modellbasert Systemutvikling” …...Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 6-2: 16.02.2016 Arne-Jørgen

Telecom and Informatics

Data

� Data shapes in BPMN are artifacts, meaning, or an effect

of process events occurring

� Data is never a cause of process activity occurring. Events

trigger activity, resulting in data

� Data mostly originates from events, for example:

� An airplane is cleared for a final approach. This event is added to the flight log (data)

� The log data is a chorological series of event snapshots

Page 37: INF5120 ”Modellbasert Systemutvikling” …...Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 6-2: 16.02.2016 Arne-Jørgen

Telecom and Informatics

Core Set of Diagram Elements

�The core set of modeling

elements enable the easy

development simple Business

Process Diagrams that will

look familiar to most Business

Analysts (a flowchart diagram)

Page 38: INF5120 ”Modellbasert Systemutvikling” …...Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 6-2: 16.02.2016 Arne-Jørgen

Telecom and Informatics

Complete Set of Diagram Elements, Events

�An Event is something that

“happens” during the course of

a business process. These

Events affect the flow of the

Process and usually have a

trigger or a result. They can

start, interrupt, or end the flow.

Page 39: INF5120 ”Modellbasert Systemutvikling” …...Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 6-2: 16.02.2016 Arne-Jørgen

Telecom and Informatics

Complete Set of Diagram Elements, Activities, Cont.

�A Sub-Process can be in an

expanded form that shows the

process details of the a lower-

level set of activities.

Page 40: INF5120 ”Modellbasert Systemutvikling” …...Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 6-2: 16.02.2016 Arne-Jørgen

Telecom and Informatics

Complete Set of Diagram Elements, Gateways

�Gateways are modeling

elements that are used to

control how Sequence Flows

interact as they converge and

diverge within a Process. If the

flow does not need to be

controlled, then a Gateway is

not needed.

Page 41: INF5120 ”Modellbasert Systemutvikling” …...Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 6-2: 16.02.2016 Arne-Jørgen

Telecom and Informatics

BPMN Diagram elements

Page 42: INF5120 ”Modellbasert Systemutvikling” …...Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 6-2: 16.02.2016 Arne-Jørgen

Telecom and Informatics

Diagram elements (2)

Page 43: INF5120 ”Modellbasert Systemutvikling” …...Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 6-2: 16.02.2016 Arne-Jørgen

Telecom and Informatics

Activities

Page 44: INF5120 ”Modellbasert Systemutvikling” …...Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 6-2: 16.02.2016 Arne-Jørgen

Telecom and Informatics

Task

Page 45: INF5120 ”Modellbasert Systemutvikling” …...Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 6-2: 16.02.2016 Arne-Jørgen

Telecom and Informatics

Sub-processes

Page 46: INF5120 ”Modellbasert Systemutvikling” …...Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 6-2: 16.02.2016 Arne-Jørgen

Telecom and Informatics

Events

Page 47: INF5120 ”Modellbasert Systemutvikling” …...Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 6-2: 16.02.2016 Arne-Jørgen

Telecom and Informatics

Start Events

Page 48: INF5120 ”Modellbasert Systemutvikling” …...Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 6-2: 16.02.2016 Arne-Jørgen

Telecom and Informatics

Intermediate Events

Page 49: INF5120 ”Modellbasert Systemutvikling” …...Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 6-2: 16.02.2016 Arne-Jørgen

Telecom and Informatics

Intermediate events (normal flow)

Page 50: INF5120 ”Modellbasert Systemutvikling” …...Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 6-2: 16.02.2016 Arne-Jørgen

Telecom and Informatics

Intermediate events (linked to Boundary)

Page 51: INF5120 ”Modellbasert Systemutvikling” …...Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 6-2: 16.02.2016 Arne-Jørgen

Telecom and Informatics

End events

Page 52: INF5120 ”Modellbasert Systemutvikling” …...Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 6-2: 16.02.2016 Arne-Jørgen

Telecom and Informatics

Gateways

Page 53: INF5120 ”Modellbasert Systemutvikling” …...Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 6-2: 16.02.2016 Arne-Jørgen

Telecom and Informatics

Exclusive Gateways

Page 54: INF5120 ”Modellbasert Systemutvikling” …...Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 6-2: 16.02.2016 Arne-Jørgen

Telecom and Informatics

Exclusive Gateways, based on data

Page 55: INF5120 ”Modellbasert Systemutvikling” …...Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 6-2: 16.02.2016 Arne-Jørgen

Telecom and Informatics

Exclusive Gateways, based on events

Page 56: INF5120 ”Modellbasert Systemutvikling” …...Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 6-2: 16.02.2016 Arne-Jørgen

Telecom and Informatics

Inclusive Gateways

Page 57: INF5120 ”Modellbasert Systemutvikling” …...Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 6-2: 16.02.2016 Arne-Jørgen

Telecom and Informatics

Complex Gateways

Page 58: INF5120 ”Modellbasert Systemutvikling” …...Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 6-2: 16.02.2016 Arne-Jørgen

Telecom and Informatics

Complex Gateways

Page 59: INF5120 ”Modellbasert Systemutvikling” …...Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 6-2: 16.02.2016 Arne-Jørgen

Telecom and Informatics

Parallell Gateways

Page 60: INF5120 ”Modellbasert Systemutvikling” …...Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 6-2: 16.02.2016 Arne-Jørgen

Telecom and Informatics

Conectors

Page 61: INF5120 ”Modellbasert Systemutvikling” …...Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 6-2: 16.02.2016 Arne-Jørgen

Telecom and Informatics

Sequence flow

Page 62: INF5120 ”Modellbasert Systemutvikling” …...Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 6-2: 16.02.2016 Arne-Jørgen

Telecom and Informatics

Conditions in sequence flow

Page 63: INF5120 ”Modellbasert Systemutvikling” …...Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 6-2: 16.02.2016 Arne-Jørgen

Telecom and Informatics

Default sequence flow

Page 64: INF5120 ”Modellbasert Systemutvikling” …...Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 6-2: 16.02.2016 Arne-Jørgen

Telecom and Informatics

Message flow

Page 65: INF5120 ”Modellbasert Systemutvikling” …...Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 6-2: 16.02.2016 Arne-Jørgen

Telecom and Informatics

Associations

Page 66: INF5120 ”Modellbasert Systemutvikling” …...Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 6-2: 16.02.2016 Arne-Jørgen

Telecom and Informatics

Swim lanes

Page 67: INF5120 ”Modellbasert Systemutvikling” …...Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 6-2: 16.02.2016 Arne-Jørgen

Telecom and Informatics

Pool

Page 68: INF5120 ”Modellbasert Systemutvikling” …...Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 6-2: 16.02.2016 Arne-Jørgen

Telecom and Informatics

Lanes

Page 69: INF5120 ”Modellbasert Systemutvikling” …...Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 6-2: 16.02.2016 Arne-Jørgen

Telecom and Informatics

Artifacts

Page 70: INF5120 ”Modellbasert Systemutvikling” …...Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 6-2: 16.02.2016 Arne-Jørgen

Telecom and Informatics

Text annotations

Page 71: INF5120 ”Modellbasert Systemutvikling” …...Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 6-2: 16.02.2016 Arne-Jørgen

Telecom and Informatics

Data objects

Page 72: INF5120 ”Modellbasert Systemutvikling” …...Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 6-2: 16.02.2016 Arne-Jørgen

Telecom and Informatics

Groups

Page 73: INF5120 ”Modellbasert Systemutvikling” …...Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 6-2: 16.02.2016 Arne-Jørgen

Telecom and Informatics

Extended artifacts

Page 74: INF5120 ”Modellbasert Systemutvikling” …...Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 6-2: 16.02.2016 Arne-Jørgen

Telecom and Informatics

Normal flow

Page 75: INF5120 ”Modellbasert Systemutvikling” …...Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 6-2: 16.02.2016 Arne-Jørgen

Telecom and Informatics

Link events

Page 76: INF5120 ”Modellbasert Systemutvikling” …...Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 6-2: 16.02.2016 Arne-Jørgen

Telecom and Informatics

Process leves

Page 77: INF5120 ”Modellbasert Systemutvikling” …...Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 6-2: 16.02.2016 Arne-Jørgen

Telecom and Informatics

Data flow

Page 78: INF5120 ”Modellbasert Systemutvikling” …...Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 6-2: 16.02.2016 Arne-Jørgen

Telecom and Informatics

Exceptions

Page 79: INF5120 ”Modellbasert Systemutvikling” …...Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 6-2: 16.02.2016 Arne-Jørgen

Telecom and Informatics

Compenations and transacations

Page 80: INF5120 ”Modellbasert Systemutvikling” …...Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 6-2: 16.02.2016 Arne-Jørgen

Telecom and Informatics

Loops

Page 81: INF5120 ”Modellbasert Systemutvikling” …...Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 6-2: 16.02.2016 Arne-Jørgen

Telecom and Informatics

Timers

Page 82: INF5120 ”Modellbasert Systemutvikling” …...Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 6-2: 16.02.2016 Arne-Jørgen

Telecom and Informatics

Ad hoc processes

Page 83: INF5120 ”Modellbasert Systemutvikling” …...Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 6-2: 16.02.2016 Arne-Jørgen

Telecom and Informatics

EPC og BPMN

EPCEPC

BPMN

Page 84: INF5120 ”Modellbasert Systemutvikling” …...Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 6-2: 16.02.2016 Arne-Jørgen

Telecom and Informatics

Orchestration versus Choreography

Page 85: INF5120 ”Modellbasert Systemutvikling” …...Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 6-2: 16.02.2016 Arne-Jørgen

Telecom and Informatics

Orchestration

Page 86: INF5120 ”Modellbasert Systemutvikling” …...Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 6-2: 16.02.2016 Arne-Jørgen

Telecom and Informatics

Choreography

Page 87: INF5120 ”Modellbasert Systemutvikling” …...Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 6-2: 16.02.2016 Arne-Jørgen

Telecom and Informatics

Example

Page 88: INF5120 ”Modellbasert Systemutvikling” …...Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 6-2: 16.02.2016 Arne-Jørgen

Telecom and Informatics

Process information

Page 89: INF5120 ”Modellbasert Systemutvikling” …...Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 6-2: 16.02.2016 Arne-Jørgen

Telecom and Informatics

Proposal

Page 90: INF5120 ”Modellbasert Systemutvikling” …...Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 6-2: 16.02.2016 Arne-Jørgen

Telecom and Informatics

Sources

� The (beta) BPMN 2.0 specification -http://www.omg.org/spec/BPMN/2.0/

� Bruce Silver – http://www.bpmnstyle.com

� Rick Geneva – http://processmodeling.info

� Stephen White -https://apps.lotuslive.com/bpmblueworks/community/?p=902

� BPMN 0.9, 1.0, 1.1, 1.2, …..

Page 91: INF5120 ”Modellbasert Systemutvikling” …...Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 6-2: 16.02.2016 Arne-Jørgen

Telecom and Informatics

BPMN Examples …

Page 92: INF5120 ”Modellbasert Systemutvikling” …...Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 6-2: 16.02.2016 Arne-Jørgen

Telecom and Informatics

Page 93: INF5120 ”Modellbasert Systemutvikling” …...Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 6-2: 16.02.2016 Arne-Jørgen

Telecom and Informatics

Page 94: INF5120 ”Modellbasert Systemutvikling” …...Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 6-2: 16.02.2016 Arne-Jørgen

Telecom and Informatics

Page 95: INF5120 ”Modellbasert Systemutvikling” …...Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 6-2: 16.02.2016 Arne-Jørgen

Telecom and Informatics

Page 96: INF5120 ”Modellbasert Systemutvikling” …...Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 6-2: 16.02.2016 Arne-Jørgen

Telecom and Informatics

Page 97: INF5120 ”Modellbasert Systemutvikling” …...Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 6-2: 16.02.2016 Arne-Jørgen

Telecom and Informatics

Example – doctor’s office

� A text description of the choreography was presented as so:

� 1) Patient send a "I want to see doctor" message to the Receptionist

� 2) Receptionist send a "Are you available ?" message to a a list of Doctors

� 3) One doctor send a "I'm available" message to the Receptionist.

� 4) Receptionist send a "I'll book you" message to the Doctor.

� 5) Receptionist send a "Go see doctor" message to the Patient

� 6) Patient send a "I feel sick" message to Doctor

� 7) Doctor send a "Prepare this medicine" message to Receptionist

� 8) Doctor send a "Pickup your medicine and you can leave" message to Patient

� 9) Patient send a "I need my medicine" message to Receptionist

� 10) Receptionist send a "Here is your medicine" message to Patient

Page 98: INF5120 ”Modellbasert Systemutvikling” …...Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 6-2: 16.02.2016 Arne-Jørgen

Telecom and Informatics

Page 99: INF5120 ”Modellbasert Systemutvikling” …...Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 6-2: 16.02.2016 Arne-Jørgen

Telecom and Informatics

Page 100: INF5120 ”Modellbasert Systemutvikling” …...Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 6-2: 16.02.2016 Arne-Jørgen

Telecom and Informatics

Page 101: INF5120 ”Modellbasert Systemutvikling” …...Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 6-2: 16.02.2016 Arne-Jørgen

Telecom and Informatics

Page 102: INF5120 ”Modellbasert Systemutvikling” …...Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 6-2: 16.02.2016 Arne-Jørgen

Telecom and Informatics

Page 103: INF5120 ”Modellbasert Systemutvikling” …...Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 6-2: 16.02.2016 Arne-Jørgen

Telecom and Informatics

BPMN 2.0: Major changes from BPMN1.x

� Notational changes� New diagrams for Choreography and Conversation

� New event-types (escalation, …)

� Non-interrupting events

� Event sub-process

� Call Activity– replaces linked/reusable activity

� Technical changes� Formal metamodel – specified in UML

� Interchange formats for semantic model interchange (XMI, XSD)

� Interchange formats for diagram interchange (XMI, XSD)

� XSLT transformations between XMI and XSD formats

Page 104: INF5120 ”Modellbasert Systemutvikling” …...Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 6-2: 16.02.2016 Arne-Jørgen

Telecom and Informatics

Process diagram

� Flowchart view

to sequence

activities within

an organization

� Support the

modeling of

simple

processes

� Enhanced by

BPMN to handle

more complex

concepts, such

as exception

handling,

transactions, and

compensation.

Page 105: INF5120 ”Modellbasert Systemutvikling” …...Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 6-2: 16.02.2016 Arne-Jørgen

Telecom and Informatics

Collaboration diagram

� Provides a view

of the

interactions (flow

of messages)

between two or

more business

partners

(Participants).

� Collaborations

can be combined

with Processes

to show how the

interactions are

related to the

internal Process

activities.

Page 106: INF5120 ”Modellbasert Systemutvikling” …...Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 6-2: 16.02.2016 Arne-Jørgen

Telecom and Informatics

Collaboration diagram example

Page 107: INF5120 ”Modellbasert Systemutvikling” …...Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 6-2: 16.02.2016 Arne-Jørgen

Telecom and Informatics

Conversation diagram

� Allows a modeler to

group Collaboration

interactions between

two or more

Participants, which

together achieve a

common goal, e.g.

“negotiate delivery”

� The grouping can be

based on business

keys such as

customer id or

shipping id.

Page 108: INF5120 ”Modellbasert Systemutvikling” …...Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 6-2: 16.02.2016 Arne-Jørgen

Telecom and Informatics

Conversation diagram example � Allows a modeler

to group

Collaboration

interactions

between two or

more Participants,

which together

achieve a

common goal, e.g.

“negotiate

delivery”

� The grouping can

be based on

business keys

such as customer

id or shipping id.

Page 109: INF5120 ”Modellbasert Systemutvikling” …...Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 6-2: 16.02.2016 Arne-Jørgen

Telecom and Informatics

Corresponding choreography example

• Provides a flowchart view to

sequence interactions between

Participants

• Choreographies define a

“business contract” or protocol to

which the Participants agree to

follow during real-time

interactions.

Page 110: INF5120 ”Modellbasert Systemutvikling” …...Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 6-2: 16.02.2016 Arne-Jørgen

Telecom and Informatics

Choreography diagram

� Provides a

flowchart view to

sequence

interactions

between

Participants

� Choreographies

define a “business

contract” or

protocol to which

the Participants

agree to follow

during real-time

interactions.

Page 111: INF5120 ”Modellbasert Systemutvikling” …...Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 6-2: 16.02.2016 Arne-Jørgen

Telecom and Informatics

Activity types - visualised

Page 112: INF5120 ”Modellbasert Systemutvikling” …...Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 6-2: 16.02.2016 Arne-Jørgen

Telecom and Informatics

Multi-instance activites - visualised

Parallel Serial

Page 113: INF5120 ”Modellbasert Systemutvikling” …...Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 6-2: 16.02.2016 Arne-Jørgen

Telecom and Informatics

New Artifact Shapes

Data Artifact

Data Artifact Collection

Data Artifact Input

Data Artifact Output

Data Source Artifact

Page 114: INF5120 ”Modellbasert Systemutvikling” …...Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 6-2: 16.02.2016 Arne-Jørgen

Telecom and Informatics

New Event Gateways� Current event-based gateway

� Event Based Exclusive Intermediate

� Event Based Exclusive Start Gateway

� Event Based Inclusive Start

� Event Based Inclusive Intermediate

Page 115: INF5120 ”Modellbasert Systemutvikling” …...Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 6-2: 16.02.2016 Arne-Jørgen

Telecom and Informatics

Non-interrupting Intermediate Events� Boundary intermediate

events in BPMN 1.0-1.2 are

interrupting

� BPMN2.0 introduces new

non-interrupting intermediate

events

� Boundary events

� Catching

� Example of use

Page 116: INF5120 ”Modellbasert Systemutvikling” …...Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 6-2: 16.02.2016 Arne-Jørgen

Telecom and Informatics

Non-interrupting Event Sub-process (expanded)

Page 117: INF5120 ”Modellbasert Systemutvikling” …...Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 6-2: 16.02.2016 Arne-Jørgen

Telecom and Informatics

Non-interrupting Event Sub-process (collapsed)

Page 118: INF5120 ”Modellbasert Systemutvikling” …...Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 6-2: 16.02.2016 Arne-Jørgen

Telecom and Informatics

Interrupting Event Sub-process

Page 119: INF5120 ”Modellbasert Systemutvikling” …...Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 6-2: 16.02.2016 Arne-Jørgen

Telecom and Informatics

BPMN 2.0Event Gallery

Page 120: INF5120 ”Modellbasert Systemutvikling” …...Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 6-2: 16.02.2016 Arne-Jørgen

Telecom and Informatics

OMG Modeling languages and Zachman Framework

120

UML

SoaML

BPMN

Page 121: INF5120 ”Modellbasert Systemutvikling” …...Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 6-2: 16.02.2016 Arne-Jørgen

Telecom and Informatics 121

Purchase

Process2

OrderInfo :

OrderInfo

Proceed

Purchase2

Handle invoice2

Order Process2

confInfo

Delivery

Process2

invoiceInfo

Seller2 : ISellerCustomer2 : ICustomer

Activity model

Information model

Interaction model

UML Activity model (or BPMN)

UML component diagram

(enhanced in UML 2.0), SoaML

UML Class diagram

LTB HPL

ICustomer ISeller

IProdOwn

LHH

IWareHouse

TRA

ITransportServ

OrderLine

+ nrOfProd : Int

<<entity>>

Invoice

- date : Date

- amount : Currency

<<entity>>

SellerEntity

- name : String

<<entity>>

Product

+ prodNr : Int

+ descript ion : String

<<entity>>

Shipment

+ delivAddress : Address

<<entity>>

CustomerEnti ty

+ name : String

+ address : String

+ phonenr : String

<<entity>>

PurchaseOrder

- poNr : int

- date : Date

<<entity>>

Order

+ orderNr : Int

+ date : Date

<<entity>>

1..*1. .*

Information

modeling

Semantic

Models

Page 122: INF5120 ”Modellbasert Systemutvikling” …...Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 6-2: 16.02.2016 Arne-Jørgen

Telecom and Informatics

Parts of UML Metamodel

Class

Attribute

initialValue : Expression

DataType

Operation

SpecificationisPolymorphic : Booleanconcurrency : CallConcurrencyKind

GeneralizableElement

Feature

BehaviouralFeatureStructuralFeature

Association

Classifier

0..*

+features

0..*

AssociationEnd

2..n2..n

0..*0..*

0..* 1

0..*

1

0..*

0..*

Page 123: INF5120 ”Modellbasert Systemutvikling” …...Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 6-2: 16.02.2016 Arne-Jørgen

Telecom and Informatics

UML Information Modeling

� Ref also ISO 19103 Standard for Conceptual Modeling

� The following material is for reference …..

123

Page 124: INF5120 ”Modellbasert Systemutvikling” …...Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 6-2: 16.02.2016 Arne-Jørgen

Telecom and Informatics

Objects

Can represents

� One instance

� One type, interface

� One class

Ola :Person

Person

<<Interface>>

Person

Objekt modellering

Page 125: INF5120 ”Modellbasert Systemutvikling” …...Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 6-2: 16.02.2016 Arne-Jørgen

Telecom and Informatics

Object and classes - notation

Person

navn : stringpersonnr. : integeradresse : stringgasje : moneystillingstittel : string

endre-stilling()endre-adresse()

Example - object class

Objekt modellering

Page 126: INF5120 ”Modellbasert Systemutvikling” …...Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 6-2: 16.02.2016 Arne-Jørgen

Telecom and Informatics

Objektklasser -notasjon

Klassenavn

attributtnavn-1 : datatype-1 = defaultverdi-1

attributtnavn-2 : datatype-2 = defaultverdi-2

operasjonsnavn-1 (argumentliste-1) : resultattype-1

operasjonsnavn-2 (argumentliste-2) : resultattype-2

. . . .

. . . .

Objekt modellering

Page 127: INF5120 ”Modellbasert Systemutvikling” …...Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 6-2: 16.02.2016 Arne-Jørgen

Telecom and Informatics

GM_Primitive

+ boundary() : Set(GM_Primitive)

(from GeomPrimitive)GM_Complex

(from GeomComplex)

GM_Object

+ mbRegion : GM_Object

+ representativePoint : DirectPosition

+ SRS() : SpatialReferenceSystem

+ transform(SRS : SpatialReferenceSystem) : GM_Object

+ equals(object : GM_Object) : Boolean

+ distance(object : GM_Object) : Distance

+ dimension() : Integer

+ dimension(point : DirectPosition) : Integer

+ coordinateDimension() : Integer

+ envelope() : Envelop

+ boundary() : Set(GM_Object)

+ buffer(radius : Distance) : GM_Object

+ convexHull() : GM_Object

+ centroid() : DirectPosition

+ representativePoint() : GM_Point

+ isInComplexes() : Set(GM_Complex)

+ isPartOf(geomCplx : GM_Complex) : Boolean

+ universe() : GM_Complex

SpatialReferenceSystem(from DirectPositioningSchema)

1

+srs

1

Class diagram

Page 128: INF5120 ”Modellbasert Systemutvikling” …...Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 6-2: 16.02.2016 Arne-Jørgen

Telecom and Informatics

Class attributes

ClassName

/ /* derived attribute

+ /* public visibility

# /* protected visibility

- /* private visibility

underline /* class scope

Page 129: INF5120 ”Modellbasert Systemutvikling” …...Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 6-2: 16.02.2016 Arne-Jørgen

Telecom and Informatics

[visibility] name [multiplicity] [:type] [= initial value] [{property-string}]

+ origin [0..1] : Point = (0,0) {frozen}

defined properties: changeable, addOnly, frozen (const)

Class attributes

Page 130: INF5120 ”Modellbasert Systemutvikling” …...Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 6-2: 16.02.2016 Arne-Jørgen

Telecom and Informatics

Attributes and data types

� A data type specifies a legal value domain and

the operations on values of that domain

� Four categories

� a) Basic data types (integer, real, string, …)

� b) Collection data types (from OCL)

� c) Enumerated data types (user-definable finite sets)

� d) Model types

Page 131: INF5120 ”Modellbasert Systemutvikling” …...Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 6-2: 16.02.2016 Arne-Jørgen

Telecom and Informatics

Operations

An operation is a specification of

• a transformation, or

• a query

A method is a procedure that implements an operation.

Page 132: INF5120 ”Modellbasert Systemutvikling” …...Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 6-2: 16.02.2016 Arne-Jørgen

Telecom and Informatics

Operations

[visibility] name [(parameter-list)] [:return-type] [{property-string}]

[(parameter-list element)] ::=

[direction] name : type [= default-value]

[direction] ::= in | out | inout

+ set ( in name : Name, in place : String = ‘Oslo’)

: Boolean {concurrency=sequential}

defined properties: isQuery, concurrency, ...

Page 133: INF5120 ”Modellbasert Systemutvikling” …...Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 6-2: 16.02.2016 Arne-Jørgen

Telecom and Informatics

Optional/Conditional

� In UML all attributes and operations are per

default mandatory.

� Optional data values for attributes can be

shown through multiplicity [0..1].

� Conditional should relate to a note with

constraint expressed in text/OCL (ISO

19103)

Page 134: INF5120 ”Modellbasert Systemutvikling” …...Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 6-2: 16.02.2016 Arne-Jørgen

Telecom and Informatics

Relationships

Association (the “glue”)A semantic relationship between elements(involves connections among their instances)

Generalization (inheritance)A relationship between an element and the sub-elements that may be substituted for it

DependencyThe use of one element by another

Refinement/realisation

A shift in levels of abstraction

Page 135: INF5120 ”Modellbasert Systemutvikling” …...Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 6-2: 16.02.2016 Arne-Jørgen

Telecom and Informatics

Purpose: To show relationships between model entities

To define multi-way constraints

AssociationName

RoleNameRoleName

1..*2

Multiplicity of

an Association

Dependency (Client-Server) Composition (Strong Aggregation)

Generalization Aggregation

Link AttributeAssociation Notation

used to “anchor” at note

to a model entity

Different relationships in UML Diagrams

Page 136: INF5120 ”Modellbasert Systemutvikling” …...Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 6-2: 16.02.2016 Arne-Jørgen

Telecom and Informatics

Generalisation and Association

Woman

Married with

0..1 0..1

Person Bookloans

Loan

customer

Loan-

entity

0..1 0..*

Man

{not siblings}

Generalisation

Superclass

Subclasses (inherits attributes and operations)

wifehusband

Arrow can be used toshow direction ofknowledge

Association

Page 137: INF5120 ”Modellbasert Systemutvikling” …...Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 6-2: 16.02.2016 Arne-Jørgen

Telecom and Informatics

Multippel arving - eksempel

Ansatt

Selger Sjef

DirektørSalgssjef

{overlapping}

Objekt modellering

Page 138: INF5120 ”Modellbasert Systemutvikling” …...Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 6-2: 16.02.2016 Arne-Jørgen

Telecom and Informatics

Multiplicity constraints

Multiplicity shows how many instances of a class that can

be related to one instance of the class at the other end of

the association

Class

Class

Class

Class

Class

0..*

1

0..1

Class*

1..*

3,5,10

Page 139: INF5120 ”Modellbasert Systemutvikling” …...Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 6-2: 16.02.2016 Arne-Jørgen

Telecom and Informatics

Aggregation

Loose (weak) part-of relationship

Phone

bookSubscription

0..* *

Open diamond

Multiplicity > 1 possible

Exists even if a phone bookgoes away

listedIn subscriptions

association

role names

Page 140: INF5120 ”Modellbasert Systemutvikling” …...Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 6-2: 16.02.2016 Arne-Jørgen

Telecom and Informatics

Composition (“strong aggregation”)

Strong part-of relationship

File Recordcontains1 *

Filled diamond

Multiplicity max 1 Existence dependent

Page 141: INF5120 ”Modellbasert Systemutvikling” …...Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 6-2: 16.02.2016 Arne-Jørgen

Telecom and Informatics

Associations

Fig. 3-31, UML Notation Guide

Person

Manages

JobCompany

boss

worker

employeeemployer

1..∗

0..1

Job

Account

Person

Corporation

{Xor}

salary

Page 142: INF5120 ”Modellbasert Systemutvikling” …...Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 6-2: 16.02.2016 Arne-Jørgen

Telecom and Informatics

Association Ends

Fig. 3-32, UML Notation Guide

Polygon PointContains

{ordered}

3..∗1

GraphicsBundle

colortexturedensity

1

1

-bundle

+points

Page 143: INF5120 ”Modellbasert Systemutvikling” …...Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 6-2: 16.02.2016 Arne-Jørgen

Telecom and Informatics

Association class

Are used instead of link-attributes if

�The association are related to other objects

�Operations are attached to the association

Person BookLoans

Loan dateDelivery data

Loan

CheckDate()Expired loans

1 1..*

*

Page 144: INF5120 ”Modellbasert Systemutvikling” …...Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 6-2: 16.02.2016 Arne-Jørgen

Telecom and Informatics

Constraints on relationships

Portfolio

BankAccount

{secure}

Persont

Corporation

{or}

Department

Person

member manager

{subset}

* *

1..* 1

Page 145: INF5120 ”Modellbasert Systemutvikling” …...Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 6-2: 16.02.2016 Arne-Jørgen

Telecom and Informatics

Geometry Package

(from Logical View)+ Accuracy+ TopologicalGeometry+ RepresentationalGeometry+ TemporalGeometry+ Geometry+ Vector{dimension}+ SpatialVector

Packages in UML

� This is a grouping of model

elements and diagrams.

� Package dependencies usually

summarize dependencies among

the contents of the packages.

� Packages can contain other

Packages.

� Packages can show the

Class/Entities found in a given

Package.

Page 146: INF5120 ”Modellbasert Systemutvikling” …...Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 6-2: 16.02.2016 Arne-Jørgen

Telecom and Informatics

Containment and dependency

Foundation

Model

Management

Behavioral

Elements

CoreExtension

Mechanisms

Data

Types

Page 147: INF5120 ”Modellbasert Systemutvikling” …...Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 6-2: 16.02.2016 Arne-Jørgen

Telecom and Informatics

Comments and constraints

<<requirement>>

Shall conform to ….

Notes:

Common Mechanisms

� Adornments: notes

� Extensibility mechanisms: stereotypes,

tagged values, constraints

Page 148: INF5120 ”Modellbasert Systemutvikling” …...Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 6-2: 16.02.2016 Arne-Jørgen

Telecom and Informatics

Stereotypes

� Used to define derivative modeling concepts

based on existing generic modeling

concepts

� Defined by:

� base (meta-)class = UML meta-class or stereotype

� constraints

� required tags (0..*)

� often used for modeling pseudo-attributes

� icon

� A model element can have at most one

stereotype

Page 149: INF5120 ”Modellbasert Systemutvikling” …...Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 6-2: 16.02.2016 Arne-Jørgen

Telecom and Informatics

Tagged values - properties

Name (tag) separator (=) value (of the tag)

properties on an element - relevant for code generation or configuration management (Can be applied to all UML elements)

Server{processors = 3}

Billing

{version=3.2status=checkedOutby=ajb}

Page 150: INF5120 ”Modellbasert Systemutvikling” …...Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 6-2: 16.02.2016 Arne-Jørgen

Telecom and Informatics

OCL - Object Constraint Language

First order predicate logic, for Boolean expressions - included in UML 1.1

Can be used for:invariants, value restrictions, pre- and postconditions

Person

self.age > 0

Married people are of age >= 18

self.wife->notEmpty implies self.wife.age >= 18 and

self.husband->notEmpty implies self.husband.age >= 18 and

Expressions with:

and, or, not, implies, exists, for all,

Collections (select, reject, collect, iterate)

Page 151: INF5120 ”Modellbasert Systemutvikling” …...Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 6-2: 16.02.2016 Arne-Jørgen

Telecom and Informatics

Implementation neutral! Not implementation specific!

ISO 19103 – Conceptual modeling with UML

� Basic data types

� Stereotypes

� Naming

� Documentation of models

� Information modelling guidelines

Page 152: INF5120 ”Modellbasert Systemutvikling” …...Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 6-2: 16.02.2016 Arne-Jørgen

Telecom and Informatics

Basic Types

� Primitive

� Decimal, Integer, Number, Real, Vector, Character, CharacterString, Date, Time DateTime, Binary

� Sign, Boolean, Logical, Probability

� Collections

� Set<T>, Bag<T>, Sequence<T>, Dictionary<K,T>

� Measures

� Angle, Area, Distance, length, Scale, MTime, Velocity, Volume, UnitOfMeasure

� Records, Namespace

Page 153: INF5120 ”Modellbasert Systemutvikling” …...Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 6-2: 16.02.2016 Arne-Jørgen

Telecom and Informatics

Number

Number

<<BasicType>>

Integer

<<BasicType>>

Real

<<BasicType>>

Page 154: INF5120 ”Modellbasert Systemutvikling” …...Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 6-2: 16.02.2016 Arne-Jørgen

Telecom and Informatics

Sign

+ positive

+ negative

<<Enumeration>>

MD_Restrictions1

+ copyright = 1

+ patent = 2

+ patentPending = 3

+ trademark = 4

+ licence = 5

+ intellectualPropertyRights = 6

+ restricted = 7

+ otherRestrictions = 8

<<CodeList>>

1 copyr ight2 patent3 patentPending4 trademar k5 licence6 intel lectualPropertyRights7 res tricted 8 otherRestr ict ions

MD_Restrictions2

<<CodeList>>

DirectPosition

+ coordinate : Sequence<Num ber>

/+ dim ension : Int eger

<<DataType>>

GM_Posit ion

+ di rect : DirectPosition

+ indirect : G M_Point Ref

<<Union>>

User defined data types

� <<DataType>>

� <<Enumeration>>

� <<CodeList>>

� <<Union>>

Page 155: INF5120 ”Modellbasert Systemutvikling” …...Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 6-2: 16.02.2016 Arne-Jørgen

Telecom and Informatics

Class Stereotypes

� NONE

� <<Interface>>

� <<Type>>

� <<Abstract>>

� <<MetaClass>>

GM_GenericCurve

+ startPoint() : DirectPosition

+ endPoint() : DirectPosition

+ param(s : Distance) : DirectPosition

+ tangent(s : Distance) : Vector

+ ...()

<<Interface>>

GM_LineString

+ controlPoint : GM_PointArray

+ GM_LineString(points[2..*] : GM_Position) : GM_LineString

+ asGM_LineSegment() : Sequence<GM_LineSegment>

GM_Curve

<<Type>>

GM_CurveSegment

+ interpoilation : GM_CurveInterpolation = "linear"

+ numDerivatesAtStart[0,1] : Integer = 0

+ numDerivatesAtEnd[0,1] : Integer = 0

+ numDerivateInterior[0,1] : Integer = 0

+ samplePoint() : GM_PointArray

+ boundary() : GM_CurveBoundary

+ reverse() : GM_CurveSegment

<<Abstract>>

0..1 1..*

+curve

0..1

+segment

1..*Segmentation

Page 156: INF5120 ”Modellbasert Systemutvikling” …...Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 6-2: 16.02.2016 Arne-Jørgen

Telecom and Informatics

GM_CurveSegmentMD_CitationGM_FeatureAttribute

Class (package, association) names

� All classes must have unique names.

� Names shall start with upper case letter.

� Should not have a name that is based on its

external usage, since this may limit reuse.

� Should not contain spaces

� Separate words in a class should be concatenated, e.g. “XnnnYmmmm”

� Class names should start with bialpha prefixes for

each standard part.

Page 157: INF5120 ”Modellbasert Systemutvikling” …...Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 6-2: 16.02.2016 Arne-Jørgen

Telecom and Informatics

computePartialDerivatescompute Partial Derivatescompute_partial_derivatives

Attribute, operation and role names

� Shall start with lower case letter

� Concatenate words shall begin with capital letter

� Do not repeat class names in attribute names

� Keep names technical, meaningful and short, if possible

Page 158: INF5120 ”Modellbasert Systemutvikling” …...Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 6-2: 16.02.2016 Arne-Jørgen

Telecom and Informatics

GM_Curve

<<Type>>

GM_CurveSegment

<<Abstract>>

1..*0..1

+segment

1..*

+curve

0..1

Segmentation

Associations

� Multiplicity shall be defined for both associations ends

� All associations ends (roles) representing the direction

of a relationship must be named or else the association

itself must be named

� The role name must be unique within the context of a

class and its supertypes.

� The direction of an association must be specified

Page 159: INF5120 ”Modellbasert Systemutvikling” …...Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 6-2: 16.02.2016 Arne-Jørgen

Telecom and Informatics

NB! Font size > 8pt

GM _Curve

<<T ype>>

Documentation of models

� Diagrams

� Package dependency diagrams

� Class diagrams

� Class context diagrams

� Text

� Class

� General description, semantics,

supertypes/subtypes

� Attributes, Associations

� Operations

� preconditions, input/output parameters, return value,

post conditions, exceptions, constraints

� Constraints