Design Patterns for Metamodel Design Domain-Specific Modeling Workshop Portland, Oregon October 23, 2011 Hyun Cho and Jeff Gray University of Alabama Department.

Slides:



Advertisements
Similar presentations
UML an overview.
Advertisements

A Brief Introduction. Acknowledgements  The material in this tutorial is based in part on: Concurrency: State Models & Java Programming, by Jeff Magee.
Presented by: Thabet Kacem Spring Outline Contributions Introduction Proposed Approach Related Work Reconception of ADLs XTEAM Tool Chain Discussion.
Practical Business Modeling in the Unified Process Tom Morgan Software Architect, Fidelity National Information Services
Object-Oriented Analysis and Design
Introduction To System Analysis and Design
Software Testing and Quality Assurance
7M701 1 Software Engineering Object-oriented Design Sommerville, Ian (2001) Software Engineering, 6 th edition: Chapter 12 )
Automated Analysis and Code Generation for Domain-Specific Models George Edwards Center for Systems and Software Engineering University of Southern California.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 8 Slide 1 System models.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 1 System models.
Knowledge Acquisitioning. Definition The transfer and transformation of potential problem solving expertise from some knowledge source to a program.
Irwin/McGraw-Hill Copyright © 2004 The McGraw-Hill Companies. All Rights reserved Whitten Bentley DittmanSYSTEMS ANALYSIS AND DESIGN METHODS6th Edition.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 1 System models September 29, 2008.
Copyright 2004 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Second Edition Joseph S. Valacich Joey F. George Jeffrey A. Hoffer Appendix.
UML Sequence Diagrams Eileen Kraemer CSE 335 Michigan State University.
Course Instructor: Aisha Azeem
Chapter 10: Architectural Design
Department of Computer Science 1 CSS 496 Business Process Re-engineering for BS(CS)
Department of Computer Science 1 CSS 496 Business Process Re-engineering for BS(CS)
Unified Modeling Language
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 1 System models l Abstract descriptions of systems whose requirements are being.
CASE Tools And Their Effect On Software Quality Peter Geddis – pxg07u.
An Information Theory based Modeling of DSMLs Zekai Demirezen 1, Barrett Bryant 1, Murat M. Tanik 2 1 Department of Computer and Information Sciences,
Chapter 10 Architectural Design
Yu Sun 1, Zekai Demirezen 1, Marjan Mernik 2, Jeff Gray 1, Barret Bryant 1 1 Department of Computer and Information Sciences, University of Alabama at.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 1 System models l Abstract descriptions of systems whose requirements are being.
Chapter 4 System Models A description of the various models that can be used to specify software systems.
System models. System modelling System modelling helps the analyst to understand the functionality of the system and models are used to communicate with.
CIT UPES | Sept 2013 | Unified Modeling Language - UML.
System models Abstract descriptions of systems whose requirements are being analysed Abstract descriptions of systems whose requirements are being analysed.
Knowledge representation
Assessing the Suitability of UML for Modeling Software Architectures Nenad Medvidovic Computer Science Department University of Southern California Los.
RUP Design RUP Artifacts and Deliverables
Key Challenges for Modeling Language Creation by Demonstration Hyun Cho, Jeff Gray Department of Computer Science University of Alabama Jules White Bradley.
Copyright 2001 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Joseph S. Valacich Joey F. George Jeffrey A. Hoffer Appendix A Object-Oriented.
Introduction To System Analysis and Design
Programming in Java Unit 3. Learning outcome:  LO2:Be able to design Java solutions  LO3:Be able to implement Java solutions Assessment criteria: 
Model-Driven Analysis Frameworks for Embedded Systems George Edwards USC Center for Systems and Software Engineering
Design engineering Vilnius The goal of design engineering is to produce a model that exhibits: firmness – a program should not have bugs that inhibit.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 8 Slide 1 Object-oriented and Structured System Models.
Chapter 7 System models.
Slide 1 System models. Slide 2 Objectives l To explain why the context of a system should be modelled as part of the RE process l To describe behavioural.
System models l Abstract descriptions of systems whose requirements are being analysed.
Pertemuan 19 PEMODELAN SISTEM Matakuliah: D0174/ Pemodelan Sistem dan Simulasi Tahun: Tahun 2009.
Modified by Juan M. Gomez Software Engineering, 6th edition. Chapter 7 Slide 1 Chapter 7 System Models.
Requirements as Usecases Capturing the REQUIREMENT ANALYSIS DESIGN IMPLEMENTATION TEST.
Requirements Capture. Four Steps of requirements capture List candidate requirements Understand system context Capture functional requirements Capture.
UML diagrams What is UML UML diagrams –Static modeoing –Dynamic modeling 1.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 14 Slide 1 Object-oriented Design.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 1 Chapter 7 System Models.
UML-1 8. Capturing Requirements and Use Case Model.
 What is Modeling What is Modeling  Why do we Model Why do we Model  Models in OMT Models in OMT  Principles of Modeling Principles of Modeling 
