130
T. Margaria STRESS ‘06 24.5.2006 Tiziana Margaria Chair of Service and Software Engineering Universität Potsdam Service Engineering Service Engineering - between Software and Business -

T. Margaria STRESS ‘06 – 24.5.2006 Tiziana Margaria Chair of Service and Software Engineering Universität Potsdam Service Engineering Service Engineering

Embed Size (px)

Citation preview

Page 1: T. Margaria STRESS ‘06 – 24.5.2006 Tiziana Margaria Chair of Service and Software Engineering Universität Potsdam Service Engineering Service Engineering

T. Margaria STRESS ‘06 – 24.5.2006

Tiziana Margaria

Chair of Service and Software EngineeringUniversität Potsdam

Service EngineeringService Engineering- between Software and Business -

Service EngineeringService Engineering- between Software and Business -

Page 2: T. Margaria STRESS ‘06 – 24.5.2006 Tiziana Margaria Chair of Service and Software Engineering Universität Potsdam Service Engineering Service Engineering

T. Margaria STRESS ‘06 – 24.5.2006

OverviewOverview

• A motivating scenario

• How does it work

• The roots

• Web services (Example)

– The Tool Provider view

– The Tool User view

• Status and perspectives

Page 3: T. Margaria STRESS ‘06 – 24.5.2006 Tiziana Margaria Chair of Service and Software Engineering Universität Potsdam Service Engineering Service Engineering

T. Margaria STRESS ‘06 – 24.5.2006

Elementary Services

CoordinationCoordination

Presentation

Components

Coordinating Heterogeneous EntitiesCoordinating Heterogeneous Entities

Demo this afternoonDemo this afternoon

Page 4: T. Margaria STRESS ‘06 – 24.5.2006 Tiziana Margaria Chair of Service and Software Engineering Universität Potsdam Service Engineering Service Engineering

T. Margaria STRESS ‘06 – 24.5.2006

Aggressive Model Driven DesignAggressive Model Driven Design

M1

C1 Cn

Mn MnM1

Running System Running System

Compilation/Synthesis

Synthesis/Technology Mapping

Model Library

Component Library

Global Model

Integration Integration

Integration asConsistency/Compatibility

AMDDComponent Based Design

Page 5: T. Margaria STRESS ‘06 – 24.5.2006 Tiziana Margaria Chair of Service and Software Engineering Universität Potsdam Service Engineering Service Engineering

T. Margaria STRESS ‘06 – 24.5.2006

Aggressive Model Driven DesignAggressive Model Driven Design

Systems on a Chip

a board a chip

Page 6: T. Margaria STRESS ‘06 – 24.5.2006 Tiziana Margaria Chair of Service and Software Engineering Universität Potsdam Service Engineering Service Engineering

T. Margaria STRESS ‘06 – 24.5.2006

ABC: Library-based, ABC: Library-based, Actor-oriented Modelling & Design Actor-oriented Modelling & Design

SIB1

Macro 1

SIBnFLGnFLG1

Running System

Feature Library

Global SLG

uses .. …

Component Model Library

.. Macro n

Temporal Constraintsand Types

Service Logic Graphs = System ModelsService Logic Graphs = System Models

Temporal Formulas = Property SpecificationsTemporal Formulas = Property Specifications

Service Independent Building Blocks = ActorsService Independent Building Blocks = Actors

Actor Orientation• model checking composition of

behaviors• separation of behav. interface

from implementation

Actor Orientation• model checking composition of

behaviors• separation of behav. interface

from implementation

Page 7: T. Margaria STRESS ‘06 – 24.5.2006 Tiziana Margaria Chair of Service and Software Engineering Universität Potsdam Service Engineering Service Engineering

T. Margaria STRESS ‘06 – 24.5.2006

Layered Architecture Layered Architecture of jABC Applicationsof jABC Applications

Application

Services

Components

Business Objects

Persistency

Presentation

Agents

Features

Classes

User CentricLayers

System CentricLayers

Coordination

SIBs,SLGs,Macros

Page 8: T. Margaria STRESS ‘06 – 24.5.2006 Tiziana Margaria Chair of Service and Software Engineering Universität Potsdam Service Engineering Service Engineering

T. Margaria STRESS ‘06 – 24.5.2006

Challenge: Inconsistent NeedsChallenge: Inconsistent Needs

Scenario:

complex, distributed, and interdependent service provision

Central issue: user-level flow of control

• Flexibility: complete online reconfigurability of features, a whole service, and of role definition

• Scalability: manage many such services on the same ASP cluster and use remote services

• Telecommunication-level quality of service, (availability and reliability)

Page 9: T. Margaria STRESS ‘06 – 24.5.2006 Tiziana Margaria Chair of Service and Software Engineering Universität Potsdam Service Engineering Service Engineering

T. Margaria STRESS ‘06 – 24.5.2006

Concept - Coarse Granular LevelConcept - Coarse Granular Level

• combine basic functionalities• by means of a graphical notation• according to the control flow

Device-A-hook-up

Correct-Signal-In-Application?

passed failed

Page 10: T. Margaria STRESS ‘06 – 24.5.2006 Tiziana Margaria Chair of Service and Software Engineering Universität Potsdam Service Engineering Service Engineering

T. Margaria STRESS ‘06 – 24.5.2006

Link to UML-based Design-ToolsLink to UML-based Design-Tools

• SLGs sequence and activity diagrams

Page 11: T. Margaria STRESS ‘06 – 24.5.2006 Tiziana Margaria Chair of Service and Software Engineering Universität Potsdam Service Engineering Service Engineering

T. Margaria STRESS ‘06 – 24.5.2006

Tiziana Margaria

Chair of Service and Software EngineeringUniversität Potsdam

Martin Karusseit

Chair of Programming SystemsUniversität Dortmund

How to Engineer a Complex ApplicationHow to Engineer a Complex ApplicationHow to Engineer a Complex ApplicationHow to Engineer a Complex Application

Page 12: T. Margaria STRESS ‘06 – 24.5.2006 Tiziana Margaria Chair of Service and Software Engineering Universität Potsdam Service Engineering Service Engineering

T. Margaria STRESS ‘06 – 24.5.2006

Report

Report

PC MembersPC Members

PC ChairPC Chair

ReviewersReviewers

AuthorsAuthors

Articles

Final Report

Report Task

Report Task

AMDD for Design:AMDD for Design:

The Online Conference Service

Page 13: T. Margaria STRESS ‘06 – 24.5.2006 Tiziana Margaria Chair of Service and Software Engineering Universität Potsdam Service Engineering Service Engineering

T. Margaria STRESS ‘06 – 24.5.2006

Roles

Top level Features

Subfeatures

Page 14: T. Margaria STRESS ‘06 – 24.5.2006 Tiziana Margaria Chair of Service and Software Engineering Universität Potsdam Service Engineering Service Engineering

T. Margaria STRESS ‘06 – 24.5.2006

Hierarchical DesignHierarchical Design

Main Functionalities

Create NewsgroupSLG

SIBs

SLGs

Page 15: T. Margaria STRESS ‘06 – 24.5.2006 Tiziana Margaria Chair of Service and Software Engineering Universität Potsdam Service Engineering Service Engineering

T. Margaria STRESS ‘06 – 24.5.2006

Create Newsgroup

SIBs…

The SIB ModelThe SIB Model

<<Name>><<Category>><<Formal Parameter>><<Branches>> <<Executable Code>>

SIBSIB

CVSCreateConnection SIB Specification

Page 16: T. Margaria STRESS ‘06 – 24.5.2006 Tiziana Margaria Chair of Service and Software Engineering Universität Potsdam Service Engineering Service Engineering

T. Margaria STRESS ‘06 – 24.5.2006

SLG of the Application

