inf5120 modelbased system development · obligs - smart x toolbox –for rapid iot system building...

122
Telecom and Informatics 1 INF5120 Modelbased System developmentLecture 4: 05.02.2018 Arne-Jørgen Berre [email protected] and [email protected]

Upload: others

Post on 20-May-2020

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: INF5120 Modelbased System development · Obligs - Smart X Toolbox –for Rapid IoT system building - with Node-RED, Raspberry Pi, IBM Cloud/Bluemix/Watson IoT, NoSQL, …. ThingML

Telecom and Informatics 1

INF5120

”Modelbased System development”

Lecture 4: 05.02.2018Arne-Jørgen Berre

[email protected] and [email protected]

Page 2: INF5120 Modelbased System development · Obligs - Smart X Toolbox –for Rapid IoT system building - with Node-RED, Raspberry Pi, IBM Cloud/Bluemix/Watson IoT, NoSQL, …. ThingML

Course parts (16 lectures) - 2018

2

Part I-a -(Introduction to Modeling): 15/1 - Start 1-15/1: Introduction to INF5120

Part I-b -(Introduction to Business Architecture and Business Modeling 2-22/1: Modeling structure and behaviour (UML and UML 2.0 and metamodeling) 3-29/1: Business Modeling – BMC, LSC, VDML/VDMBee, (w/meta model) - (Business Model Canvas, Value Proposition, Lean

Canvas

Part II - (Modeling – Server side – Node-RED + THingML + Sensors/IoT/Cloud - and the Smart X project): ) 4-5/2: BPMN process - UML Activ.Diagram + Flow modelling Node-RED - establish Oblig groups (3-4 persons) 5-12/2: Node-RED/IBM Bluemix/Cloud– getting started 6-19/2: Node-RED + Sensors (for Oblig 2) 26/2 - Oblig 1: Smart X– Business Architecture – Groups - Individual- 10% 7-26/2: Node-RED + ThingML, ThingML language development, Database modelling (NoSQL) 8-5/3: ThingML + server side +Service Modeling + Process Modeling ArchiMate 12/3 - Oblig 2: Smart X – Node-RED server side – 10%

Part IIi - (Modeling – UI – Client side – Apps + EA/ArchiMate) 9-12/3: UI Start lecture – incl. CJML and ArchiMate (for Oblig 3) 10- 19/3: UI App development with IBM Cloud – refer IFML/WebRatio EASTER – 26/3 and 2/4 11- 9/4 UI – Server – EA with ArchiMate - discussion/presentation 16/4 - Oblig 3: Smart Building – UI – Client side– 10%

Part IV - (MDE – Creating Your own Domain Specific Language – Eclipse, Xtext/SIRIUS): 12-16/4: MDE with Xtext and SIRIUS 13-23/4: MDE transformations, Non Functional requirements 14-30/5 Guest lecture 15-7/5 Guest lecture 14/5 - Oblig 4 - Your own Domain Specific Language – (DSL-x) - 10% 16-14/5: Summary of the course

Mandag 21/5 – PINSE 17-28/5: Conclusions, Previous exams – group collaborations Preparations for the Exam by old exams (+ 4/6, + 11/6)

15/6: Exam (4 hours), Friday June 15th, 1430-1830 - ) - 60%

Page 3: INF5120 Modelbased System development · Obligs - Smart X Toolbox –for Rapid IoT system building - with Node-RED, Raspberry Pi, IBM Cloud/Bluemix/Watson IoT, NoSQL, …. ThingML

Telecom and Informatics

VDMBee tool support (Introduced to

the course in 2017)

3

https://vdmbee.com

(Download and use Chrome Web app) – Full Enterprise version

will be distributed

https://vdmbee.com/home-new/examples/

Page 4: INF5120 Modelbased System development · Obligs - Smart X Toolbox –for Rapid IoT system building - with Node-RED, Raspberry Pi, IBM Cloud/Bluemix/Watson IoT, NoSQL, …. ThingML

Telecom and Informatics 4

Obligs - Smart X Toolbox – for Rapid IoT system building- with Node-RED, Raspberry Pi, IBM Cloud/Bluemix/Watson IoT, NoSQL, ….

ThingML

IoT Hub,

- Analytics

- Visualisation

- Apps

Oblig 1: Business Architecture Models with BMC/LSC/VDML

Oblig 2: Server side Models, with Node-RED, UML, ThingML

Oblig 3: Client side Models, with UI access/Apps

Oblig 4: Domain Specific Language (DSL)

Sensors

and

Actuators

Page 5: INF5120 Modelbased System development · Obligs - Smart X Toolbox –for Rapid IoT system building - with Node-RED, Raspberry Pi, IBM Cloud/Bluemix/Watson IoT, NoSQL, …. ThingML

