Design Patterns for Integrating Product and Process Models - PowerPoint PPT Presentation

About This Presentation
Title:

Design Patterns for Integrating Product and Process Models

Description:

Design Patterns for Integrating Product and Process Models. The C.R.I.S.T.A.L. Project ... and distributed activities (1999-2006 CERN, Italy, UK, Russia, China) ... – PowerPoint PPT presentation

Number of Views:60
Avg rating:3.0/5.0
Slides: 19
Provided by: nigel4
Category:

less

Transcript and Presenter's Notes

Title: Design Patterns for Integrating Product and Process Models


1
Design Patterns for Integrating Product and
Process Models
  • The C.R.I.S.T.A.L. Project
  • (Cooperative Repositories Information System
    for Tracking Assembly Lifecycle)CERN,
    LAPP(Annecy), KFKI(Budapest), UWE(Bristol)

CHEP2000 Padova, February 2000
2
Motivation for Design Patterns
  • There are many concepts that support software
    construction. However most of these programming
    paradigms and methodologies focus on creating
    software from scratch.
  • Traditional software methods do not tell you how
    to solve individual software construction
    problems.
  • Solving such problems is left to intuition and
    experience.

3
An Observation
  • When experts work on a particular problem it is
    unusual for them to tackle it by inventing a new
    solution which is completely distinct from
    existing ones.
  • Where possible they reuse solutions that have
    worked in the past.

4
What is a Design Pattern ?
  • A Design Pattern
  • is 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)

Problem
Solution
5
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.

Problem
Solution
6
A Design Pattern
  • Is NOT
  • About designs such as linked lists, trees, hash
    tables that can be encoded as classes and reused.
  • and does not imply a mapping to code generation,
    code execution, code portability, code
    customization, code reusability. (Framework
    customized design patterns implemented in an OO
    language)

Problem
Solution
7
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.

8
Design Complexity
  • System complexity (Millions of parts, Terabytes
    of data)
  • Long running and distributed activities
    (1999-2006 CERN, Italy, UK, Russia, China)
  • Detector evolution versioning.
  • Interoperability with other (legacy) systems and
    future systems yet to be built.
  • Generic application to assembling other types of
    systems.

9

Managing Complexity
  • To manage the complexity changing requirements
    we have built an object oriented architecture
    using OO Analysis OO Design techniques which
    leverage the power of
  • metamodels and metamodeling
  • multi-layer architectures
  • design patterns
  • Use the UML to describe the software
    architecture.

10
Metamodeling
Set of constructs for OO information modelling
meta types meta relations meta schemas
Defines a language for specifying metamodels
Defines a language for specifying a particular
information domain.
types type relations type schemas
Domain X
Domain Y
11
OMG Metamodel Architecture
Layers
Content of a Layer
Architectural Components of a Layer
MOF Meta-Meta-model
Meta-Meta-Model Layer
defines
manages
Workflow Meta-Model
Meta-Model Layer
Meta-Object Facility
defines
manages
Workflow Schemes or Models
Workflow Facility
Model Layer
defines
manages
Workflow Execution
Workflow Instances
Instance Layer
Components
12
CRISTAL Metamodel
  • At the metamodel layer the CRISTAL metamodel is
    decomposed into several logical packages

13
CRISTAL Model
14
Patterns for Managing Metamodels
Patterns to Manage Instances
Patterns to Manage Descriptions
15
Patterns for Managing Metamodels cont
  • Item Description pattern
  • Shows the connection between consecutive layers
  • Homomorphism pattern
  • Due to relationships between ItemDescriptions
  • Version pattern
  • How to manage the versioning of ItemDescriptions
  • Directed Acyclic Graph (DAG) pattern
  • When ItemDescriptions are reused for different
    compositions

16
Patterns for Managing Metamodels cont
  • Enriched Directed Acyclic Graph pattern
  • The CompositItemDescription holds semantic
    (layout) for its composition
  • Publish/Subscribe pattern
  • handles dependencies between ItemDescriptions and
    between different layers
  • Enriched Tree pattern
  • Tree of Items is generated from an Enriched DAG
  • Enriched Homomorphism pattern
  • How the PDM/WfM integration can take place

17
Concluding Thoughts 1
  • At times modeling with UML can be tedious
  • Older software engineers at first skeptical of
    design patterns
  • The use of design patterns has
  • provided a higher level medium for design team to
    communicate, produce and reuse solutions
  • identified common PDM and WfM patterns which have
    aided integration of product and process models
  • helped manage the complexity

18
Concluding Thoughts 2
  • The metamodel Architecture Pattern
  • Is a proven infrastructure for defining semantics
    required by complex models and has several
    advantages
  • Allows building of extensible systems
  • Provides flexibility reusability of definitions
  • Helps manage complexity
  • Allows co-existence of multiple versions of data
  • Avoids schema evolution
Write a Comment
User Comments (0)
About PowerShow.com