+ All Categories
Home > Technology > Support for Human Users in Scientific Workflows

Support for Human Users in Scientific Workflows

Date post: 09-Jul-2015
Category:
Upload: dimitrios-dentsas
View: 451 times
Download: 0 times
Share this document with a friend
Description:
Development of a (standalone) Human Communication Assistance Manager for Scientific Workflows, otherwise known as the Scientific-Workflows-for-Humans Project (SW4H) for allowing human influence and integration into large scale data-centric scientific workflow management systems (SWfMSs) through pluggable communication devices.
Popular Tags:
55
Dimitrios Dentsas Institute of Architecture of Application Systems [email protected] Support for Human Users in Scientific Workflows Diploma Thesis
Transcript
Page 1: Support for Human Users in Scientific Workflows

Dimitrios DentsasInstitute of Architecture of Application Systems

[email protected]

Support for Human Users

in Scientific Workflows

Diploma Thesis

Page 2: Support for Human Users in Scientific Workflows

© Dimitrios Dentsas 2

Contents

Motivation

Properties of Scientific Workflows

Automation boundaries

Roles of WS-HT and BPEL4People

Integration of Humans

Basics

Message Structures & Communication Flows

Outline Solutions

Research Design

SW4H – Scientific Workflows for Humans

Abstract Architecture

Using transactions

Message-based Routing

Demo – Editing a task

Page 3: Support for Human Users in Scientific Workflows

© Dimitrios Dentsas

Motivation

Page 4: Support for Human Users in Scientific Workflows

© Dimitrios Dentsas

Motivation

Numerical simulations have become the third pillar of

science

Analyzing and visualizing data-centric simulation results

is a highly repetitive process but nevertheless necessary

Automation and orchestration of work units in scientific

simulations are needed

Workflow-Management-Systems (WfMS) are an

established tool in the business domain for such

challenges

Scientific Workflow Management Systems (SWfMS)4

Page 5: Support for Human Users in Scientific Workflows

© Dimitrios Dentsas

Motivation – Automation boundaries

Simulation steps cannot be fully automated if:

The requirements for automation are too difficult to meet

The „decision making process“ can only be executed by

„cognitive entities“

e.g. Quality assurance of simulation results

Smart allocation of resources

Controlling and manipulating critical parameters

Scenario: Simulation executions over the weekend

Page 6: Support for Human Users in Scientific Workflows

© Dimitrios Dentsas

Motivation – Current needs

There is demand for a smooth integration of human users

in SWfMS

Network-based communication channels are hardly ever

used

Efficient management of simulation-related tasks

Web service standards like WS-HumanTask and

BPEL4People are used in the business domain.

As specifications they are part of the WS-*

They determine how to integrate human users into business

processes

The WS-BPEL language has to be extended

6

Page 7: Support for Human Users in Scientific Workflows

© Dimitrios Dentsas

Motivation

7

[2]

Page 8: Support for Human Users in Scientific Workflows

© Dimitrios Dentsas

Integration of Humans

Page 9: Support for Human Users in Scientific Workflows

© Dimitrios Dentsas

Basics

Cloud-based integration of applications

Special requirements for integrating human users have to

be considered and managed

Human Communication Flows are introduced in order to

reach these objectives

In this paradigm all participants hold one of the following

roles:

Communication Initiator

Human Communication Manager

Communication Services

Communication Devices

Page 10: Support for Human Users in Scientific Workflows

© Dimitrios Dentsas

Communication participants

10[3]

Page 11: Support for Human Users in Scientific Workflows

© Dimitrios Dentsas 11

Message structure

We distinguish between two types of communication

parameters:

Communication Parameters:

Communication type (Notification, Response required/optional)

List of all message receivers

Communication channels (Skype, Chat, etc.)

Further options (response schema, attachments, default responses)

Communication Message Properties:

subject

body

Importance level

etc.

Page 12: Support for Human Users in Scientific Workflows

© Dimitrios Dentsas 12

Message structure

Messages consist of:

Communication Request Message

Communication Message

Channel-Specific Message

[3]

Page 13: Support for Human Users in Scientific Workflows

© Dimitrios Dentsas

Communication Flows – User Notification

13

[3]

Page 14: Support for Human Users in Scientific Workflows

© Dimitrios Dentsas

Communication Flows – Response Required

14

[3]

Page 15: Support for Human Users in Scientific Workflows

© Dimitrios Dentsas

Communication Flows – Response Optional

15

[3]

Page 16: Support for Human Users in Scientific Workflows