SkeletonService

Features

Global Global LogicLogicPlanePlane

OnlineOnlineConferenceConferenceService:Service: >2800 SIBs>4000 branches

Page 17: T. Margaria STRESS ‘06 – 24.5.2006 Tiziana Margaria Chair of Service and Software Engineering Universität Potsdam Service Engineering Service Engineering

T. Margaria STRESS ‘06 – 24.5.2006

Feature Feature

• piece of (optional) functionality on top of a base system.

• (monotonic) • may consider or require other features• defined from an external point of view

(e.g. users and/or providers of services)• granularity determined by marketing or

provisioning

Page 18: T. Margaria STRESS ‘06 – 24.5.2006 Tiziana Margaria Chair of Service and Software Engineering Universität Potsdam Service Engineering Service Engineering

T. Margaria STRESS ‘06 – 24.5.2006

„Article“ Feature SLG

Sub-Features

Feature LogicFeature Logic

Submit Article

Page 19: T. Margaria STRESS ‘06 – 24.5.2006 Tiziana Margaria Chair of Service and Software Engineering Universität Potsdam Service Engineering Service Engineering

T. Margaria STRESS ‘06 – 24.5.2006

Feature-oriented Description Feature-oriented Description

• behaviours of a base system and a set of optional features

• as Service Logic Graphs (SLGs)

• library of reusable components:

Service Independent Building-Blocks (SIBs).

• set of abstract requirements for the intended purposes

• Interactions are expressed via constraints.

• Any feature composition is allowed that does not violate the

constraints.

Page 20: T. Margaria STRESS ‘06 – 24.5.2006 Tiziana Margaria Chair of Service and Software Engineering Universität Potsdam Service Engineering Service Engineering

T. Margaria STRESS ‘06 – 24.5.2006

Main Features Sub-Features Article Bidding Delegation Report Tasklist

Article

SubstituteSubmitArticle          

SubstituteSubmitArticle          

ModifyArticle          

SubmitFinalArticleVersion          

SubmitArticle          

ReadDownloadArticle   x      

DelegateArticle     x    

Reportlist       x  

SubmitReport         x

SubmitFinalReport          

ModifyFinalReport       x  

AcceptRejectReviewTask         x

RemoveArticle          

SendMailtoAuthor          

ShowAbstracts          

OCS Feature Reusal (excerpt)OCS Feature Reusal (excerpt)

Reusal at the application level!

Page 21: T. Margaria STRESS ‘06 – 24.5.2006 Tiziana Margaria Chair of Service and Software Engineering Universität Potsdam Service Engineering Service Engineering

T. Margaria STRESS ‘06 – 24.5.2006

Design ValidationDesign Validation

– Local constraints

– Global constraints

Page 22: T. Margaria STRESS ‘06 – 24.5.2006 Tiziana Margaria Chair of Service and Software Engineering Universität Potsdam Service Engineering Service Engineering

T. Margaria STRESS ‘06 – 24.5.2006

Model Checking Service Logic GraphsModel Checking Service Logic Graphs

Structures: Logic:

Control view of Service Logic Graphs,

i.e.:• SIBs as states• Edges as transitions• SIB names as observations

(automaton alphabet)• SIB parameters as additional

observations

Full mu-calculus• universal and existential

specifications• forward and backward

modalities• first order extensions

referencing SIB parameters

Page 23: T. Margaria STRESS ‘06 – 24.5.2006 Tiziana Margaria Chair of Service and Software Engineering Universität Potsdam Service Engineering Service Engineering

T. Margaria STRESS ‘06 – 24.5.2006

The Model: DFAThe Model: DFA

• defined as a quadruple (S, Act, , s0 ) set of building blocks S set of possible branching conditions Act a set of transitions S Act S initial block s0

• visualised as a graph

• constitute basis for design of (web) applications

• constitute basis for checking consistency

Page 24: T. Margaria STRESS ‘06 – 24.5.2006 Tiziana Margaria Chair of Service and Software Engineering Universität Potsdam Service Engineering Service Engineering

T. Margaria STRESS ‘06 – 24.5.2006

Global constraints:Global constraints:

• formulated as SLTL formulas

A: atomic propositions over Sc: propositional logical formula over Act

• interpreted over set of all possible sequences

