Support for Human Users in Scientific Workflows

Post on 09-Jul-2015

451 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

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.

Transcript

Dimitrios DentsasInstitute of Architecture of Application Systems

d.dentsas@googlemail.com

Support for Human Users

in Scientific Workflows

Diploma Thesis

© 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

© Dimitrios Dentsas

Motivation

© 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

© 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

© 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

© Dimitrios Dentsas

Motivation

7

[2]

© Dimitrios Dentsas

Integration of Humans

© 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

© Dimitrios Dentsas

Communication participants

10[3]

© 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.

© Dimitrios Dentsas 12

Message structure

Messages consist of:

Communication Request Message

Communication Message

Channel-Specific Message

[3]

© Dimitrios Dentsas

Communication Flows – User Notification

13

[3]

© Dimitrios Dentsas

Communication Flows – Response Required

14

[3]

© Dimitrios Dentsas

Communication Flows – Response Optional

15

[3]

© Dimitrios Dentsas

SW4H - Message structure

Structure of all input and output XML messages of the

WSDL operations

© Dimitrios Dentsas

SW4H - Message structure

Structure of all input and output XML messages of the

WSDL operations

© Dimitrios Dentsas

SW4H - Message structure

Structure of all input and output XML messages of the

WSDL operations

© Dimitrios Dentsas

SW4H - Message structure

Structure of all input and output XML messages of the

WSDL operations

© Dimitrios Dentsas

SW4H - Message structure

Structure of all input and output XML messages of the WSDL

operations

© Dimitrios Dentsas

Outline

Solutions

© 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

© 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]

© 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).

© 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

© 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

© Dimitrios Dentsas

SW4H – Abstract Architecture

27

© Dimitrios Dentsas

Integration of new services

Using a uniform Service Endpoint Interface (SEI)

Service Integration API

28

© 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

© Dimitrios Dentsas

SW4H – Communication Manager

30

© 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

© 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

© Dimitrios Dentsas

SW4H – Messaging

33

© Dimitrios Dentsas

Implementation of the Communication Flows

EIP-Diagram – The constituents are:

34

© 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

© Dimitrios Dentsas

Transactional behavior

36

Local transactions of the messaging layer

Cooperation of the Spring JmsTransaction Manager with

the JMS Broker (ActiveMQ)

[6]

© Dimitrios Dentsas

Transactional behavior

37

Persistent Queues act as „Safe Havens“

Reaching atomic behavior between queues

[7]

© Dimitrios Dentsas

SW4H – Presentation Layer

38

© Dimitrios Dentsas

SW4H Frontend – Use cases

39

© Dimitrios Dentsas

SW4H Frontend – Login window

40

© Dimitrios Dentsas

SW4H Frontend – Task window

41

© Dimitrios Dentsas

SW4H Frontend – Invitation dialog

42

© Dimitrios Dentsas

SW4H Frontend – Registration invitation

43

© Dimitrios Dentsas

SW4H Frontend – My Devices

44

© Dimitrios Dentsas

SW4H Frontend – My Services

45

© Dimitrios Dentsas

SW4H Frontend – Registration form

46

© Dimitrios Dentsas

SW4H Frontend – Eclipse integration

47

© Dimitrios Dentsas

Editing a task

© Dimitrios Dentsas

Communication Request Message

49

XML-Schema of

the task

static user list

Communication

Parameters

© Dimitrios Dentsas

Demo Run – Contacting the HCM

Using XMPP (Google GTALK)

50

© Dimitrios Dentsas

Demo Run – Editing

51

© 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

© 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

© Dimitrios Dentsas

End Of Document

top related