UML as a Specification Language for Embedded Systems. By, Mir Ahmed Ali, Asst. Professor, ECM department, SNIST. By, Prof. Narsiah sir, Director of School.
Logical view –show classes and objects Process view –models the executables Implementation view –Files, configuration and versions Deployment view –Physical.
Object-Oriented Modeling: Static Models. Object-Oriented Modeling Model the system as interacting objects Model the system as interacting objects Match.
Future Work  Formal specification of modeling language semantic is key issue  Reliance on well-established formal models of computation (i.e. finite.
MODEL-BASED SOFTWARE ARCHITECTURES.  Models of software are used in an increasing number of projects to handle the complexity of application domains.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 1 System models.
Chapter 5 System Modeling. What is System modeling? System modeling is the process of developing abstract models of a system, with each model presenting.
21/1/ Analysis - Model of real-world situation - What ? System Design - Overall architecture (sub-systems) Object Design - Refinement of Design.
 To explain why the context of a system should be modelled as part of the RE process  To describe behavioural modelling, data modelling and object modelling.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 1 System models.
Model-Driven Analysis Frameworks for Embedded Systems
System models October 5, 2005.
Introduction To System Analysis and Design PART 2
Design of Transmission Pipeline Modelling Language
Automated Analysis and Code Generation for Domain-Specific Models
Software Analysis.
Presentation transcript:

Design Patterns for Metamodel Design Domain-Specific Modeling Workshop Portland, Oregon October 23, 2011 Hyun Cho and Jeff Gray University of Alabama Department of Computer Science This work supported in part by NSF CAREER #

Domain-Specific Modeling Languages  Customized to a specific domain  Designed and implemented by domain-driven needs and abstractions  Components of a DSML 2

Domain-Specific Modeling Languages (cont.)  Benefits of DSMLs  Easier to learn and provide rich expressiveness  Evidence that DSMLs increase productivity and improve quality  Several success stories, but not widespread adoption  What is the reason? Perceived reasons by some:  High development cost and complex development process  Lack of vendor support  Lack of robustness  Lack of standardization  Requires both domain knowledge and language development expertise 3 The quality of DSMLs largely depends on a designer’s domain experiences and language development expertise

Research Hypothesis  Metamodels can be designed (or inferred) by reusing existing metamodel concepts that represent commonly recurring metamodel design issues across multiple domains.  Such reuse of metamodeling experience may improve the quality of metamodel design as well as achieve a significant increase in productivity in the development of DSMLs. 4

Approach for Identifying Metamodel Design Patterns  Collect various types of DSMLs  Identify characteristics of DSML and its modeling elements  Analyze commonality of DSMLs  Identify candidate metamodel design problems  Collect and review metamodel samples  Propose metamodel design patterns 5

Collection of DSMLs Examined DomainDiagramsBrief Description Concurrent Discrete Event System Modeling Petri NetModeling systems with concurrency and resource sharing Data ModelingERDModel the logical structure of database Project Management Gantt Chart Model project activities with relevant information (i.e., duration, cost, …) PERT Chart Identify the critical path of the project by modeling the sequence of tasks Electronic Circuit Design Schematic Diagram Represent how electronic components are connected with others PCB Layout Show the placement of electronic components on printed circuit board Molecular Modeling-Model the structures and reactions of molecules SW Design FlowchartModel process or algorithm Component Diagram Represent static structure of components and their relations UseCase Diagram Describe system functionalities or behaviors with UseCase and Actor Class Diagram Describe the static structure of the system in terms of classes 6

Identify Characteristics of DSMLs  Context Diagram Entity (Classifier) Relationship 7

Identify characteristics of DSMLs 8  Electronic Circuit Design: Palm III Charger Schematic Diagram PCB Layout Diagram Images are copied from

Identify characteristics of DSMLs (cont.) 9 UML 1.x UML 2.x Images are copied from  Component Diagram

Identify characteristics of DSMLs (cont.) 10 Image is copied from  Component Diagram

Identify characteristics of DSMLs (cont.) 11  UseCase Diagram Image is copied from

Features of DSMLs 12

Questions for Identifying Candidate Patterns  What could be a primitive or base metamodel pattern, which could be common ground for metamodel design?  How to extend the base metamodel if a DSML has complicated language constructs?  For example, a DSML can have typed relationships such as include and extend in UseCase diagram?  How to represent boundedness in metamodel?  How to design the metamodel to describe containment and nesting? 13

References for Metamodel Design  OMG UML 2 Superstructure,  OMG Business Process Model And Notation (BPMN) Ver. 2.0,  QImPrESS Service Architecture Meta-Model, service_architecture_meta-model.pdf  Ouardani, A., Esteban, P., Paludetto, M., & Pascal, J. C A Meta-modeling Approach for Sequence Diagrams to Petri Nets Transformation within the requirements validation process. In Proceedings of the European Simulation and Modeling Conference, pp , Toulouse, France  Web Pages 14

Base Metamodel Pattern  What could be a primitive or base metamodel pattern, which could be common ground for metamodel design?  How to represent boundedness in metamodel?  Applicable for simple Box-and-Line style DSMLs  Most common pattern for early stage of DSML development  Useful for Prototyping DSML  Evaluation Points  none 15

Metamodel with (sub)types Pattern  How to extend the base metamodel if a DSML has complicated language constructs?  Extension of base metamodel design pattern  Add more expressiveness to DSMLs  Semantics of each relationship is required to enforce behaviors and properties  Evaluation Point  Association point between Classifiers and Relationships 16

Containment/Nesting Pattern  How to design the metamodel to describe containment and nesting?  Some DSMLs may contain or nest modeling elements to control the abstraction level  Can focus on core thoughts by eliminating unnecessary details or give more descriptions by showing details  Evaluation Point  Comprehensibility and Extendibility 17

Application of Metamodel Design Patterns  Composition-based metamodel development 18 Typed Relationship Classifier Containment

Application of Metamodel Design Patterns  Metamodel Inference  Metamodel can be inferred from a set of model examples through grammar inference  To infer accurate metamodel, a large set of domain examples, both positive and negative examples  But, preparing a large set of domain examples are practically difficult  Metamodel design patterns can be used as a common sample data 19

Expected benefits of Metamodel Design Patterns 20  Avoid duplication of metamodel design for recurring design problems  Keep high quality metamodel fragments  Guide and Recognize key patterns and best-practices of metamodel design  Reduce time-to-market for developing new DSMLs

This work supported in part by NSF CAREER # Thank you for your attention