Component Based Approach to Scientific Workflow Management

22
Nigel Baker UWE & CERN/EP-CMA Component Based Approach to Scientific Workflow Management The C.R.I.S.T.A.L. Project (Cooperative Repositories & Information System for Tracking Assembly Lifecycle) CERN, LAPP(Annecy), KFKI(Budapest), UWE(Bristol) ACAT 2000 Fermi National Accelerator Laboratory

description

Component Based Approach to Scientific Workflow Management. The C.R.I.S.T.A.L. Project ( C ooperative R epositories & I nformation S ystem for T racking A ssembly L ifecycle) CERN, LAPP(Annecy), KFKI(Budapest), UWE(Bristol). ACAT 2000 Fermi National Accelerator Laboratory. - PowerPoint PPT Presentation

Transcript of Component Based Approach to Scientific Workflow Management

Page 1: Component Based Approach to Scientific Workflow Management

Nigel Baker

UWE & CERN/EP-CMA

Component Based Approach to Scientific Workflow Management

The C.R.I.S.T.A.L. Project(Cooperative Repositories & Information System for Tracking Assembly

Lifecycle)CERN, LAPP(Annecy), KFKI(Budapest), UWE(Bristol)

ACAT 2000 Fermi National Accelerator Laboratory

Page 2: Component Based Approach to Scientific Workflow Management

Nigel Baker ACAT ’2000 Presentation 2

The Problem Domain

The design of a production & assembly control system(CRISTAL) for the construction of the CMS ECAL detector using workflow(WfM) & product data management (PDM) techniques.

Page 3: Component Based Approach to Scientific Workflow Management

Nigel Baker ACAT ’2000 Presentation 3

The Product Family Problem The design of a production & assembly control system

for the construction of ANY detector or system.

Software

Product

1

Software

Product

2

Software

Product

3

A collection of software systems with the same application area.

Page 4: Component Based Approach to Scientific Workflow Management

Nigel Baker ACAT ’2000 Presentation 4

Product Line Engineering Product line engineering defines a generic infrastructure, reusable

across a family of target products. Requires analysis of common and variable product characteristics

defining the scope of reuse identification of reusable components identification of suitable level of generality.

Requires building and evolving a generic infrastructure to support application engineering exploit common characteristics integrate variant and optional features

Page 5: Component Based Approach to Scientific Workflow Management

Nigel Baker ACAT ’2000 Presentation 5

Software Product Lines Software Engineering Institute (CMU)

Software

Product

2Software

Product

3Software

Product

1

Market Strategy /

Application Domain

Architecture

Components

Pertain to

Share an

Are built from

Page 6: Component Based Approach to Scientific Workflow Management

Nigel Baker ACAT ’2000 Presentation 6

History of Reuse in Computing

subroutines modules objects components

patterns,

frameworks

models

adhoc reuse systematic reuse

large grain reuse

Page 7: Component Based Approach to Scientific Workflow Management

Nigel Baker ACAT ’2000 Presentation 7

Experiences of Reuse Our experience over the past 10 years of building Object

Oriented systems is that:- Most reuse has come from higher level design patterns (in recent

years captured and described in UML) Very little code has been reused, a small amount of class library

reuse mainly in the client user interface of systems

So why so little reuse at the code level? Because the underlying software technology moves so fast,

smalltalk, C++, Java, EJB, COM+, Active X, CORBA, C# We are in a Fashion Industry!

Page 8: Component Based Approach to Scientific Workflow Management

Nigel Baker ACAT ’2000 Presentation 8

Why UML Has Helped Provides a structure for problem solving: allows to

contemplate problems that won’t fit on the back of an envelope

Usually the great thing about standards is that there are lots to choose from. However UML is the universal OA&D modeling standard. Used by OMG companies and Microsoft.

UML is an OMG Standard and tightly coupled into OMG’s Distributed Object Architecture. UML 1.1 1997, UML 1.3 1999

Page 9: Component Based Approach to Scientific Workflow Management

Nigel Baker ACAT ’2000 Presentation 9

UML a Key Part of OMG OMA

UMLModeling CORBAservices

CORBAfacilities

Business Object Facility*

Common Business Objects*

CORBADomains

CORBADomains

CORBADomains

Me

ta-O

bje

ct F

aci

lity

SE

CU

RIT

Y

IDL Interfaces, Mappings, & ORB

Realtime*, Embedded* options

Interoperability: IIOP, Asynch*

Components*, Scripting*

Analysis &

Design;

Metadata

Page 10: Component Based Approach to Scientific Workflow Management

Nigel Baker ACAT ’2000 Presentation 10

Domains in the OMG OMA

CORBAservices

Horizontal CORBAfacilities

BOF, basic Business Objects & Framework

FinancialObjects

TransprtationObjects

E-CommerceObjects

HealthcareObjects

TelecomObjects

ManufctringObjects

