Download presentation
Presentation is loading. Please wait.
Published byArabella Hoover Modified over 8 years ago
1
Nigel Baker UWE & CERN/EP-CMA Design Patterns for Integrating Product and Process Models 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) CHEP’2000 Padova, February 2000
2
Nigel Baker CHEP’2000 Presentation 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
Nigel Baker CHEP’2000 Presentation 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
Nigel Baker CHEP’2000 Presentation 4 What is a Design Pattern ? ABC B C A Problem Solution 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)
5
Nigel Baker CHEP’2000 Presentation 5 What is a Design Pattern ? cont.. ABC B C A Problem Solution 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.
6
Nigel Baker CHEP’2000 Presentation 6 A Design Pattern ABC B C A Problem Solution 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)
7
Nigel Baker CHEP’2000 Presentation 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
Nigel Baker CHEP’2000 Presentation 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
Nigel Baker CHEP’2000 Presentation 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
Nigel Baker CHEP’2000 Presentation 10 Metamodeling types type relations type schemas Domain X Domain Y 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.
11
Nigel Baker CHEP’2000 Presentation 11 OMG Metamodel Architecture Workflow Meta-Model Workflow Schemes or Models Workflow Instances defines Workflow Facility Workflow Execution Components Meta-Model Layer Model Layer Instance Layer LayersContent of a LayerArchitectural Components of a Layer defines manages MOF Meta-Meta-model Meta-Object Facility Meta-Meta-Model Layer manages defines
12
Nigel Baker CHEP’2000 Presentation 12 CRISTAL Metamodel At the metamodel layer the CRISTAL metamodel is decomposed into several logical packages
13
Nigel Baker CHEP’2000 Presentation 13 CRISTAL Model
14
Nigel Baker CHEP’2000 Presentation 14 Patterns for Managing Metamodels Patterns to Manage Descriptions Patterns to Manage Instances
15
Nigel Baker CHEP’2000 Presentation 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
Nigel Baker CHEP’2000 Presentation 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
Nigel Baker CHEP’2000 Presentation 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
Nigel Baker CHEP’2000 Presentation 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
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.