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.

Slides:



Advertisements
Similar presentations
Major Influences on the Design of ODM Dan Chang (IBM) Elisa Kendall (Sandpiper) MDSW 2004.
Advertisements

Object-Oriented Application Frameworks Much of the cost and effort stems from the continuous re- discovery and re-invention of core concepts and components.
Language Specification using Metamodelling Joachim Fischer Humboldt University Berlin LAB Workshop Geneva
Profiles Construction Eclipse ECESIS Project Construction of Complex UML Profiles UPM ETSI Telecomunicación Ciudad Universitaria s/n Madrid 28040,
CASE tools Upper CASE tools: support for the analysis and design Lower CASE tools: support for construction and maintenance 1980s… Nowadays… Integrated.
UML an overview.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 2, Modeling with UML, Part 4 UML 2 Metamodel.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 12Slide 1 Software Design l Objectives To explain how a software design may be represented.
ARCH-05 Application Prophecy UML 101 Peter Varhol Principal Product Manager.
Modeling Process-Oriented Integration of Services Using Patterns and Pattern Primitives Uwe Zdun and Schahram Dustdar Distributed Systems Group Institute.
1 IBM SanFrancisco Product Evaluation Negotiated Option Presentation By Les Beckford May 2001.
Domain-Specific Software Engineering (DSSE). Software Engineering Concerns  There are many of them  “Classical” software architecture research has focused.
1 UML – an overview What is UML? UML stands for Unified Modelling Language. ”The Unified Modelling Language is a visual language for specifying, constructing.
Introduction to Software Architecture. What is Software Architecture?  It is the body of methods and techniques that help us to manage the complexities.
HAS. Patterns The use of patterns is essentially the reuse of well established good ideas. A pattern is a named well understood good solution to a common.
Eindhoven Universityof Technology The Netherlands.
1/31 CS 426 Senior Projects Chapter 1: What is UML? Chapter 2: What is UP? [Arlow and Neustadt, 2005] January 22, 2009.
© Copyright Eliyahu Brutman Programming Techniques Course.
FREMA: e-Learning Framework Reference Model for Assessment Design Patterns for Wrapping Similar Legacy Systems with Common Service Interfaces Yvonne Howard.
Architectural Styles, Design Patterns, and Objects Architectural Styles, Design Patterns, and Objects By Robert T. Monroe, Andrew Kompanek, Ralph Melton,
Querying Large Physics Data Sets Over an Information Grid How can we ensure that we have adequate information available over Grids to resolve our physics.
1 CS 426 Senior Projects Chapter 1: What is UML? Chapter 2: What is UP? [Arlow and Neustadt, 2002] January 26, 2006.
1 An introduction to design patterns Based on material produced by John Vlissides and Douglas C. Schmidt.
HL7 UK 2003 (c) Abies Ltd Modelling Clinical Information Using UML Tim Benson Abies Ltd
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 1 System models l Abstract descriptions of systems whose requirements are being.
What is UML? What is UP? [Arlow and Neustadt, 2005] January 23, 2014
Design Patterns OOD. Course topics Design Principles UML –Class Diagrams –Sequence Diagrams Design Patterns C#,.NET (all the course examples) Design Principles.
Slide 1 Wolfram Höpken RMSIG Reference Model Special Interest Group Second RMSIG Workshop Methodology and Process Wolfram Höpken.
TC Methodology Massimo Cossentino (Italian National Research Council) Radovan Cervenka (Whitestein Technologies)
An Introduction to Software Architecture
Nigel Baker UWE & CERN/EP-CMA Component Based Approach to Scientific Workflow Management The C.R.I.S.T.A.L. Project ( C ooperative R epositories & I nformation.
Introduction to MDA (Model Driven Architecture) CYT.
Unified Modeling Language, Version 2.0
I T & S A e r o s p a c eD e f e n c e THALES Research & Technology THALES recommendations for the final OMG standard on Query / Views / Transformations.
2nd TTCN-3 User Conference, June The TTCN-3 Metamodel – A Basis for Tool Integration Ina Schieferdecker TU Berlin/Fraunhofer Fokus Hajo Eichler,
What is MOF? The Meta Object Facility (MOF) specification provides a set of CORBA interfaces that can be used to define and manipulate a set of interoperable.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse.
Modelling Class T16: Conceptual Modelling – Architecture Image from
UML diagrams What is UML UML diagrams –Static modeoing –Dynamic modeling 1.
Unified Modeling Language* Keng Siau University of Nebraska-Lincoln *Adapted from “Software Architecture and the UML” by Grady Booch.
Modeling Component-based Software Systems with UML 2.0 George T. Edwards Jaiganesh Balasubramanian Arvind S. Krishna Vanderbilt University Nashville, TN.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 14 Slide 1 Object-oriented Design.
1 COMP 350: Object Oriented Analysis and Design Lecture 1Introduction References: Craig Larman Chapter 1.
UML Use Case Diagramming Guidelines. What is UML? The Unified Modeling Language (UML) is a standard language for specifying, visualizing, constructing,
Computing and SE II Chapter 9: Design Methods and Design Models Er-Yu Ding Software Institute, NJU.
Sheet 1 DocEng’03, Grenoble, November 2003 Model Driven Architecture based XML Processing Ivan Kurtev, Klaas van den Berg University of Twente, the Netherlands.
SPE-RFI-R : FEB.1999 : NUL-ITD-Iwata 2-01 Needs for Software Development Model Hiromichi Iwata Information Technologies.
ICT EMMSAD’05 13/ Assessing Business Process Modeling Languages Using a Generic Quality Framework Anna Gunhild Nysetvold* John Krogstie *, § IDI,
Architectural Styles, Design Patterns, and Objects Joe Paulowskey.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 1 System models.
® IBM Software Group © 2004 IBM Corporation Developing an SOA with RUP and UML 2.0 Giles Davies.
UML Diagrams for Caradon developers Daniel DG Moth Core Development Group, Research Student University of Brighton, MSc Object Oriented Software Technology.
1 Chapter 5:Design Patterns. 2 What are design pattern?  Schematic description of design solution to recurring problems in software design and,  Reusable.
1 Technical & Business Writing (ENG-715) Muhammad Bilal Bashir UIIT, Rawalpindi.
SOFTWARE ENGINEERING. Objectives Have a basic understanding of the origins of Software development, in particular the problems faced in the Software Crisis.
Ontologies Reasoning Components Agents Simulations An Overview of Model-Driven Engineering and Architecture Jacques Robin.
Elaboration popo.
UML Diagrams By Daniel Damaris Novarianto S..
What is UML? What is UP? [Arlow and Neustadt, 2005] October 5, 2017
OO Methodology OO Architecture.
UML Diagrams Jung Woo.
Software Architecture & Design Pattern
Implementing Language Extensions with Model Transformations
UML profiles.
Constructing MDA-based Application Using Rational XDE for .NET
An Introduction to Software Architecture
Ivan Kurtev, Klaas van den Berg Software Engineering Group
Implementing Language Extensions with Model Transformations
Chapter 8, Design Patterns Introduction
Software Architecture & Design
Presentation transcript:

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

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.

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.

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)

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.

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)

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.

Nigel Baker CHEP’2000 Presentation 8 Design Complexity System complexity (Millions of parts, Terabytes of data) Long running and distributed activities ( 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.

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.

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.

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

Nigel Baker CHEP’2000 Presentation 12 CRISTAL Metamodel  At the metamodel layer the CRISTAL metamodel is decomposed into several logical packages

Nigel Baker CHEP’2000 Presentation 13 CRISTAL Model

Nigel Baker CHEP’2000 Presentation 14 Patterns for Managing Metamodels Patterns to Manage Descriptions Patterns to Manage Instances

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

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

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

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