Acc

ou

nti

ng

Ban

kin

g

Insu

ran

ce

PD

M

Tel

e N

etw

k M

gm

t

Sh

op

Flo

or

Au

to

ER

P

Med

ical

MP

I

Tel

e S

ervi

ces

Str

eam

Co

ntr

ol

EC

Ser

vice

s

E-P

aym

ent

Den

tal

Mar

ine

Rai

l

Off

er L

oc/

Tra

de

Inte

rmo

dal

Page 11: Component Based Approach to Scientific Workflow Management

Nigel Baker ACAT ’2000 Presentation 11

Metamodeling

typestype relationstype schemas

Domain X Domain Y

Set of constructs for OO information modelling

meta typesmeta relationsmeta schemas

Defines a language forspecifying metamodels

Defines a languagefor specifying aparticular informationdomain.

Page 12: Component Based Approach to Scientific Workflow Management

Nigel Baker ACAT ’2000 Presentation 12

What is a Design Pattern ?

A B CB

C

A

Problem

Solution

A Design Patternis a solution schema expressed in

terms of objects & classes for recurring design problems.

Describes (UML) the elements that make up the design, their relationships, responsibilities and collaborations.

Describes heuristics for use & applicability. (Not modeled in UML)

Page 13: Component Based Approach to Scientific Workflow Management

Nigel Baker ACAT ’2000 Presentation 13

What is a Design Pattern ? cont.. A Design Pattern

Documents proven design experience

Specifies concepts above the level of individual classes and objects

Provides a common vocabulary and concept understanding. Patterns have well known names.

UML 1.4 Notation

Page 14: Component Based Approach to Scientific Workflow Management

Nigel Baker ACAT ’2000 Presentation 14

What is a Framework ? UML 1.4 draft:

A Framework specifies a reusable architecture for all or part of a system.

May include reusable classes, patterns or templates.

When specialized for a particular application then called application frameworks.

<<framework>>

Notation

Page 15: Component Based Approach to Scientific Workflow Management

Nigel Baker ACAT ’2000 Presentation 15

What is a Component ? UML 1.4 draft:

A modular replacement & significant part of a system that packages implementation & exposes a set of interfaces.

It represents the physical implementation of part of the system, and may include software code( source, binary, executable) or their equivalents, such as scripts.

Typically implements one or more classes, and exposes one or more interfaces.

Notation

Alternative DefinitionA component is something that is selling really well at the moment.

Page 16: Component Based Approach to Scientific Workflow Management

Nigel Baker ACAT ’2000 Presentation 16

Why Components ?

Programming by assembly (manufacturing) rather than by development.

Reusing existing software parts. Allows reuse lower down the software engineering process.

Time to market It is in fashion!

Page 17: Component Based Approach to Scientific Workflow Management

Nigel Baker ACAT ’2000 Presentation 17

Specification to Realisation

B

C

A

Specification

Realisation

How does a class in UML become a component? There are many ways to do it! There are several component models

(EJB, COM+, CORBA CCM).The emphasis of these models is on implementation.

Page 18: Component Based Approach to Scientific Workflow Management

Nigel Baker ACAT ’2000 Presentation 18

EJB Example

HomeObject

RemoteObject

<<EJBContextObject>>

ContextObject

<<EJBEntityClass>>

StackImpl

<<EJBHomeInterface>>

StackHome

creat( ….)

FindbyPrimaryKey( ...)

<<EJBRemoteInterface>>

Stack

PushItem( ..)

PopItem(..)

call

Specification Elements

Realisation Elements

call

call

call

Page 19: Component Based Approach to Scientific Workflow Management

Nigel Baker ACAT ’2000 Presentation 19

UML Requirements UML model elements are required to describe

the relationship between specification and realization component constructs.

Relationship between component deployment elements and UML model elements.

UML extensions to be able to forward/reverse engineer from UML to components.

Page 20: Component Based Approach to Scientific Workflow Management

Nigel Baker ACAT ’2000 Presentation 20

UML Roadmap UML 1.4 Recommendations

support components at an earlier phase of the software life cycle

• Focal Class - core logic of components

• AuxiliaryClass - helper classes

clarify how subsystems, components and classes are combined

UML 2.0 (2002) Roadmap Improve notations and semantics to support

component development

Page 21: Component Based Approach to Scientific Workflow Management

Nigel Baker ACAT ’2000 Presentation 21

Component Development Methods

Catalysis complicated unfocused

Unified Process complicated limited view of components

KobrA product line engineering in mind component technology compatible

Page 22: Component Based Approach to Scientific Workflow Management

Nigel Baker ACAT ’2000 Presentation 22

Concluding Thoughts Component technology is still at the beginning of its

adoption curve. No mapping between UML and common

component technology at the moment. It appears that UML will evolve to meet the

requirements of components. Component based methodologies and Case Tools

are work in progress.