Telecom and Informatics

Course components

5

Model Driven

Engineering –

New DSL -3

Software Architecture with

Analytics and Visualisation

client -1

Software/System Architecture

Engineering for Technology

Platforms (Node-RED,

ThingML Server -2

"Smart X "

3+1 OBLIGS

Enterprise Architecture

Business Architecture

(BMC,LSC,VDML)BPMN

Page 6: INF5120 Modelbased System development · Obligs - Smart X Toolbox –for Rapid IoT system building - with Node-RED, Raspberry Pi, IBM Cloud/Bluemix/Watson IoT, NoSQL, …. ThingML

Telecom and Informatics

Modeling languages and Zachman

Framework

6

Data

(What)

Function

(How)

Network

(Where)

People

(Who)

Time

(When)

Motivation

(Why)

Scope

(Contexts)

Business

(Concepts)

System

(Logic)

Technology

(Physics)

Component

(Assemblies)

List of things

important

to business

List of processes

that the business

performs

List of locations

which the business

operates

List of organizations

important to the

business

List of events/cycles

important to the

business

List of business

goals/strategies

Semantic Model

Business

Process

Model

Business

Logistics

System

Workflow

Model

Master

Schedule

Business

Plan

Logical Data ModelApplication

Architecture

Distributed

System

Architecture

Human

Interface

Architecture

Process

Structure

Business Rule

Model

Physical Data Model System DesignTechnology

Architecture

Presentation

Architecture

Control

Structure

Rule

Design

Data Definition ProgramNetwork

Architecture

Security

Architecture

Timing

Definition

Rule

Definition

Operation

(Instances)Data Function Network Organization Schedule Strategy

BMM

SBVR

VDM OSMSBVR

DTFV

BPMN

UMLIMM

(CWM)

CMPM

SoaML

ODM

UML

SoaML

BPMN

IFML

User interaction

ServiceProcess

Data

Behaviour

ThingML

CloudML

Node-RED

State

ArchiMate/TOGAF

Program

Workflow

ArchiMate

CJML

Page 7: INF5120 Modelbased System development · Obligs - Smart X Toolbox –for Rapid IoT system building - with Node-RED, Raspberry Pi, IBM Cloud/Bluemix/Watson IoT, NoSQL, …. ThingML

Telecom and Informatics

Node-RED System Flow example

7

Page 8: INF5120 Modelbased System development · Obligs - Smart X Toolbox –for Rapid IoT system building - with Node-RED, Raspberry Pi, IBM Cloud/Bluemix/Watson IoT, NoSQL, …. ThingML

Telecom and Informatics

UML Activity Diagram

8

Page 9: INF5120 Modelbased System development · Obligs - Smart X Toolbox –for Rapid IoT system building - with Node-RED, Raspberry Pi, IBM Cloud/Bluemix/Watson IoT, NoSQL, …. ThingML

Telecom and Informatics

UML Activity Diagram with swim lanes

9

Page 10: INF5120 Modelbased System development · Obligs - Smart X Toolbox –for Rapid IoT system building - with Node-RED, Raspberry Pi, IBM Cloud/Bluemix/Watson IoT, NoSQL, …. ThingML

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/index-eng.html

and

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

Page 11: INF5120 Modelbased System development · Obligs - Smart X Toolbox –for Rapid IoT system building - with Node-RED, Raspberry Pi, IBM Cloud/Bluemix/Watson IoT, NoSQL, …. ThingML

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 12: INF5120 Modelbased System development · Obligs - Smart X Toolbox –for Rapid IoT system building - with Node-RED, Raspberry Pi, IBM Cloud/Bluemix/Watson IoT, NoSQL, …. ThingML

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 13: INF5120 Modelbased System development · Obligs - Smart X Toolbox –for Rapid IoT system building - with Node-RED, Raspberry Pi, IBM Cloud/Bluemix/Watson IoT, NoSQL, …. ThingML

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 14: INF5120 Modelbased System development · Obligs - Smart X Toolbox –for Rapid IoT system building - with Node-RED, Raspberry Pi, IBM Cloud/Bluemix/Watson IoT, NoSQL, …. ThingML

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 15: INF5120 Modelbased System development · Obligs - Smart X Toolbox –for Rapid IoT system building - with Node-RED, Raspberry Pi, IBM Cloud/Bluemix/Watson IoT, NoSQL, …. ThingML

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 16: INF5120 Modelbased System development · Obligs - Smart X Toolbox –for Rapid IoT system building - with Node-RED, Raspberry Pi, IBM Cloud/Bluemix/Watson IoT, NoSQL, …. ThingML

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 17: INF5120 Modelbased System development · Obligs - Smart X Toolbox –for Rapid IoT system building - with Node-RED, Raspberry Pi, IBM Cloud/Bluemix/Watson IoT, NoSQL, …. ThingML

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 18: INF5120 Modelbased System development · Obligs - Smart X Toolbox –for Rapid IoT system building - with Node-RED, Raspberry Pi, IBM Cloud/Bluemix/Watson IoT, NoSQL, …. ThingML

Telecom and Informatics

What is BPMN ?

Page 19: INF5120 Modelbased System development · Obligs - Smart X Toolbox –for Rapid IoT system building - with Node-RED, Raspberry Pi, IBM Cloud/Bluemix/Watson IoT, NoSQL, …. ThingML

Telecom and Informatics

BPMN example

Page 20: INF5120 Modelbased System development · Obligs - Smart X Toolbox –for Rapid IoT system building - with Node-RED, Raspberry Pi, IBM Cloud/Bluemix/Watson IoT, NoSQL, …. ThingML

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 21: INF5120 Modelbased System development · Obligs - Smart X Toolbox –for Rapid IoT system building - with Node-RED, Raspberry Pi, IBM Cloud/Bluemix/Watson IoT, NoSQL, …. ThingML

Telecom and Informatics 21

Page 22: INF5120 Modelbased System development · Obligs - Smart X Toolbox –for Rapid IoT system building - with Node-RED, Raspberry Pi, IBM Cloud/Bluemix/Watson IoT, NoSQL, …. ThingML

Telecom and Informatics 22

Example of a

Tool that

Executes

BPMN models

Page 23: INF5120 Modelbased System development · Obligs - Smart X Toolbox –for Rapid IoT system building - with Node-RED, Raspberry Pi, IBM Cloud/Bluemix/Watson IoT, NoSQL, …. ThingML

Telecom and Informatics 23

https://www.webratio.com/learn/learningobject/vacation-request-bpm-tutorial-v-80

Page 24: INF5120 Modelbased System development · Obligs - Smart X Toolbox –for Rapid IoT system building - with Node-RED, Raspberry Pi, IBM Cloud/Bluemix/Watson IoT, NoSQL, …. ThingML

Telecom and Informatics 24

Page 25: INF5120 Modelbased System development · Obligs - Smart X Toolbox –for Rapid IoT system building - with Node-RED, Raspberry Pi, IBM Cloud/Bluemix/Watson IoT, NoSQL, …. ThingML

Telecom and Informatics 25

Page 26: INF5120 Modelbased System development · Obligs - Smart X Toolbox –for Rapid IoT system building - with Node-RED, Raspberry Pi, IBM Cloud/Bluemix/Watson IoT, NoSQL, …. ThingML

Telecom and Informatics 26

Page 27: INF5120 Modelbased System development · Obligs - Smart X Toolbox –for Rapid IoT system building - with Node-RED, Raspberry Pi, IBM Cloud/Bluemix/Watson IoT, NoSQL, …. ThingML

Telecom and Informatics

BPMN History

27

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 28: INF5120 Modelbased System development · Obligs - Smart X Toolbox –for Rapid IoT system building - with Node-RED, Raspberry Pi, IBM Cloud/Bluemix/Watson IoT, NoSQL, …. ThingML

Telecom and Informatics

History for BPMN

Page 29: INF5120 Modelbased System development · Obligs - Smart X Toolbox –for Rapid IoT system building - with Node-RED, Raspberry Pi, IBM Cloud/Bluemix/Watson IoT, NoSQL, …. ThingML

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 30: INF5120 Modelbased System development · Obligs - Smart X Toolbox –for Rapid IoT system building - with Node-RED, Raspberry Pi, IBM Cloud/Bluemix/Watson IoT, NoSQL, …. ThingML

Telecom and Informatics

BPMN requirements

Page 31: INF5120 Modelbased System development · Obligs - Smart X Toolbox –for Rapid IoT system building - with Node-RED, Raspberry Pi, IBM Cloud/Bluemix/Watson IoT, NoSQL, …. ThingML

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 32: INF5120 Modelbased System development · Obligs - Smart X Toolbox –for Rapid IoT system building - with Node-RED, Raspberry Pi, IBM Cloud/Bluemix/Watson IoT, NoSQL, …. ThingML

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 33: INF5120 Modelbased System development · Obligs - Smart X Toolbox –for Rapid IoT system building - with Node-RED, Raspberry Pi, IBM Cloud/Bluemix/Watson IoT, NoSQL, …. ThingML

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 34: INF5120 Modelbased System development · Obligs - Smart X Toolbox –for Rapid IoT system building - with Node-RED, Raspberry Pi, IBM Cloud/Bluemix/Watson IoT, NoSQL, …. ThingML

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 35: INF5120 Modelbased System development · Obligs - Smart X Toolbox –for Rapid IoT system building - with Node-RED, Raspberry Pi, IBM Cloud/Bluemix/Watson IoT, NoSQL, …. ThingML

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 36: INF5120 Modelbased System development · Obligs - Smart X Toolbox –for Rapid IoT system building - with Node-RED, Raspberry Pi, IBM Cloud/Bluemix/Watson IoT, NoSQL, …. ThingML

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 37: INF5120 Modelbased System development · Obligs - Smart X Toolbox –for Rapid IoT system building - with Node-RED, Raspberry Pi, IBM Cloud/Bluemix/Watson IoT, NoSQL, …. ThingML

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 38: INF5120 Modelbased System development · Obligs - Smart X Toolbox –for Rapid IoT system building - with Node-RED, Raspberry Pi, IBM Cloud/Bluemix/Watson IoT, NoSQL, …. ThingML

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 39: INF5120 Modelbased System development · Obligs - Smart X Toolbox –for Rapid IoT system building - with Node-RED, Raspberry Pi, IBM Cloud/Bluemix/Watson IoT, NoSQL, …. ThingML

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 40: INF5120 Modelbased System development · Obligs - Smart X Toolbox –for Rapid IoT system building - with Node-RED, Raspberry Pi, IBM Cloud/Bluemix/Watson IoT, NoSQL, …. ThingML

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 41: INF5120 Modelbased System development · Obligs - Smart X Toolbox –for Rapid IoT system building - with Node-RED, Raspberry Pi, IBM Cloud/Bluemix/Watson IoT, NoSQL, …. ThingML

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 42: INF5120 Modelbased System development · Obligs - Smart X Toolbox –for Rapid IoT system building - with Node-RED, Raspberry Pi, IBM Cloud/Bluemix/Watson IoT, NoSQL, …. ThingML

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 43: INF5120 Modelbased System development · Obligs - Smart X Toolbox –for Rapid IoT system building - with Node-RED, Raspberry Pi, IBM Cloud/Bluemix/Watson IoT, NoSQL, …. ThingML

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 44: INF5120 Modelbased System development · Obligs - Smart X Toolbox –for Rapid IoT system building - with Node-RED, Raspberry Pi, IBM Cloud/Bluemix/Watson IoT, NoSQL, …. ThingML

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 45: INF5120 Modelbased System development · Obligs - Smart X Toolbox –for Rapid IoT system building - with Node-RED, Raspberry Pi, IBM Cloud/Bluemix/Watson IoT, NoSQL, …. ThingML

Telecom and Informatics

BPMN Diagram elements

Page 46: INF5120 Modelbased System development · Obligs - Smart X Toolbox –for Rapid IoT system building - with Node-RED, Raspberry Pi, IBM Cloud/Bluemix/Watson IoT, NoSQL, …. ThingML

Telecom and Informatics

Diagram elements (2)

Page 47: INF5120 Modelbased System development · Obligs - Smart X Toolbox –for Rapid IoT system building - with Node-RED, Raspberry Pi, IBM Cloud/Bluemix/Watson IoT, NoSQL, …. ThingML

Telecom and Informatics

Activities

Page 48: INF5120 Modelbased System development · Obligs - Smart X Toolbox –for Rapid IoT system building - with Node-RED, Raspberry Pi, IBM Cloud/Bluemix/Watson IoT, NoSQL, …. ThingML

Telecom and Informatics

Task

Page 49: INF5120 Modelbased System development · Obligs - Smart X Toolbox –for Rapid IoT system building - with Node-RED, Raspberry Pi, IBM Cloud/Bluemix/Watson IoT, NoSQL, …. ThingML

Telecom and Informatics

Sub-processes

Page 50: INF5120 Modelbased System development · Obligs - Smart X Toolbox –for Rapid IoT system building - with Node-RED, Raspberry Pi, IBM Cloud/Bluemix/Watson IoT, NoSQL, …. ThingML

Telecom and Informatics

Events

Page 51: INF5120 Modelbased System development · Obligs - Smart X Toolbox –for Rapid IoT system building - with Node-RED, Raspberry Pi, IBM Cloud/Bluemix/Watson IoT, NoSQL, …. ThingML

Telecom and Informatics

Start Events

Page 52: INF5120 Modelbased System development · Obligs - Smart X Toolbox –for Rapid IoT system building - with Node-RED, Raspberry Pi, IBM Cloud/Bluemix/Watson IoT, NoSQL, …. ThingML

Telecom and Informatics

Intermediate Events

Page 53: INF5120 Modelbased System development · Obligs - Smart X Toolbox –for Rapid IoT system building - with Node-RED, Raspberry Pi, IBM Cloud/Bluemix/Watson IoT, NoSQL, …. ThingML

Telecom and Informatics

Intermediate events (normal flow)

Page 54: INF5120 Modelbased System development · Obligs - Smart X Toolbox –for Rapid IoT system building - with Node-RED, Raspberry Pi, IBM Cloud/Bluemix/Watson IoT, NoSQL, …. ThingML

Telecom and Informatics

Intermediate events (linked to Boundary)

Page 55: INF5120 Modelbased System development · Obligs - Smart X Toolbox –for Rapid IoT system building - with Node-RED, Raspberry Pi, IBM Cloud/Bluemix/Watson IoT, NoSQL, …. ThingML

Telecom and Informatics

End events

Page 56: INF5120 Modelbased System development · Obligs - Smart X Toolbox –for Rapid IoT system building - with Node-RED, Raspberry Pi, IBM Cloud/Bluemix/Watson IoT, NoSQL, …. ThingML

Telecom and Informatics

Gateways

Page 57: INF5120 Modelbased System development · Obligs - Smart X Toolbox –for Rapid IoT system building - with Node-RED, Raspberry Pi, IBM Cloud/Bluemix/Watson IoT, NoSQL, …. ThingML

Telecom and Informatics

Exclusive Gateways

Page 58: INF5120 Modelbased System development · Obligs - Smart X Toolbox –for Rapid IoT system building - with Node-RED, Raspberry Pi, IBM Cloud/Bluemix/Watson IoT, NoSQL, …. ThingML

Telecom and Informatics

Exclusive Gateways, based on data

Page 59: INF5120 Modelbased System development · Obligs - Smart X Toolbox –for Rapid IoT system building - with Node-RED, Raspberry Pi, IBM Cloud/Bluemix/Watson IoT, NoSQL, …. ThingML

Telecom and Informatics

Exclusive Gateways, based on events

Page 60: INF5120 Modelbased System development · Obligs - Smart X Toolbox –for Rapid IoT system building - with Node-RED, Raspberry Pi, IBM Cloud/Bluemix/Watson IoT, NoSQL, …. ThingML

Telecom and Informatics

Inclusive Gateways

Page 61: INF5120 Modelbased System development · Obligs - Smart X Toolbox –for Rapid IoT system building - with Node-RED, Raspberry Pi, IBM Cloud/Bluemix/Watson IoT, NoSQL, …. ThingML

Telecom and Informatics

Complex Gateways

Page 62: INF5120 Modelbased System development · Obligs - Smart X Toolbox –for Rapid IoT system building - with Node-RED, Raspberry Pi, IBM Cloud/Bluemix/Watson IoT, NoSQL, …. ThingML

Telecom and Informatics

Complex Gateways

Page 63: INF5120 Modelbased System development · Obligs - Smart X Toolbox –for Rapid IoT system building - with Node-RED, Raspberry Pi, IBM Cloud/Bluemix/Watson IoT, NoSQL, …. ThingML

Telecom and Informatics

Parallell Gateways

Page 64: INF5120 Modelbased System development · Obligs - Smart X Toolbox –for Rapid IoT system building - with Node-RED, Raspberry Pi, IBM Cloud/Bluemix/Watson IoT, NoSQL, …. ThingML

Telecom and Informatics

Conectors

Page 65: INF5120 Modelbased System development · Obligs - Smart X Toolbox –for Rapid IoT system building - with Node-RED, Raspberry Pi, IBM Cloud/Bluemix/Watson IoT, NoSQL, …. ThingML

Telecom and Informatics

Sequence flow

Page 66: INF5120 Modelbased System development · Obligs - Smart X Toolbox –for Rapid IoT system building - with Node-RED, Raspberry Pi, IBM Cloud/Bluemix/Watson IoT, NoSQL, …. ThingML

Telecom and Informatics

Conditions in sequence flow

Page 67: INF5120 Modelbased System development · Obligs - Smart X Toolbox –for Rapid IoT system building - with Node-RED, Raspberry Pi, IBM Cloud/Bluemix/Watson IoT, NoSQL, …. ThingML

Telecom and Informatics

Default sequence flow

Page 68: INF5120 Modelbased System development · Obligs - Smart X Toolbox –for Rapid IoT system building - with Node-RED, Raspberry Pi, IBM Cloud/Bluemix/Watson IoT, NoSQL, …. ThingML

Telecom and Informatics

Message flow

Page 69: INF5120 Modelbased System development · Obligs - Smart X Toolbox –for Rapid IoT system building - with Node-RED, Raspberry Pi, IBM Cloud/Bluemix/Watson IoT, NoSQL, …. ThingML

Telecom and Informatics

Associations

Page 70: INF5120 Modelbased System development · Obligs - Smart X Toolbox –for Rapid IoT system building - with Node-RED, Raspberry Pi, IBM Cloud/Bluemix/Watson IoT, NoSQL, …. ThingML

Telecom and Informatics

Swim lanes

Page 71: INF5120 Modelbased System development · Obligs - Smart X Toolbox –for Rapid IoT system building - with Node-RED, Raspberry Pi, IBM Cloud/Bluemix/Watson IoT, NoSQL, …. ThingML

Telecom and Informatics

Pool

Page 72: INF5120 Modelbased System development · Obligs - Smart X Toolbox –for Rapid IoT system building - with Node-RED, Raspberry Pi, IBM Cloud/Bluemix/Watson IoT, NoSQL, …. ThingML

Telecom and Informatics

Lanes

Page 73: INF5120 Modelbased System development · Obligs - Smart X Toolbox –for Rapid IoT system building - with Node-RED, Raspberry Pi, IBM Cloud/Bluemix/Watson IoT, NoSQL, …. ThingML

Telecom and Informatics

Artifacts

Page 74: INF5120 Modelbased System development · Obligs - Smart X Toolbox –for Rapid IoT system building - with Node-RED, Raspberry Pi, IBM Cloud/Bluemix/Watson IoT, NoSQL, …. ThingML

Telecom and Informatics

Text annotations

Page 75: INF5120 Modelbased System development · Obligs - Smart X Toolbox –for Rapid IoT system building - with Node-RED, Raspberry Pi, IBM Cloud/Bluemix/Watson IoT, NoSQL, …. ThingML

Telecom and Informatics

Data objects

Page 76: INF5120 Modelbased System development · Obligs - Smart X Toolbox –for Rapid IoT system building - with Node-RED, Raspberry Pi, IBM Cloud/Bluemix/Watson IoT, NoSQL, …. ThingML

Telecom and Informatics

Groups

Page 77: INF5120 Modelbased System development · Obligs - Smart X Toolbox –for Rapid IoT system building - with Node-RED, Raspberry Pi, IBM Cloud/Bluemix/Watson IoT, NoSQL, …. ThingML

Telecom and Informatics

Extended artifacts

Page 78: INF5120 Modelbased System development · Obligs - Smart X Toolbox –for Rapid IoT system building - with Node-RED, Raspberry Pi, IBM Cloud/Bluemix/Watson IoT, NoSQL, …. ThingML

Telecom and Informatics

Normal flow

Page 79: INF5120 Modelbased System development · Obligs - Smart X Toolbox –for Rapid IoT system building - with Node-RED, Raspberry Pi, IBM Cloud/Bluemix/Watson IoT, NoSQL, …. ThingML

Telecom and Informatics

Link events

Page 80: INF5120 Modelbased System development · Obligs - Smart X Toolbox –for Rapid IoT system building - with Node-RED, Raspberry Pi, IBM Cloud/Bluemix/Watson IoT, NoSQL, …. ThingML

Telecom and Informatics

Process leves

Page 81: INF5120 Modelbased System development · Obligs - Smart X Toolbox –for Rapid IoT system building - with Node-RED, Raspberry Pi, IBM Cloud/Bluemix/Watson IoT, NoSQL, …. ThingML

Telecom and Informatics

Data flow

Page 82: INF5120 Modelbased System development · Obligs - Smart X Toolbox –for Rapid IoT system building - with Node-RED, Raspberry Pi, IBM Cloud/Bluemix/Watson IoT, NoSQL, …. ThingML

Telecom and Informatics

Exceptions

Page 83: INF5120 Modelbased System development · Obligs - Smart X Toolbox –for Rapid IoT system building - with Node-RED, Raspberry Pi, IBM Cloud/Bluemix/Watson IoT, NoSQL, …. ThingML

Telecom and Informatics

Compenations and transacations

Page 84: INF5120 Modelbased System development · Obligs - Smart X Toolbox –for Rapid IoT system building - with Node-RED, Raspberry Pi, IBM Cloud/Bluemix/Watson IoT, NoSQL, …. ThingML

Telecom and Informatics

Loops

Page 85: INF5120 Modelbased System development · Obligs - Smart X Toolbox –for Rapid IoT system building - with Node-RED, Raspberry Pi, IBM Cloud/Bluemix/Watson IoT, NoSQL, …. ThingML

Telecom and Informatics

Timers

Page 86: INF5120 Modelbased System development · Obligs - Smart X Toolbox –for Rapid IoT system building - with Node-RED, Raspberry Pi, IBM Cloud/Bluemix/Watson IoT, NoSQL, …. ThingML

Telecom and Informatics

Ad hoc processes

Page 87: INF5120 Modelbased System development · Obligs - Smart X Toolbox –for Rapid IoT system building - with Node-RED, Raspberry Pi, IBM Cloud/Bluemix/Watson IoT, NoSQL, …. ThingML

Telecom and Informatics

EPC og BPMN

EPCEPC

BPMN

Page 88: INF5120 Modelbased System development · Obligs - Smart X Toolbox –for Rapid IoT system building - with Node-RED, Raspberry Pi, IBM Cloud/Bluemix/Watson IoT, NoSQL, …. ThingML

Telecom and Informatics

Orchestration versus Choreography

Page 89: INF5120 Modelbased System development · Obligs - Smart X Toolbox –for Rapid IoT system building - with Node-RED, Raspberry Pi, IBM Cloud/Bluemix/Watson IoT, NoSQL, …. ThingML

Telecom and Informatics

Orchestration

Page 90: INF5120 Modelbased System development · Obligs - Smart X Toolbox –for Rapid IoT system building - with Node-RED, Raspberry Pi, IBM Cloud/Bluemix/Watson IoT, NoSQL, …. ThingML

Telecom and Informatics

Choreography

Page 91: INF5120 Modelbased System development · Obligs - Smart X Toolbox –for Rapid IoT system building - with Node-RED, Raspberry Pi, IBM Cloud/Bluemix/Watson IoT, NoSQL, …. ThingML

Telecom and Informatics

Example

Page 92: INF5120 Modelbased System development · Obligs - Smart X Toolbox –for Rapid IoT system building - with Node-RED, Raspberry Pi, IBM Cloud/Bluemix/Watson IoT, NoSQL, …. ThingML

Telecom and Informatics

Process information

Page 93: INF5120 Modelbased System development · Obligs - Smart X Toolbox –for Rapid IoT system building - with Node-RED, Raspberry Pi, IBM Cloud/Bluemix/Watson IoT, NoSQL, …. ThingML

Telecom and Informatics

Proposal

Page 94: INF5120 Modelbased System development · Obligs - Smart X Toolbox –for Rapid IoT system building - with Node-RED, Raspberry Pi, IBM Cloud/Bluemix/Watson IoT, NoSQL, …. ThingML

Telecom and Informatics

BPMN Examples …

Page 95: INF5120 Modelbased System development · Obligs - Smart X Toolbox –for Rapid IoT system building - with Node-RED, Raspberry Pi, IBM Cloud/Bluemix/Watson IoT, NoSQL, …. ThingML

Telecom and Informatics

Page 96: INF5120 Modelbased System development · Obligs - Smart X Toolbox –for Rapid IoT system building - with Node-RED, Raspberry Pi, IBM Cloud/Bluemix/Watson IoT, NoSQL, …. ThingML

Telecom and Informatics

Page 97: INF5120 Modelbased System development · Obligs - Smart X Toolbox –for Rapid IoT system building - with Node-RED, Raspberry Pi, IBM Cloud/Bluemix/Watson IoT, NoSQL, …. ThingML

Telecom and Informatics

Page 98: INF5120 Modelbased System development · Obligs - Smart X Toolbox –for Rapid IoT system building - with Node-RED, Raspberry Pi, IBM Cloud/Bluemix/Watson IoT, NoSQL, …. ThingML

Telecom and Informatics

Page 99: INF5120 Modelbased System development · Obligs - Smart X Toolbox –for Rapid IoT system building - with Node-RED, Raspberry Pi, IBM Cloud/Bluemix/Watson IoT, NoSQL, …. ThingML

Telecom and Informatics

Page 100: INF5120 Modelbased System development · Obligs - Smart X Toolbox –for Rapid IoT system building - with Node-RED, Raspberry Pi, IBM Cloud/Bluemix/Watson IoT, NoSQL, …. ThingML

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 101: INF5120 Modelbased System development · Obligs - Smart X Toolbox –for Rapid IoT system building - with Node-RED, Raspberry Pi, IBM Cloud/Bluemix/Watson IoT, NoSQL, …. ThingML

Telecom and Informatics

Page 102: INF5120 Modelbased System development · Obligs - Smart X Toolbox –for Rapid IoT system building - with Node-RED, Raspberry Pi, IBM Cloud/Bluemix/Watson IoT, NoSQL, …. ThingML

Telecom and Informatics

Page 103: INF5120 Modelbased System development · Obligs - Smart X Toolbox –for Rapid IoT system building - with Node-RED, Raspberry Pi, IBM Cloud/Bluemix/Watson IoT, NoSQL, …. ThingML

Telecom and Informatics

Page 104: INF5120 Modelbased System development · Obligs - Smart X Toolbox –for Rapid IoT system building - with Node-RED, Raspberry Pi, IBM Cloud/Bluemix/Watson IoT, NoSQL, …. ThingML

Telecom and Informatics

Page 105: INF5120 Modelbased System development · Obligs - Smart X Toolbox –for Rapid IoT system building - with Node-RED, Raspberry Pi, IBM Cloud/Bluemix/Watson IoT, NoSQL, …. ThingML

Telecom and Informatics

Page 106: INF5120 Modelbased System development · Obligs - Smart X Toolbox –for Rapid IoT system building - with Node-RED, Raspberry Pi, IBM Cloud/Bluemix/Watson IoT, NoSQL, …. ThingML

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 107: INF5120 Modelbased System development · Obligs - Smart X Toolbox –for Rapid IoT system building - with Node-RED, Raspberry Pi, IBM Cloud/Bluemix/Watson IoT, NoSQL, …. ThingML

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 108: INF5120 Modelbased System development · Obligs - Smart X Toolbox –for Rapid IoT system building - with Node-RED, Raspberry Pi, IBM Cloud/Bluemix/Watson IoT, NoSQL, …. ThingML

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 109: INF5120 Modelbased System development · Obligs - Smart X Toolbox –for Rapid IoT system building - with Node-RED, Raspberry Pi, IBM Cloud/Bluemix/Watson IoT, NoSQL, …. ThingML

Telecom and Informatics

Collaboration diagram example

Page 110: INF5120 Modelbased System development · Obligs - Smart X Toolbox –for Rapid IoT system building - with Node-RED, Raspberry Pi, IBM Cloud/Bluemix/Watson IoT, NoSQL, …. ThingML

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 111: INF5120 Modelbased System development · Obligs - Smart X Toolbox –for Rapid IoT system building - with Node-RED, Raspberry Pi, IBM Cloud/Bluemix/Watson IoT, NoSQL, …. ThingML

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 112: INF5120 Modelbased System development · Obligs - Smart X Toolbox –for Rapid IoT system building - with Node-RED, Raspberry Pi, IBM Cloud/Bluemix/Watson IoT, NoSQL, …. ThingML

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 113: INF5120 Modelbased System development · Obligs - Smart X Toolbox –for Rapid IoT system building - with Node-RED, Raspberry Pi, IBM Cloud/Bluemix/Watson IoT, NoSQL, …. ThingML

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 114: INF5120 Modelbased System development · Obligs - Smart X Toolbox –for Rapid IoT system building - with Node-RED, Raspberry Pi, IBM Cloud/Bluemix/Watson IoT, NoSQL, …. ThingML

Telecom and Informatics

Activity types - visualised

Page 115: INF5120 Modelbased System development · Obligs - Smart X Toolbox –for Rapid IoT system building - with Node-RED, Raspberry Pi, IBM Cloud/Bluemix/Watson IoT, NoSQL, …. ThingML

Telecom and Informatics

Multi-instance activites - visualised

Parallel Serial

Page 116: INF5120 Modelbased System development · Obligs - Smart X Toolbox –for Rapid IoT system building - with Node-RED, Raspberry Pi, IBM Cloud/Bluemix/Watson IoT, NoSQL, …. ThingML

Telecom and Informatics

New Artifact Shapes

Data Artifact

Data Artifact Collection

Data Artifact Input

Data Artifact Output

Data Source Artifact

Page 117: INF5120 Modelbased System development · Obligs - Smart X Toolbox –for Rapid IoT system building - with Node-RED, Raspberry Pi, IBM Cloud/Bluemix/Watson IoT, NoSQL, …. ThingML

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 118: INF5120 Modelbased System development · Obligs - Smart X Toolbox –for Rapid IoT system building - with Node-RED, Raspberry Pi, IBM Cloud/Bluemix/Watson IoT, NoSQL, …. ThingML

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 119: INF5120 Modelbased System development · Obligs - Smart X Toolbox –for Rapid IoT system building - with Node-RED, Raspberry Pi, IBM Cloud/Bluemix/Watson IoT, NoSQL, …. ThingML

Telecom and Informatics

Non-interrupting Event Sub-process

(expanded)

Page 120: INF5120 Modelbased System development · Obligs - Smart X Toolbox –for Rapid IoT system building - with Node-RED, Raspberry Pi, IBM Cloud/Bluemix/Watson IoT, NoSQL, …. ThingML

Telecom and Informatics

Non-interrupting Event Sub-process

(collapsed)

Page 121: INF5120 Modelbased System development · Obligs - Smart X Toolbox –for Rapid IoT system building - with Node-RED, Raspberry Pi, IBM Cloud/Bluemix/Watson IoT, NoSQL, …. ThingML

Telecom and Informatics

Interrupting Event Sub-process

Page 122: INF5120 Modelbased System development · Obligs - Smart X Toolbox –for Rapid IoT system building - with Node-RED, Raspberry Pi, IBM Cloud/Bluemix/Watson IoT, NoSQL, …. ThingML

Telecom and Informatics

BPMN 2.0

Event Gallery