UG |)(||||:: cA

Page 25: T. Margaria STRESS ‘06 – 24.5.2006 Tiziana Margaria Chair of Service and Software Engineering Universität Potsdam Service Engineering Service Engineering

T. Margaria STRESS ‘06 – 24.5.2006

What do we check?What do we check?

• Role Management feature:

– A user can modify the defined roles only after having successfully registered as Administrator

~(‘ModifyRoles) unless ‘UserLogin [Role=Admin]

• ForgottenPwd feature:

– once the form for the private question is displayed, the correctness and completeness of the user-entered data should always be checked

‘ShowFrameSetFiles => [{ok}] AF_F (‘CheckReqParam)

– If this check fails, redisplay the input form

‘CheckReqParam =>

[{missing, exists_empty}] AF_F (`ShowFrameSetFiles)

Page 26: T. Margaria STRESS ‘06 – 24.5.2006 Tiziana Margaria Chair of Service and Software Engineering Universität Potsdam Service Engineering Service Engineering

T. Margaria STRESS ‘06 – 24.5.2006

What do we check?What do we check?

• ForgottenPwd feature: – The password question should only be shown once a

valid e-mail address has been input.

‘ShowPwdQuestion =>

(AF_B(‘CheckEmailAddr) /\

AWU_B(~’CheckEmailAddr, ![{successful}]!T))

– The notification page that an e-mail with the new password has been sent should not be shown before it was really sent out:

‘Service2Context =>

ASU_F ( ‘ShowPwdAck,’SendMimeMessage)

Page 27: T. Margaria STRESS ‘06 – 24.5.2006 Tiziana Margaria Chair of Service and Software Engineering Universität Potsdam Service Engineering Service Engineering

T. Margaria STRESS ‘06 – 24.5.2006

Agile Process-Oriented DesignAgile Process-Oriented Design

Running Process

Process Model

ProcessRequirements

Deployment

Validation, Analysis

Testing & Monitoring

Orchestration

PlatformServices

Business Process Analysis

Page 28: T. Margaria STRESS ‘06 – 24.5.2006 Tiziana Margaria Chair of Service and Software Engineering Universität Potsdam Service Engineering Service Engineering

Service-Oriented Design: Service-Oriented Design:

The Roots The Roots

Service-Oriented Design: Service-Oriented Design:

The Roots The Roots

Manfred ReitenspießBusiness Development

RTP4 Continuous Services

Bernhard SteffenProgramming Systems

and Compilers

Tiziana Margaria

Service Engineering

for Distributed Systems

Page 29: T. Margaria STRESS ‘06 – 24.5.2006 Tiziana Margaria Chair of Service and Software Engineering Universität Potsdam Service Engineering Service Engineering

T. Margaria STRESS ‘06 – 24.5.2006

Granny´sGranny´sFreephoneFreephone

Page 30: T. Margaria STRESS ‘06 – 24.5.2006 Tiziana Margaria Chair of Service and Software Engineering Universität Potsdam Service Engineering Service Engineering

T. Margaria STRESS ‘06 – 24.5.2006

The IN Service Definition EnvironmentThe IN Service Definition Environment

Early AMDDEarly AMDD

Page 31: T. Margaria STRESS ‘06 – 24.5.2006 Tiziana Margaria Chair of Service and Software Engineering Universität Potsdam Service Engineering Service Engineering

T. Margaria STRESS ‘06 – 24.5.2006

IN ArchitectureIN Architecture

DesignProvisioning

Management

Execution

Page 32: T. Margaria STRESS ‘06 – 24.5.2006 Tiziana Margaria Chair of Service and Software Engineering Universität Potsdam Service Engineering Service Engineering

T. Margaria STRESS ‘06 – 24.5.2006

IN Conceptual Model PlanesIN Conceptual Model Planes

serviceplane

globalfunctional

plane

distributedfunctional

plane

physicalplane -

protocolsand

processing

global service logic

GSL1

GSL2

GSLn

POI

POR

SIB1

SIB2

SIBn

BCP

service1 service2

SF1

SF2

SFn

PE1

PEn

PE2

P1 P2

Pn

FE1FE2

FE1

FE2

FEA

EF

EF

EF

EF

FEA

Page 33: T. Margaria STRESS ‘06 – 24.5.2006 Tiziana Margaria Chair of Service and Software Engineering Universität Potsdam Service Engineering Service Engineering

T. Margaria STRESS ‘06 – 24.5.2006

Service PlaneService Plane

The Service Plane represents an exclusively service-oriented view.

This view contains no information whatsoever regarding the implementation of the services in the network. What is perceived is the network's service-related behavior as seen, for example, by a service user.

Services are composed of one or more Service Features (SFs), which represent the "lowest level" of services.

The Global Service Logic (GSL) describes how service features are built using SIBs.

Page 34: T. Margaria STRESS ‘06 – 24.5.2006 Tiziana Margaria Chair of Service and Software Engineering Universität Potsdam Service Engineering Service Engineering

T. Margaria STRESS ‘06 – 24.5.2006

IN CS.1 ServicesIN CS.1 Services

• Automatic Alternative Billing (AAB)• Abbreviated Dialing (ABD) • Account Card Calling (ACC)• Credit Card Calling (CCC)• Call Distribution (CD)• Call Forwarding (CF)

– Comp. of Call to Busy Subscriber

– Conference Calling (CON)• Call Rerouting Distribution (CRD)• Destination Call Routing (DCR)• Follow-Me-Diversion (FMD)• Freephone (FPH)

• Mass Calling (MAS)• Malicious Call Identification (MCI)• Premium Rate (PRM)• Security Screening (SEC)• Selective Call Forward on

Busy/Don’t Answer (SCF)• Split Charging (SPL)• Televoting (VOT)• Terminating Call Screening (TCS)• User-Defined Routing (UDR)• Universal Access Number (UAN)• Universal Personal

Telecommunications (UPT)• Virtual Private Network (VPN)

Page 35: T. Margaria STRESS ‘06 – 24.5.2006 Tiziana Margaria Chair of Service and Software Engineering Universität Potsdam Service Engineering Service Engineering

T. Margaria STRESS ‘06 – 24.5.2006

IN CS.1 Service FeaturesIN CS.1 Service Features

• Abbreviated Dialing (ABD) Customized Recorded Announcement (CRA)• Attendant (ATT) Customized ringing (CRG)• Authentication (AUTC) Destinating User Prompter (DUP)• Authorization Code (AUTZ) Follow-Me Diversion (FMD)• Automatic Call Back (ACB) Mass Calling (MAS)• Call Distribution (CD) Meet-Me Conference (MMC)• Call Forwarding (CF) Multiway Calling (MWC)• Call Forwarding on Busy (CFC) Off-Net Access (OFA)• Call Gapping (GAP) Off-Net Calling (ONC)• Call Hold with Announcement (CHA) One Number (ONE)• Call Limiter (LIM) Origin Dependent Routing (ODR)• Call Logging (LOG) Originating Call screening (OCS)• Call Queuing (QUE) Originating User Prompter (OUP)• Call Transfer (TRA) Personal Numbering (PN)• Call Waiting (CW) Private Numbering Plan (PNP)• Closed User Group (CUG) Reverse Charging (REVC)• Consultation Calling (COC) Split Charging (SPLC)• Customer Profile Management (CPM)

Page 36: T. Margaria STRESS ‘06 – 24.5.2006 Tiziana Margaria Chair of Service and Software Engineering Universität Potsdam Service Engineering Service Engineering

T. Margaria STRESS ‘06 – 24.5.2006

Example: Authentification FeatureExample: Authentification Feature

Page 37: T. Margaria STRESS ‘06 – 24.5.2006 Tiziana Margaria Chair of Service and Software Engineering Universität Potsdam Service Engineering Service Engineering

T. Margaria STRESS ‘06 – 24.5.2006

Service Independent Building BlocksService Independent Building Blocks

• SIBs are

– reusable modular building blocks,

– describing a single complete activity,

– used by the service designer to create services

• independent from any physical architecture considerations (PIM)

• Each SIB has an interface with inputs and outputs

SIBs = {Algorithm, Charge, Compare, Distribution, Limit,

Log Call Information, Queue, Screen, Service Data Management, Status Notification, Translate, User Interaction,Verify}

Page 38: T. Margaria STRESS ‘06 – 24.5.2006 Tiziana Margaria Chair of Service and Software Engineering Universität Potsdam Service Engineering Service Engineering

T. Margaria STRESS ‘06 – 24.5.2006

Example: The Queue SIBExample: The Queue SIB

Entry

Context

Parameters

Branches

Page 39: T. Margaria STRESS ‘06 – 24.5.2006 Tiziana Margaria Chair of Service and Software Engineering Universität Potsdam Service Engineering Service Engineering

T. Margaria STRESS ‘06 – 24.5.2006

Example: Universal Personal TelephonyExample: Universal Personal Telephony

UPT is a mobility service which enables subscribers to use a number of telecommunications services to

• initiate any type of service and

• receive any type of call on the basis of a unique Personal Telecommunications

Number (PTN) across multiple networks at any user-network access (fixed, movable or mobile), irrespective of geographic location, limited only by terminal and network capabilities.

The PTN will be translated to an appropriate destination number for routing based on the capabilities subscribed to by each Service Subscriber (SS).

Page 40: T. Margaria STRESS ‘06 – 24.5.2006 Tiziana Margaria Chair of Service and Software Engineering Universität Potsdam Service Engineering Service Engineering

T. Margaria STRESS ‘06 – 24.5.2006

Example: Service mappingsExample: Service mappings

• Authorization Code (AUTZ) • Follow-Me Diversion (FMD)• Personal Numbering (PN)• Split Charging (SPLC)

• Authorization Code (AUTZ) • Follow-Me Diversion (FMD)• Personal Numbering (PN)• Split Charging (SPLC)

Page 41: T. Margaria STRESS ‘06 – 24.5.2006 Tiziana Margaria Chair of Service and Software Engineering Universität Potsdam Service Engineering Service Engineering

T. Margaria STRESS ‘06 – 24.5.2006

Service Creation Environment (SCE)Service Creation Environment (SCE) • Framework for defining, developing and testing SLPs

e.g.– graphical SIB-based ‘drag and drop’– graphical SDL-based– high level, 4GL language based– low level C-language based with special resources e.g. libraries and runtimes– proprietary graphic and/or text based

• Services are loaded via SMS to SCPs

Page 42: T. Margaria STRESS ‘06 – 24.5.2006 Tiziana Margaria Chair of Service and Software Engineering Universität Potsdam Service Engineering Service Engineering

T. Margaria STRESS ‘06 – 24.5.2006

Example of IN Service CreationExample of IN Service Creation

• IN: Service logic design with SDL and coding with C

mes s ageId=123Start

(wfDbTimer)

Not OK

wf_nt_res p

Yes

Play

Announcement

db_nt_reques t

Not in us e

Connec tTo

Res ource

idle

Re leas eCall

700-s ervice?

InitialDP

idle

idle

Re leas eCall

(* CVOPS state-automaton for 700-service *)(* state input actions *)

idle InitialDP {

(* Call c-function that checks calledPartyNumber *) result=numberTranslationService() if(result==700SERVICE){ (* send query to database and wait for reply *) db_nt_request start(wfDbTimer) to(wf_nt_resp) } else if(result==SERVICE_NOT_IN_USE){ (* Play annoucement to user *) ConnectToResource messageId=123 PlayAnnouncement ReleaseCall to(idle) } else{ (* error *) ReleaseCall to(idle) }}

wf_nt_resp db_nt_resp {

stop(wfDbTimer) if(dbStatus==OK){ ...

Page 43: T. Margaria STRESS ‘06 – 24.5.2006 Tiziana Margaria Chair of Service and Software Engineering Universität Potsdam Service Engineering Service Engineering

T. Margaria STRESS ‘06 – 24.5.2006

Page 44: T. Margaria STRESS ‘06 – 24.5.2006 Tiziana Margaria Chair of Service and Software Engineering Universität Potsdam Service Engineering Service Engineering

T. Margaria STRESS ‘06 – 24.5.2006

OverviewOverview

• A motivating scenario

• How does it work

• The roots

• Web services (Example)

– The Tool Provider view

– The Tool User view

• Status and perspectives

Page 45: T. Margaria STRESS ‘06 – 24.5.2006 Tiziana Margaria Chair of Service and Software Engineering Universität Potsdam Service Engineering Service Engineering

Tiziana MargariaChristian Kubczak

Service Engineering for Distributed Systems

Bernhard SteffenRalf Nagel

Chair of Programming Systemsand Compilers

The SWS Challenge inThe SWS Challenge in jETIjETIThe SWS Challenge inThe SWS Challenge in jETIjETI

Page 46: T. Margaria STRESS ‘06 – 24.5.2006 Tiziana Margaria Chair of Service and Software Engineering Universität Potsdam Service Engineering Service Engineering

Tiziana MargariaChristian Winkler

Chair of Service and Software Engineering

Bernhard SteffenChristian Kubczak

Ralf Nagel

Chair of Programming Systemsand Compilers

The jABC/jETI Approach The jABC/jETI Approach

to Mediation and Choreographyto Mediation and Choreography

The jABC/jETI Approach The jABC/jETI Approach

to Mediation and Choreographyto Mediation and Choreography

Page 47: T. Margaria STRESS ‘06 – 24.5.2006 Tiziana Margaria Chair of Service and Software Engineering Universität Potsdam Service Engineering Service Engineering

T. Margaria STRESS ‘06 – 24.5.2006

The ETI Idea (1996)The ETI Idea (1996)

• Make tools remotely available

• Simple GUI to use tools

• (operating) System independent

technology• Simple way of integrating tools

Giving Software/Tools a Trial as easy as Test Driving a Car ?

Page 48: T. Margaria STRESS ‘06 – 24.5.2006 Tiziana Margaria Chair of Service and Software Engineering Universität Potsdam Service Engineering Service Engineering

T. Margaria STRESS ‘06 – 24.5.2006

The ETI Idea (1996)The ETI Idea (1996)

• Make tools remotely available

• Simple GUI to use tools

• (operating) System independent technology

• Simple way of integrating tools

Page 49: T. Margaria STRESS ‘06 – 24.5.2006 Tiziana Margaria Chair of Service and Software Engineering Universität Potsdam Service Engineering Service Engineering

T. Margaria STRESS ‘06 – 24.5.2006

Providing Tool AccessProviding Tool Access

For structured access to the tool functionalities in the tool repository, users can

– get detailed information on each available tool feature

– combine heterogeneous tool functionalities to programs

– execute single tool features

– run the programs via the Internet

tool coordination and Internet-based executionfacilities are the conceptual key features

Page 50: T. Margaria STRESS ‘06 – 24.5.2006 Tiziana Margaria Chair of Service and Software Engineering Universität Potsdam Service Engineering Service Engineering

T. Margaria STRESS ‘06 – 24.5.2006

The ETI Community ServiceThe ETI Community Service

• a Web-based, open platform

• interactive experimentation with

heterogeneous tools

• elaborate coordination support

• coordination programs can be run

via the Net

Page 51: T. Margaria STRESS ‘06 – 24.5.2006 Tiziana Margaria Chair of Service and Software Engineering Universität Potsdam Service Engineering Service Engineering

T. Margaria STRESS ‘06 – 24.5.2006

Weaknesses of the OriginalWeaknesses of the Original Process Process

Integrator

• needs to be familiar with HLL and C++• needs direct access to ETI’s core

Integration becomes support-intensive!

Tool-Provider ≠ Tool-Integrator

Page 52: T. Margaria STRESS ‘06 – 24.5.2006 Tiziana Margaria Chair of Service and Software Engineering Universität Potsdam Service Engineering Service Engineering

T. Margaria STRESS ‘06 – 24.5.2006

ABC / Java ABC (jABC)ABC / Java ABC (jABC)

SIBs

SLGs

Plugins

Demo this afternoonDemo this afternoon

Page 53: T. Margaria STRESS ‘06 – 24.5.2006 Tiziana Margaria Chair of Service and Software Engineering Universität Potsdam Service Engineering Service Engineering

T. Margaria STRESS ‘06 – 24.5.2006

OverviewOverview

• A motivating scenario

• How does it work

• The roots

• Web services (Example)

– The Tool Provider view

– The Tool User view

• Status and perspectives

Page 54: T. Margaria STRESS ‘06 – 24.5.2006 Tiziana Margaria Chair of Service and Software Engineering Universität Potsdam Service Engineering Service Engineering

T. Margaria STRESS ‘06 – 24.5.2006

ToolExecuter

HTML ToolConfigurator

Tomcat Servlet Container

j ET I T ool Provider

jE T I ToolP rovider

File Edit

j ET I Client

SIB JavaC lass

ABC V FS In terface

<X M L>Tool

Desc.</XM L>

j A BC Component S erver

S IB C reator

<XM L>Too l

D escription< /XM L>

jETI Plugin

jETI PlatformjETI Platform

jABC FrameworkjETI Extension

Page 55: T. Margaria STRESS ‘06 – 24.5.2006 Tiziana Margaria Chair of Service and Software Engineering Universität Potsdam Service Engineering Service Engineering

T. Margaria STRESS ‘06 – 24.5.2006

Step 1: Tool IntegrationStep 1: Tool Integration

Tool P rovider

Local tool

ToolExecuter

HTML ToolConfigurator

Tomcat Servlet Container

jE T I Tool P rovider

<XM L>Too l

D escription< /XM L>

Page 56: T. Margaria STRESS ‘06 – 24.5.2006 Tiziana Margaria Chair of Service and Software Engineering Universität Potsdam Service Engineering Service Engineering

T. Margaria STRESS ‘06 – 24.5.2006

ToolExecuter

HTML ToolConfigurator

Tomcat Servlet Conta iner

jE T I Tool P rovider

A B C V FS In terface

jA B C C omponent S erver

<XM L>Too l

D escription< /XM L>

Step 2: Tool RegistrationStep 2: Tool Registration

<X M L>Tool

Desc.</XM L>

SIB JavaC lass

S IB C rea tor

Page 57: T. Margaria STRESS ‘06 – 24.5.2006 Tiziana Margaria Chair of Service and Software Engineering Universität Potsdam Service Engineering Service Engineering

T. Margaria STRESS ‘06 – 24.5.2006

OverviewOverview

• A motivating scenario

• How does it work

• The roots

• Web services (Example)

– The Tool Provider view

– The Tool User view

• Status and perspectives

Page 58: T. Margaria STRESS ‘06 – 24.5.2006 Tiziana Margaria Chair of Service and Software Engineering Universität Potsdam Service Engineering Service Engineering

T. Margaria STRESS ‘06 – 24.5.2006

Step 3: Tool Invocation Control FlowStep 3: Tool Invocation Control Flow

File Edit

jE T I C lient

SIB JavaC lass

ABC V FS In terface

<X M L>Tool

Desc.</XM L>

jA B C C omponent S erver

S IB C reator

jETI Plugin

Page 59: T. Margaria STRESS ‘06 – 24.5.2006 Tiziana Margaria Chair of Service and Software Engineering Universität Potsdam Service Engineering Service Engineering

T. Margaria STRESS ‘06 – 24.5.2006

Step 4: Execute Tool Control FlowStep 4: Execute Tool Control Flow

ToolExecuter

HTML ToolConfigurator

Tomcat Servlet Container

jE T I Tool P rovider

File Edit

jE T I C lient

<XM L>Too l

D escription< /XM L>

jETI Plugin

Page 60: T. Margaria STRESS ‘06 – 24.5.2006 Tiziana Margaria Chair of Service and Software Engineering Universität Potsdam Service Engineering Service Engineering

T. Margaria STRESS ‘06 – 24.5.2006

ToolExecuter

HTML ToolConfigurator

Tomcat Servlet Container

j ET I T ool Provider

jE T I ToolP rovider

File Edit

j ET I Client

SIB JavaC lass

ABC V FS In terface

<X M L>Tool

Desc.</XM L>

j A BC Component S erver

S IB C reator

<XM L>Too l

D escription< /XM L>

jETI Plugin

Deploy jETI-Configurator and jETI-ExecutorDeploy jETI-Configurator and jETI-Executor

Page 61: T. Margaria STRESS ‘06 – 24.5.2006 Tiziana Margaria Chair of Service and Software Engineering Universität Potsdam Service Engineering Service Engineering

T. Margaria STRESS ‘06 – 24.5.2006

ToolExecuter

HTML ToolConfigurator

Tomcat Servlet Container

j ET I T ool Provider

jE T I ToolP rovider

File Edit

j ET I Client

SIB JavaC lass

ABC V FS In terface

<X M L>Tool

Desc.</XM L>

j A BC Component S erver

S IB C reator

<XM L>Too l

D escription< /XM L>

jETI Plugin

Tool ConfigurationTool Configuration

Page 62: T. Margaria STRESS ‘06 – 24.5.2006 Tiziana Margaria Chair of Service and Software Engineering Universität Potsdam Service Engineering Service Engineering

T. Margaria STRESS ‘06 – 24.5.2006

ToolExecuter

HTML ToolConfigurator

Tomcat Servlet Container

j ET I T ool Provider

jE T I ToolP rovider

File Edit

j ET I Client

SIB JavaC lass

ABC V FS In terface

<X M L>Tool

Desc.</XM L>

j A BC Component S erver

S IB C reator

<XM L>Too l

D escription< /XM L>

jETI Plugin

Tool Parameter ConfigurationTool Parameter Configuration

Page 63: T. Margaria STRESS ‘06 – 24.5.2006 Tiziana Margaria Chair of Service and Software Engineering Universität Potsdam Service Engineering Service Engineering

T. Margaria STRESS ‘06 – 24.5.2006

ToolExecuter

HTML ToolConfigurator

Tomcat Servlet Container

j ET I T ool Provider

jE T I ToolP rovider

File Edit

j ET I Client

SIB JavaC lass

ABC V FS In terface

<X M L>Tool

Desc.</XM L>

j A BC Component S erver

S IB C reator

<XM L>Too l

D escription< /XM L>

jETI Plugin

Register Tools at Component ServerRegister Tools at Component Server

ToolDescription

Page 64: T. Margaria STRESS ‘06 – 24.5.2006 Tiziana Margaria Chair of Service and Software Engineering Universität Potsdam Service Engineering Service Engineering

T. Margaria STRESS ‘06 – 24.5.2006

jETI Tool-ConfigurationjETI Tool-Configuration

Page 65: T. Margaria STRESS ‘06 – 24.5.2006 Tiziana Margaria Chair of Service and Software Engineering Universität Potsdam Service Engineering Service Engineering

T. Margaria STRESS ‘06 – 24.5.2006

Creating a New ToolCreating a New Tool

Page 66: T. Margaria STRESS ‘06 – 24.5.2006 Tiziana Margaria Chair of Service and Software Engineering Universität Potsdam Service Engineering Service Engineering

T. Margaria STRESS ‘06 – 24.5.2006

Creating Tool ParametersCreating Tool Parameters

Page 67: T. Margaria STRESS ‘06 – 24.5.2006 Tiziana Margaria Chair of Service and Software Engineering Universität Potsdam Service Engineering Service Engineering

T. Margaria STRESS ‘06 – 24.5.2006

Specify Tool ParameterSpecify Tool Parameter

Page 68: T. Margaria STRESS ‘06 – 24.5.2006 Tiziana Margaria Chair of Service and Software Engineering Universität Potsdam Service Engineering Service Engineering

T. Margaria STRESS ‘06 – 24.5.2006

Tool Parameters SpecifiedTool Parameters Specified

Page 69: T. Margaria STRESS ‘06 – 24.5.2006 Tiziana Margaria Chair of Service and Software Engineering Universität Potsdam Service Engineering Service Engineering

T. Margaria STRESS ‘06 – 24.5.2006

Tool Configuration CompletedTool Configuration Completed

Page 70: T. Margaria STRESS ‘06 – 24.5.2006 Tiziana Margaria Chair of Service and Software Engineering Universität Potsdam Service Engineering Service Engineering

T. Margaria STRESS ‘06 – 24.5.2006

Tools Registered at Component ServerTools Registered at Component Server

Page 71: T. Margaria STRESS ‘06 – 24.5.2006 Tiziana Margaria Chair of Service and Software Engineering Universität Potsdam Service Engineering Service Engineering

T. Margaria STRESS ‘06 – 24.5.2006

OverviewOverview

• An Evolving framework

• How does it work

• The Tool Provider view

• The Tool User view

• Perspectives

Page 72: T. Margaria STRESS ‘06 – 24.5.2006 Tiziana Margaria Chair of Service and Software Engineering Universität Potsdam Service Engineering Service Engineering

T. Margaria STRESS ‘06 – 24.5.2006

Starting jABC ClientStarting jABC Client

available tools

Page 73: T. Margaria STRESS ‘06 – 24.5.2006 Tiziana Margaria Chair of Service and Software Engineering Universität Potsdam Service Engineering Service Engineering

T. Margaria STRESS ‘06 – 24.5.2006

Setting Tool ParametersSetting Tool Parameters

tool node name

tool parameter

edit single parameter

tool execution results

selected tool invocation

Page 74: T. Margaria STRESS ‘06 – 24.5.2006 Tiziana Margaria Chair of Service and Software Engineering Universität Potsdam Service Engineering Service Engineering

T. Margaria STRESS ‘06 – 24.5.2006

Tool Invocation Control FlowTool Invocation Control Flow

Page 75: T. Margaria STRESS ‘06 – 24.5.2006 Tiziana Margaria Chair of Service and Software Engineering Universität Potsdam Service Engineering Service Engineering

T. Margaria STRESS ‘06 – 24.5.2006

Execute Tool Control FlowExecute Tool Control Flow

Page 76: T. Margaria STRESS ‘06 – 24.5.2006 Tiziana Margaria Chair of Service and Software Engineering Universität Potsdam Service Engineering Service Engineering

T. Margaria STRESS ‘06 – 24.5.2006

ToolExecuter

HTML ToolConfigurator

Tomcat Servlet Container

j ET I T ool Provider

jE T I ToolP rovider

File Edit

j ET I Client

SIB JavaC lass

ABC V FS In terface

<X M L>Tool

Desc.</XM L>

j A BC Component S erver

S IB C reator

<XM L>Too l

D escription< /XM L>

jETI Plugin

Execute Tool SequenceExecute Tool Sequence

Page 77: T. Margaria STRESS ‘06 – 24.5.2006 Tiziana Margaria Chair of Service and Software Engineering Universität Potsdam Service Engineering Service Engineering

T. Margaria STRESS ‘06 – 24.5.2006

OverviewOverview

• An Evolving framework

• How does it work

• The Tool Provider view

• The Tool User view

– An Example execution

• Perspectives

Page 78: T. Margaria STRESS ‘06 – 24.5.2006 Tiziana Margaria Chair of Service and Software Engineering Universität Potsdam Service Engineering Service Engineering

T. Margaria STRESS ‘06 – 24.5.2006

Model Preparation (1)Model Preparation (1)

Page 79: T. Margaria STRESS ‘06 – 24.5.2006 Tiziana Margaria Chair of Service and Software Engineering Universität Potsdam Service Engineering Service Engineering

T. Margaria STRESS ‘06 – 24.5.2006

Model Preparation (2)Model Preparation (2)

Page 80: T. Margaria STRESS ‘06 – 24.5.2006 Tiziana Margaria Chair of Service and Software Engineering Universität Potsdam Service Engineering Service Engineering

T. Margaria STRESS ‘06 – 24.5.2006

Calling the TracerCalling the Tracer

Page 81: T. Margaria STRESS ‘06 – 24.5.2006 Tiziana Margaria Chair of Service and Software Engineering Universität Potsdam Service Engineering Service Engineering

T. Margaria STRESS ‘06 – 24.5.2006

Executing the CodeviewerExecuting the Codeviewer

Page 82: T. Margaria STRESS ‘06 – 24.5.2006 Tiziana Margaria Chair of Service and Software Engineering Universität Potsdam Service Engineering Service Engineering

T. Margaria STRESS ‘06 – 24.5.2006

Output of the CodeviewerOutput of the Codeviewer

Page 83: T. Margaria STRESS ‘06 – 24.5.2006 Tiziana Margaria Chair of Service and Software Engineering Universität Potsdam Service Engineering Service Engineering

T. Margaria STRESS ‘06 – 24.5.2006

Executing the JADExecuting the JAD

Page 84: T. Margaria STRESS ‘06 – 24.5.2006 Tiziana Margaria Chair of Service and Software Engineering Universität Potsdam Service Engineering Service Engineering

T. Margaria STRESS ‘06 – 24.5.2006

Output of JAD (1)Output of JAD (1)

Page 85: T. Margaria STRESS ‘06 – 24.5.2006 Tiziana Margaria Chair of Service and Software Engineering Universität Potsdam Service Engineering Service Engineering

T. Margaria STRESS ‘06 – 24.5.2006

Executing ZKM and JADExecuting ZKM and JAD

Page 86: T. Margaria STRESS ‘06 – 24.5.2006 Tiziana Margaria Chair of Service and Software Engineering Universität Potsdam Service Engineering Service Engineering

T. Margaria STRESS ‘06 – 24.5.2006

Output of JAD (2)Output of JAD (2)

Page 87: T. Margaria STRESS ‘06 – 24.5.2006 Tiziana Margaria Chair of Service and Software Engineering Universität Potsdam Service Engineering Service Engineering

T. Margaria STRESS ‘06 – 24.5.2006

Executing SOOT and JADExecuting SOOT and JAD

Page 88: T. Margaria STRESS ‘06 – 24.5.2006 Tiziana Margaria Chair of Service and Software Engineering Universität Potsdam Service Engineering Service Engineering

T. Margaria STRESS ‘06 – 24.5.2006

Output of JAD (3)Output of JAD (3)

Page 89: T. Margaria STRESS ‘06 – 24.5.2006 Tiziana Margaria Chair of Service and Software Engineering Universität Potsdam Service Engineering Service Engineering

T. Margaria STRESS ‘06 – 24.5.2006

Execution CompletionExecution Completion

Page 90: T. Margaria STRESS ‘06 – 24.5.2006 Tiziana Margaria Chair of Service and Software Engineering Universität Potsdam Service Engineering Service Engineering

T. Margaria STRESS ‘06 – 24.5.2006

FMICS jETI Repository of MC ToolsFMICS jETI Repository of MC Tools

Participants:

CWI: Jaco van de Pol, Bert Lisser (T) INRIA: Hubert Garavel, Radu Mateescu ISTI: Stefania Gnesi, Diego Latella,      Franco Mazzanti (T), Gianluca Trentanni (T) U. Brno: Lubos Brim, Jiri Barnat (T) U. Dortmund/U. Potsdam: Tiziana Margaria, Bernhard Steffen                        Christian Kubczak (T), Stefan Naujokat (T)                         Marco Bakera (T), Christian Topnik (T) U. Malaga: Pedro Merino, Jesus Martinez (T) U. Saarbrücken: Holger Hermanns, Reza Pulungan (T) [CCLRC: Juan Bicarregui, Alvaro Arenas] for information

Coordination: Tiziana Margaria, Christian Kubczak, all the group leaders of the groups above.

Page 91: T. Margaria STRESS ‘06 – 24.5.2006 Tiziana Margaria Chair of Service and Software Engineering Universität Potsdam Service Engineering Service Engineering

T. Margaria STRESS ‘06 – 24.5.2006

OverviewOverview

• A motivating scenario

• How does it work

• The roots

• Web services (Example)

– The Tool Provider view

– The Tool User view

• SWS Challenge 2006

• Status and perspectives

Page 92: T. Margaria STRESS ‘06 – 24.5.2006 Tiziana Margaria Chair of Service and Software Engineering Universität Potsdam Service Engineering Service Engineering

T. Margaria STRESS ‘06 – 24.5.2006

SWS Challenge 2006 SWS Challenge 2006 Phase I : Service MediationPhase I : Service Mediation

SWS Challenge 2006 SWS Challenge 2006 Phase I : Service MediationPhase I : Service Mediation

Page 93: T. Margaria STRESS ‘06 – 24.5.2006 Tiziana Margaria Chair of Service and Software Engineering Universität Potsdam Service Engineering Service Engineering

T. Margaria STRESS ‘06 – 24.5.2006

A ServiceA Service Mediation ScenarioMediation Scenario

Page 94: T. Margaria STRESS ‘06 – 24.5.2006 Tiziana Margaria Chair of Service and Software Engineering Universität Potsdam Service Engineering Service Engineering

T. Margaria STRESS ‘06 – 24.5.2006

Solution:Solution:

1. Generate SIBs from Moon’s WSDL descriptions of the Legacy System

2. Model Mediator workflow in jABC (SLG)

3. Generate web service out of the mediator SLG

4. Use generated web service with RosettaNet Client

Page 95: T. Margaria STRESS ‘06 – 24.5.2006 Tiziana Margaria Chair of Service and Software Engineering Universität Potsdam Service Engineering Service Engineering

T. Margaria STRESS ‘06 – 24.5.2006

Web-Service

Integrating (Web) ServicesIntegrating (Web) Services

BuildingBlock

WSDLjETI

SOAPSOAP

1. Generate SIBs from Moon’s WSDL descriptions of the Legacy System

Page 96: T. Margaria STRESS ‘06 – 24.5.2006 Tiziana Margaria Chair of Service and Software Engineering Universität Potsdam Service Engineering Service Engineering

T. Margaria STRESS ‘06 – 24.5.2006

2. Moon Mediator Workflow2. Moon Mediator Workflow

Page 97: T. Margaria STRESS ‘06 – 24.5.2006 Tiziana Margaria Chair of Service and Software Engineering Universität Potsdam Service Engineering Service Engineering

T. Margaria STRESS ‘06 – 24.5.2006

Page 98: T. Margaria STRESS ‘06 – 24.5.2006 Tiziana Margaria Chair of Service and Software Engineering Universität Potsdam Service Engineering Service Engineering

T. Margaria STRESS ‘06 – 24.5.2006

Page 99: T. Margaria STRESS ‘06 – 24.5.2006 Tiziana Margaria Chair of Service and Software Engineering Universität Potsdam Service Engineering Service Engineering

T. Margaria STRESS ‘06 – 24.5.2006

2. Moon Mediator Workflow - WS2. Moon Mediator Workflow - WS

Page 100: T. Margaria STRESS ‘06 – 24.5.2006 Tiziana Margaria Chair of Service and Software Engineering Universität Potsdam Service Engineering Service Engineering

T. Margaria STRESS ‘06 – 24.5.2006

Web-Service

Web-Service

3. Integrating/Providing (Web) Services3. Integrating/Providing (Web) Services

BuildingBlock

WSDL

jETI-Tool

BuildingBlock

SOAP

WSDLjETI

Mediator

Page 101: T. Margaria STRESS ‘06 – 24.5.2006 Tiziana Margaria Chair of Service and Software Engineering Universität Potsdam Service Engineering Service Engineering

T. Margaria STRESS ‘06 – 24.5.2006

jETI Status jETI Status

• Generic Orchestration SIBs

• SWS Challenge (Web Services)• Bioinformatics (Services and SIBs)• GIS (SUN/Ricoh/ProDV) • Office Automation Support• IKEA SCM• FMICS jETI Platform

Halle 1 Stand A90/A91

Page 102: T. Margaria STRESS ‘06 – 24.5.2006 Tiziana Margaria Chair of Service and Software Engineering Universität Potsdam Service Engineering Service Engineering

T. Margaria STRESS ‘06 – 24.5.2006

jETI StatusjETI Status

Page 103: T. Margaria STRESS ‘06 – 24.5.2006 Tiziana Margaria Chair of Service and Software Engineering Universität Potsdam Service Engineering Service Engineering

T. Margaria STRESS ‘06 – 24.5.2006

Conclusions and PerspectivesConclusions and Perspectives

• Service-oriented, model-driven

• Not new!

• Web Service technology:

– Integration by registration

– Seamless remote execution

• Experience in many different domains

• Compile vs. runtime

• Standardizing services in a domain (Service catalogues)

• Services as “functions”

• Semantics!

Page 104: T. Margaria STRESS ‘06 – 24.5.2006 Tiziana Margaria Chair of Service and Software Engineering Universität Potsdam Service Engineering Service Engineering

T. Margaria STRESS ‘06 – 24.5.2006

Tiziana Margaria

Chair of Service and Software EngineeringUniversität Potsdam

Christian Kubczak Marc Njoku

Chair of Programming Systems SEDSUniversität Dortmund Universität Göttingen

Workflows in BioinformaticsWorkflows in BioinformaticsWorkflows in BioinformaticsWorkflows in Bioinformatics

Page 105: T. Margaria STRESS ‘06 – 24.5.2006 Tiziana Margaria Chair of Service and Software Engineering Universität Potsdam Service Engineering Service Engineering

Gene name/ EnsemblID

Llist of species

Get Ortholo-gous IDs

Get Sequences for all IDs

Region

WUBlast each aginst each(Asynchronous Webservice)

Search Array of Positions for the best Position

For each ID, output the best Position

List with ID‘s

Liste with Sequences

List of species (s.above.)

Identify the ‚right‘ WUBlast-match

WU-Blast Result

Array of Positions[ID1 / ID2]

(recursively)

Page 106: T. Margaria STRESS ‘06 – 24.5.2006 Tiziana Margaria Chair of Service and Software Engineering Universität Potsdam Service Engineering Service Engineering

T. Margaria STRESS ‘06 – 24.5.2006

Orthologe ID‘s holenOrthologe ID‘s holen

• Sinn: – Stellt ein Set aller zueinander orthologen Gene (ausgehend von dem

Eingangs-Gen) in allen gegebenen Arten zusammen.• Eingangsinterface

– String ensemblID– organismType(XML)[] organismList

• Ausgangsinterface– Array mit den Informationen Artname, EnsemblID (Array of orthologs, XML?)

• Vorhanden– Webservice, der die ‚orthologen IDs‘ für ein Artenpaar zurück gibt

• Eingabe 2* organismType und eine ensemblID• Ausgabe Acessionnumber[] idList

• Problem– Das Holen der ‚orthologen IDs‘ muss rekursiv und jeder gegen jeden

erfolgen• TODO

– rekursiver Ansatz verwirklichen– Ausgangsinterface besser definieren

Page 107: T. Margaria STRESS ‘06 – 24.5.2006 Tiziana Margaria Chair of Service and Software Engineering Universität Potsdam Service Engineering Service Engineering

T. Margaria STRESS ‘06 – 24.5.2006

Sequenzen für alle ID‘s holenSequenzen für alle ID‘s holen

• Sinn: – Sequenzen für das anschließende Blasten bereitstellen.

• Eingangsinterface– organismType(XML) Artname – String EnsemblID– String Bereichsangabe (first exon, promotor etc.)

• Ausgangsinterface– sequenceType(XML) Sequenz

• Vorhanden– Ensembl Java API, Beispielprogramm

• Problem– Modul holt eine Sequenz und muss in Schleife

angesprochen werden• TODO

– Modul schreiben– Schleife konzipieren

Page 108: T. Margaria STRESS ‘06 – 24.5.2006 Tiziana Margaria Chair of Service and Software Engineering Universität Potsdam Service Engineering Service Engineering

T. Margaria STRESS ‘06 – 24.5.2006

For each species, until

list empty

For each species but the current one,

till list empty

For all IDs, till all compared

For each ID, till list empty

Get sequence ID

WU Blast

Identify hit

For each species, till list empty

For each ID of the blasted species

Add results to matrix

(ID -> species)

For each species but the current

one, till list empty

Prepare matrixfor all IDs(ID x ID)

Go through matrix

columns

Determine best position (ID) in a

column Collect

position result

ID

Species

Complete ID List

Sequence

Result

Positions

Positions for one ID

Position matrix

Column

Best positions for all IDs

Gene name

Get ID Get orthologue IDs

List of species

Species

ID

List of species

Refined Specs

Page 109: T. Margaria STRESS ‘06 – 24.5.2006 Tiziana Margaria Chair of Service and Software Engineering Universität Potsdam Service Engineering Service Engineering

T. Margaria STRESS ‘06 – 24.5.2006

Getting the pairs

Page 110: T. Margaria STRESS ‘06 – 24.5.2006 Tiziana Margaria Chair of Service and Software Engineering Universität Potsdam Service Engineering Service Engineering

T. Margaria STRESS ‘06 – 24.5.2006

Build the result

Format the result

Page 111: T. Margaria STRESS ‘06 – 24.5.2006 Tiziana Margaria Chair of Service and Software Engineering Universität Potsdam Service Engineering Service Engineering

T. Margaria STRESS ‘06 – 24.5.2006

Page 112: T. Margaria STRESS ‘06 – 24.5.2006 Tiziana Margaria Chair of Service and Software Engineering Universität Potsdam Service Engineering Service Engineering

T. Margaria STRESS ‘06 – 24.5.2006

Page 113: T. Margaria STRESS ‘06 – 24.5.2006 Tiziana Margaria Chair of Service and Software Engineering Universität Potsdam Service Engineering Service Engineering

T. Margaria STRESS ‘06 – 24.5.2006

The Final SLGThe Final SLG

Page 114: T. Margaria STRESS ‘06 – 24.5.2006 Tiziana Margaria Chair of Service and Software Engineering Universität Potsdam Service Engineering Service Engineering

T. Margaria STRESS ‘06 – 24.5.2006

Tiziana Margaria

Chair of Service and Software EngineeringUniversität Potsdam

Service EngineeringService Engineering- between Software and Business -

Service EngineeringService Engineering- between Software and Business -

Page 115: T. Margaria STRESS ‘06 – 24.5.2006 Tiziana Margaria Chair of Service and Software Engineering Universität Potsdam Service Engineering Service Engineering

T. Margaria STRESS ‘06 – 24.5.2006

Services…Services…

for comfort

and increased productivity

(Peter Naur, NATO Software Engineering ConferenceGarmisch Partenkirchen, 1968)

Page 116: T. Margaria STRESS ‘06 – 24.5.2006 Tiziana Margaria Chair of Service and Software Engineering Universität Potsdam Service Engineering Service Engineering

T. Margaria STRESS ‘06 – 24.5.2006

Tiziana Margaria Bernhard Steffen

Mike Hinchey (NASA Goddard)Christopher Rouff (SAIC)Jim Rash (NASA Goddard)

Enhancing R2D2C with LearningEnhancing R2D2C with LearningEnhancing R2D2C with LearningEnhancing R2D2C with Learning

Page 117: T. Margaria STRESS ‘06 – 24.5.2006 Tiziana Margaria Chair of Service and Software Engineering Universität Potsdam Service Engineering Service Engineering

T. Margaria STRESS ‘06 – 24.5.2006

Requirements (to Design) to CodeRequirements (to Design) to Code

Requirements expressed as scenarios

CodeModels

Engineered system:

Two ways to apply R2D2C:

Existing code generating tools

Existing model extraction (reverse engineering) tools

Mathematical laws of concurrency

(reversed)

Reverse engineered system: first , then

7

Page 118: T. Margaria STRESS ‘06 – 24.5.2006 Tiziana Margaria Chair of Service and Software Engineering Universität Potsdam Service Engineering Service Engineering

T. Margaria STRESS ‘06 – 24.5.2006

NASA‘s R2D2CNASA‘s R2D2C

D1 Scenarios Capture: Engineers, end users, and others write scenarios describing intended system operation. The input scenarios may be represented in a constrained natural language using a syntax-directed editor, or in other textual or graphical forms.

D2 Traces Generation: Traces and sequences of atomic events are derived from the D1 scenarios

D3 Model Inference: A formal model, or formal specification, expressed in CSP is inferred by an automatic theorem prover (here ACL2) using the traces derived in D2.

D4 Analysis: uses available commercial, public domain, and specially developed tools (CSP based)

D5 Code Generation:Uses special purpose tools, or FDR, or e.g., conversion of CSP to B and then using the B Toolkit).

Page 119: T. Margaria STRESS ‘06 – 24.5.2006 Tiziana Margaria Chair of Service and Software Engineering Universität Potsdam Service Engineering Service Engineering

T. Margaria STRESS ‘06 – 24.5.2006

Requirement specifications in terms of individual traces are by their nature very partial.

They represent only the most prominent situations.

Techniques for systematically completing such partial requirement specifications are of major practical importance.

Requirements completion based on Automatic (active) automata learning.

Learning-Based Requirements CompletionLearning-Based Requirements Completion

Page 120: T. Margaria STRESS ‘06 – 24.5.2006 Tiziana Margaria Chair of Service and Software Engineering Universität Potsdam Service Engineering Service Engineering

T. Margaria STRESS ‘06 – 24.5.2006

Enhanced R2D2C Enhanced R2D2C (with Requirement Completion) (with Requirement Completion)

L1Temporal

Constraints

L2Requirem.

Completion

Traces

Seq.Model

Seq.Model

Page 121: T. Margaria STRESS ‘06 – 24.5.2006 Tiziana Margaria Chair of Service and Software Engineering Universität Potsdam Service Engineering Service Engineering

T. Margaria STRESS ‘06 – 24.5.2006

Enhanced R2D2C:Enhanced R2D2C:

Replace Mode [D3/L2]:

• the requirements completion component L2 replaces model inference (bypassed):

• Analysis and code generation work on the model produced by L2.

• Currently, this means that we restrict ourselves to sequential models.

Page 122: T. Margaria STRESS ‘06 – 24.5.2006 Tiziana Margaria Chair of Service and Software Engineering Universität Potsdam Service Engineering Service Engineering

T. Margaria STRESS ‘06 – 24.5.2006

Enhanced R2D2C:Enhanced R2D2C:

Integrated mode:• the requirement completion component L2 is added to

the original process. • L2

– supports the evaluation of the given set of requirement traces,

– hints at underspecified portions

– which may be successively completed.

• This option strengthens the original R2D2C process.

For true model-based system-level design!

Page 123: T. Margaria STRESS ‘06 – 24.5.2006 Tiziana Margaria Chair of Service and Software Engineering Universität Potsdam Service Engineering Service Engineering

T. Margaria STRESS ‘06 – 24.5.2006

R2D2C UsesR2D2C Uses

• End-to-end automatic code generation of provably correct systems

• Automatic reimplementation after any requirements change

• Exploiting re-use across platforms

• Reverse engineering legacy systems to a mathematically sound model

• Analysis and documentation of existing systems (e.g., expert systems)

• Re-engineering of legacy systems to a provably correct new implementation

12

Page 124: T. Margaria STRESS ‘06 – 24.5.2006 Tiziana Margaria Chair of Service and Software Engineering Universität Potsdam Service Engineering Service Engineering

T. Margaria STRESS ‘06 – 24.5.2006

Benefits of the MethodBenefits of the Method

• Automation of entire development process

• Significant increase in quality

– Ability to do formal proof on properties of implementations– Ability to do formal proof of correctness – Automated means for requirements analysis– Guaranteed correspondence between requirements and

their implementation as code

• Model-enabling also legacy systems

11

Page 125: T. Margaria STRESS ‘06 – 24.5.2006 Tiziana Margaria Chair of Service and Software Engineering Universität Potsdam Service Engineering Service Engineering

T. Margaria STRESS ‘06 – 24.5.2006

Domains (to date)Domains (to date)

• Verification of Robotic Procedures (e.g. Hubble Space Telescope Robotic Servicing Mission)

• Wireless Sensor Networks

• Communication Systems

• Agent Based Systems

Page 126: T. Margaria STRESS ‘06 – 24.5.2006 Tiziana Margaria Chair of Service and Software Engineering Universität Potsdam Service Engineering Service Engineering

T. Margaria STRESS ‘06 – 24.5.2006

Page 127: T. Margaria STRESS ‘06 – 24.5.2006 Tiziana Margaria Chair of Service and Software Engineering Universität Potsdam Service Engineering Service Engineering

T. Margaria STRESS ‘06 – 24.5.2006

MaTRICS: MaTRICS: Remote Configuration of SystemsRemote Configuration of Systems

Page 128: T. Margaria STRESS ‘06 – 24.5.2006 Tiziana Margaria Chair of Service and Software Engineering Universität Potsdam Service Engineering Service Engineering

T. Margaria STRESS ‘06 – 24.5.2006

MaTRICS Sendmail Config. MaTRICS Sendmail Config.

modelled and implemented as SLG:

Page 129: T. Margaria STRESS ‘06 – 24.5.2006 Tiziana Margaria Chair of Service and Software Engineering Universität Potsdam Service Engineering Service Engineering

T. Margaria STRESS ‘06 – 24.5.2006

Client Protocol ManagerPalette

Page 130: T. Margaria STRESS ‘06 – 24.5.2006 Tiziana Margaria Chair of Service and Software Engineering Universität Potsdam Service Engineering Service Engineering

T. Margaria STRESS ‘06 – 24.5.2006