© Dimitrios Dentsas

SW4H - Message structure

Structure of all input and output XML messages of the

WSDL operations

Page 17: Support for Human Users in Scientific Workflows

© Dimitrios Dentsas

SW4H - Message structure

Structure of all input and output XML messages of the

WSDL operations

Page 18: Support for Human Users in Scientific Workflows

© Dimitrios Dentsas

SW4H - Message structure

Structure of all input and output XML messages of the

WSDL operations

Page 19: Support for Human Users in Scientific Workflows

© Dimitrios Dentsas

SW4H - Message structure

Structure of all input and output XML messages of the

WSDL operations

Page 20: Support for Human Users in Scientific Workflows

© Dimitrios Dentsas

SW4H - Message structure

Structure of all input and output XML messages of the WSDL

operations

Page 21: Support for Human Users in Scientific Workflows

© Dimitrios Dentsas

Outline

Solutions

Page 22: Support for Human Users in Scientific Workflows

© Dimitrios Dentsas

Approach – The communication flow

A multitude of different technical realization possibilities.

Two very popular ones are:

1. BPEL-Process

2. Message-oriented Middleware (MOM) EAI through Enterprise Integration Patterns

22

BPEL MOM

Pros • uniform modeling

environment

• Easier integration with

process fragments

• Large open source

community

Cons • Tight coupling with

workflows

• Introduction of new

dependencies by

using EAI-

Frameworks

Page 23: Support for Human Users in Scientific Workflows

© Dimitrios Dentsas

Approach – The communication flow

Requirements for EAI-Frameworks:

Fault tolerance

Guaranteed deliveries

Scalability

Support for popular protocols of the ISO/OSI application layer

Apache Camel

Apache ActiveMQ[4]

[5]

Page 24: Support for Human Users in Scientific Workflows

© Dimitrios Dentsas

Approach– Data model

Don‘t reinvent the wheel!

What similar solutions are there for the data model?

Project Bangkok (Uni Stuttgart )

Tempo (Intalio)

Apache HISE (Incubator Project)

Project Bangkok and Apache HISE are open source

implementations of the WS-Human Task specification.

Tempo implements BPEL4People (REST APIs).

Page 25: Support for Human Users in Scientific Workflows

© Dimitrios Dentsas

Project Bangkok

An embedded Human Task Manager for Java

APIs for client applications

Support for:

HumanTaskModel vs HumanTaskInstance

People queries (logical people groups, literals)

Task presentation

User management

25

Page 26: Support for Human Users in Scientific Workflows

© Dimitrios Dentsas

SW4H

Scientific-Workflows-for-Humans (SW4H)

Human Communication Manager

What it is based on:

Project Bangkok

Apache Camel (Routing Engine)

Apache ActiveMQ (Embedded Message Broker)

What it offers:

Web-frontend with a task worklist

Easily integratable into the Eclipse platform

A multitude of integrated Messaging Endpoints

Exchangable Back-End systems for persistency (currently

MySQL)

26

Page 27: Support for Human Users in Scientific Workflows

© Dimitrios Dentsas

SW4H – Abstract Architecture

27

Page 28: Support for Human Users in Scientific Workflows

© Dimitrios Dentsas

Integration of new services

Using a uniform Service Endpoint Interface (SEI)

Service Integration API

28

Page 29: Support for Human Users in Scientific Workflows

© Dimitrios Dentsas

Human Interaction Activity

Implemented as a process

fragment

Asynchronous communication

One <invoke> activity

One <pick> activity

Conditional constructs with a

<if> activity

Invoking the Communication

Inititation API

(sendMessage, onMessage)29

Page 30: Support for Human Users in Scientific Workflows

© Dimitrios Dentsas

SW4H – Communication Manager

30

Page 31: Support for Human Users in Scientific Workflows

© Dimitrios Dentsas

Task-loop – A command interpreter

The message body of coupled

devices is analyzed:

#<command>( [-h] -p1 foo –p2 bar)

forward

resend

useChannel

stop

fail

claim

start

getUsers

help

release

31

Page 32: Support for Human Users in Scientific Workflows

© Dimitrios Dentsas

Task-loop – Parsing of XSD documents

XML-Schema for describing tasks is analyzed with a XSD-Parser

A proper subset of the XML-Schema spezification

Simple types :

Explicit and anonymous type definitions

Primitive data types:

string, decimal, integer, boolean, date, time

Restrictions and facets:

enumeration, maxinclusive, mininclusive, maxexclusive, length, maxlength, minl

ength, pattern, totaldigits

