Nigel Baker UWE & CERN/EP-CMA Component Based Approach to Scientific Workflow Management The...
-
Upload
gervais-chambers -
Category
Documents
-
view
217 -
download
4
Transcript of Nigel Baker UWE & CERN/EP-CMA Component Based Approach to Scientific Workflow Management The...
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
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.
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.
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
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
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
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!
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
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
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
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.
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)
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
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
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.
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!
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.
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
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.
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
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
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.