Complex types:

Explicit and anonymous type definitions

Recursive complex types

Child elements:

sequence, choice, all

Attributes:

maxoccurs, minoccurs, required, optional

32

Page 33: Support for Human Users in Scientific Workflows

© Dimitrios Dentsas

SW4H – Messaging

33

Page 34: Support for Human Users in Scientific Workflows

© Dimitrios Dentsas

Implementation of the Communication Flows

EIP-Diagram – The constituents are:

34

Page 35: Support for Human Users in Scientific Workflows

© Dimitrios Dentsas

Implementation of the Communication Flows

User Notification: The constituents are : Message: Header and body

Recipient List: Content-based Routing

Persistent Queues

Endpoints: User-Devices

35

Page 36: Support for Human Users in Scientific Workflows

© Dimitrios Dentsas

Transactional behavior

36

Local transactions of the messaging layer

Cooperation of the Spring JmsTransaction Manager with

the JMS Broker (ActiveMQ)

[6]

Page 37: Support for Human Users in Scientific Workflows

© Dimitrios Dentsas

Transactional behavior

37

Persistent Queues act as „Safe Havens“

Reaching atomic behavior between queues

[7]

Page 38: Support for Human Users in Scientific Workflows

© Dimitrios Dentsas

SW4H – Presentation Layer

38

Page 39: Support for Human Users in Scientific Workflows

© Dimitrios Dentsas

SW4H Frontend – Use cases

39

Page 40: Support for Human Users in Scientific Workflows

© Dimitrios Dentsas

SW4H Frontend – Login window

40

Page 41: Support for Human Users in Scientific Workflows

© Dimitrios Dentsas

SW4H Frontend – Task window

41

Page 42: Support for Human Users in Scientific Workflows

© Dimitrios Dentsas

SW4H Frontend – Invitation dialog

42

Page 43: Support for Human Users in Scientific Workflows

© Dimitrios Dentsas

SW4H Frontend – Registration invitation

43

Page 44: Support for Human Users in Scientific Workflows

© Dimitrios Dentsas

SW4H Frontend – My Devices

44

Page 45: Support for Human Users in Scientific Workflows

© Dimitrios Dentsas

SW4H Frontend – My Services

45

Page 46: Support for Human Users in Scientific Workflows

© Dimitrios Dentsas

SW4H Frontend – Registration form

46

Page 47: Support for Human Users in Scientific Workflows

© Dimitrios Dentsas

SW4H Frontend – Eclipse integration

47

Page 48: Support for Human Users in Scientific Workflows

© Dimitrios Dentsas

Editing a task

Page 49: Support for Human Users in Scientific Workflows

© Dimitrios Dentsas

Communication Request Message

49

XML-Schema of

the task

static user list

Communication

Parameters

Page 50: Support for Human Users in Scientific Workflows

© Dimitrios Dentsas

Demo Run – Contacting the HCM

Using XMPP (Google GTALK)

50

Page 51: Support for Human Users in Scientific Workflows

© Dimitrios Dentsas

Demo Run – Editing

51

Page 52: Support for Human Users in Scientific Workflows

© Dimitrios Dentsas

Demo Run – The resulting response message

The XSD-Parser processes all inputs and produces a

valid XML document

Callback – The task is finished successfully and sends a

response message back to the workflow

52

Page 54: Support for Human Users in Scientific Workflows

© Dimitrios Dentsas

List of references

(1) M.Sonntag,D.Karastoyanova: (2010) Next Generation Interactive Scientific

Experimenting Based On The Workflow Technology. 21st IASTED

International Conference on Modelling and Simulation.

(2) Schumm, David; Karastoyanova, Dimka: Integrating Humans in Scientific

Workflows: Integrate, Register & Communicate. In: The 4th SimTech Status

Seminar, 2011

(3) Schumm, David; Fehling, Christoph; Karastoyanova, Dimka;

Leymann, Frank; Rütschlin, Jochen: Processes for Human Integration in

Automated Cloud Application Management, Universität

Stuttgart, Technischer Bericht Nr. 2012/02, 2012.

(4) http://camel.apache.org/

(5) http://activemq.apache.org/

(6) Ian J. Taylor, Ewa Deelman, Dennis B. Gannon, and Matthew Shields.

2006. Workflows for E-Science: Scientific Workflows for Grids. Springer-

Verlag New York, Inc., Secaucus, NJ, USA.

54

Page 55: Support for Human Users in Scientific Workflows

© Dimitrios Dentsas

End Of Document


Recommended