Product Line Annotations with UML-F Wolfgang Pree Software Research Lab Univ. of Salzburg Austria Marcus Fontoura IBM Almaden Research, San.

Slides:



Advertisements
Similar presentations
Profiles Construction Eclipse ECESIS Project Construction of Complex UML Profiles UPM ETSI Telecomunicación Ciudad Universitaria s/n Madrid 28040,
Advertisements

CASE tools Upper CASE tools: support for the analysis and design Lower CASE tools: support for construction and maintenance 1980s… Nowadays… Integrated.
1 CIS224 Software Projects: Software Engineering and Research Methods Lecture 11 Brief introduction to the UML Specification (Based on UML Superstructure.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 2, Modeling with UML, Part 4 UML 2 Metamodel.
Department of Software and Computing Systems Physical Modeling of Data Warehouses using UML Sergio Luján-Mora Juan Trujillo DOLAP 2004.
IEC Substation Configuration Language and Its Impact on the Engineering of Distribution Substation Systems Notes Dr. Alexander Apostolov.
IBM Business Consulting Services © Copyright IBM Corporation 2006 Unified Process March 27, 2006 Chris Armstrong.
Use-case Modeling.
1 / 28 Harmony: An Approach and Tool for Combining Semi-formal and Formal Notations in Software Specification CS 791z Topics on Software Engineering Instructor’s.
UML CASE Tool. ABSTRACT Domain analysis enables identifying families of applications and capturing their terminology in order to assist and guide system.
Kari R. Schougaard, PhD Stud. Værktøjer og Teknikker, 2006 UNIVERSITY OF AARHUS Department of Computer Science Unified Modeling Language Visual language.
1/31 CS 426 Senior Projects Chapter 1: What is UML? Chapter 2: What is UP? [Arlow and Neustadt, 2005] January 22, 2009.
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.
UML Class Diagrams: Basic Concepts. Objects –The purpose of class modeling is to describe objects. –An object is a concept, abstraction or thing that.
Chapter 7: The Object-Oriented Approach to Requirements
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. The Factory Method Design Pattern (1) –A creational design.
Proceso kintamybių modeliavimas Modelling process variabilities Donatas Čiukšys.
What is UML? What is UP? [Arlow and Neustadt, 2005] January 23, 2014
Technical Overview.
SEG4110 – Advanced Software Design and Reengineering
1 An Analytical Evaluation of BPMN Using a Semiotic Quality Framework Terje Wahl & Guttorm Sindre NTNU, Norway Terje Wahl, 14. June 2005.
Faculty of Informatics and Information Technologies Slovak University of Technology Peter Kajsa and Ľubomír Majtás Design.
Slide 1 Wolfram Höpken RMSIG Reference Model Special Interest Group Second RMSIG Workshop Methodology and Process Wolfram Höpken.
Assessing the Suitability of UML for Modeling Software Architectures Nenad Medvidovic Computer Science Department University of Southern California Los.
Object-Oriented Modeling
Specializing and extending the UML
UML Profiles Eclipse ECESIS Project The UML Profile technology SOFTEAM 144 Ave des Champs Elysées Paris, France
Uml is made similar by the presence of four common mechanisms that apply consistently throughout the language. After constructing or developing the architecture.
Model Driven Development An introduction. Overview Using Models Using Models in Software Feasibility of MDA MDA Technologies The Unified Modeling Language.
A language to describe software texture in abstract design models and implementation.
Unified Modeling Language © 2002 by Dietrich and Urban1 ADVANCED DATABASE CONCEPTS Unified Modeling Language Susan D. Urban and Suzanne W. Dietrich Department.
UML Use Case Diagramming Guidelines. What is UML? The Unified Modeling Language (UML) is a standard language for specifying, visualizing, constructing,
1 Advanced Software Architecture Muhammad Bilal Bashir PhD Scholar (Computer Science) Mohammad Ali Jinnah University.
Dr. Darius Silingas | No Magic, Inc. Domain-Specific Profiles for Your UML Tool Building DSL Environments with MagicDraw UML.
Unified Modeling Language. Object Oriented Methods ► What are object-oriented (OO) methods?  OO methods provide a set of techniques for analyzing, decomposing,
Unified Modelling Language (UML) Software Engineering Lab. Sharif University of Technology.
ITEC324 Principle of CS III Chapter 2 (Horstmann’s Book) – Part 1 The Object-Oriented Design Process Hwajung Lee.
1 Technical & Business Writing (ENG-715) Muhammad Bilal Bashir UIIT, Rawalpindi.
Modeling the ODP Computational Viewpoint with UML 2.0: The Templeman Library Example José Raúl Romero, Antonio Vallecillo Universidad de Málaga, Spain.
IBM Software Group ® Managing Reusable Assets Using Rational Suite Shimon Nir.
1 Unified Modeling Language, Version 2.0 Chapter 2.
University of Twente Meta Patterns Common Principles behind Design Patterns & OO Frameworks Lodewijk M.J. Bergmans.
® IBM Software Group © 2007 IBM Corporation Module 1: Getting Started with Rational Software Architect Essentials of Modeling with IBM Rational Software.
CSCI 3428: Software Engineering Tami Meredith UML Unified Modeling Language.
Banaras Hindu University. A Course on Software Reuse by Design Patterns and Frameworks.
UML Profile BY RAEF MOUSHEIMISH. Background Model is a description of system or part of a system using well- defined language. Model is a description.
Technical Overview. What Is MagicDraw?  Business Analysts  Software Analysts  Programmers  QA Engineers  Documentation Writers MagicDraw is a powerful.
Session 1 What Is the UML? Written by Thomas A. Pender Published by Wiley Publishing, Inc. October 5, 2011 Presented by Kang-Pyo Lee.
Michael Radloff, Martin Schultz 12th International Conference BPM 2014 Modeling Concepts for Internal Controls in Business Processes – an Empirically Grounded.
© 2010 IBM Corporation RESTFul Service Modelling in Rational Software Architect April, 2011.
1 Copyright © 2013 by Lockheed Martin Corporation 8/1/2013 John Watson Lockheed Martin Document Definition and Generation within a SysML Model.
Aspect-oriented Code Generation Approaches Abid Mehmood & Dayang N. A. Jawawi Department of Software Engineering Faculty of Computer Science and Information.
INTRODUCTION: This report contains the results of the International Council of System Engineer (INCOSE) UML/SySML Team efforts to produce UML/SySML Architecture.
Slide 1 Wolfram Höpken RMSIG Reference Model Special Interest Group Wolfram Höpken IFITT RMSIG.
Security Issues Formalization
Object-Oriented Modeling with UML
Systems Analysis and Design With UML 2
CMPE 135: Object-Oriented Analysis and Design October 24 Class Meeting
Introduction to Eclipse Process Framework: EPF Composer and OpenUP
Seminar 1 Design of Informatics Systems
Visualizing Design Patterns in Their Applications and Compositions
UML Class Diagrams: Basic Concepts
UML profiles.
Software Design Lecture : 15.
Software Design Lecture : 14.
Chapter 11 user support.
ITEC324 Principle of CS III
ITEC324 Principle of CS III
Presentation transcript:

Product Line Annotations with UML-F Wolfgang Pree Software Research Lab Univ. of Salzburg Austria Marcus Fontoura IBM Almaden Research, San Jose U.S.A. Bernhard Rumpe Software Engineering Munich Tech. University Germany

© 2002, M. Fontoura, W. Pree, B. Rumpe 2SPLC2, San Diego, CA, USA Contents l Motivation l UML-F l Presentation tags and basic modeling tags l Tags for the essential framework construction principles l GoF framework pattern tags l Tags for other pattern catalogs and domain-specific patterns

© 2002, M. Fontoura, W. Pree, B. Rumpe 3SPLC2, San Diego, CA, USA Motivation l What is a profile? l Why UML-F? l Goals

© 2002, M. Fontoura, W. Pree, B. Rumpe 4SPLC2, San Diego, CA, USA What is a UML profile? an extension of the UML standard language with specific elements A profile provides l new notational elements, and usually l specializes the semantics of some elements. l It may also restrict the use of UML elements.

© 2002, M. Fontoura, W. Pree, B. Rumpe 5SPLC2, San Diego, CA, USA Why UML-F? It takes a considerable effort to learn and understand a framework. Standard UML does not offer the notational elements tailored to that purpose. The extensions summarized as UML-F profile support framework development and adaptation. The UML-F profile focuses on pinpointing a framework’s variation points.

© 2002, M. Fontoura, W. Pree, B. Rumpe 6SPLC2, San Diego, CA, USA Goals of UML-F l UML-F provides the notational elements to precisely annotate and document design patterns. l UML-F is itself structured in the spirit of frameworks, i.e., an extensible profile. l UML-F comprises a lean, memonic set of notational elements. l UML-F relies on the UML standard, that is, UML-F extends UML using existing UML extension mechanisms. l The UML-F notational elements are adequate for being integrated in UML tool environments.

© 2002, M. Fontoura, W. Pree, B. Rumpe 7SPLC2, San Diego, CA, USA UML-F

© 2002, M. Fontoura, W. Pree, B. Rumpe 8SPLC2, San Diego, CA, USA UML-F extension structure

© 2002, M. Fontoura, W. Pree, B. Rumpe 9SPLC2, San Diego, CA, USA UML-F diagrams UML-F only enhances the following UML diagrams: l class/object diagrams l sequence diagrams

© 2002, M. Fontoura, W. Pree, B. Rumpe 10SPLC2, San Diego, CA, USA UML-F tag mechanism l UML 1.3/1.4 provides «stereotypes» and {tag=value} pairs l stereotypes are restricted: no value attached, only one per model element l Tagged value pairs are more flexible and combinable l UML-F unifies both in the “tag-mechanism”, by writing l «tag:5» and {tag=5} interchangeably l «tag» is short for «tag:True» l «tag1,tag2» is OK l Special forms of tags, e.g. “©” instead of «complete:True» l Tag values have types (e.g. Boolean,String,Integer)

© 2002, M. Fontoura, W. Pree, B. Rumpe 11SPLC2, San Diego, CA, USA Presentation tags

© 2002, M. Fontoura, W. Pree, B. Rumpe 12SPLC2, San Diego, CA, USA Presentation tags (I)

© 2002, M. Fontoura, W. Pree, B. Rumpe 13SPLC2, San Diego, CA, USA Presentation tags (II)

© 2002, M. Fontoura, W. Pree, B. Rumpe 14SPLC2, San Diego, CA, USA Presentation tags (III) white rectangle: the method is inherited and not redefined gray rectangle: the method is either newly defined, or it is inherited, but completely redefined half gray / half white rectangle: the method is redefined, but uses the inherited method through a super() call don’t care rectangle: the diagram does not reveal any information (can actually be either of the above three)

© 2002, M. Fontoura, W. Pree, B. Rumpe 15SPLC2, San Diego, CA, USA Basic modeling tags

© 2002, M. Fontoura, W. Pree, B. Rumpe 16SPLC2, San Diego, CA, USA Basic modeling tags (I)

© 2002, M. Fontoura, W. Pree, B. Rumpe 17SPLC2, San Diego, CA, USA Basic modeling tags (II)

© 2002, M. Fontoura, W. Pree, B. Rumpe 18SPLC2, San Diego, CA, USA Basic modeling tags (III)

© 2002, M. Fontoura, W. Pree, B. Rumpe 19SPLC2, San Diego, CA, USA Basic modeling tags (IV)

© 2002, M. Fontoura, W. Pree, B. Rumpe 20SPLC2, San Diego, CA, USA UML-F tags for the essential framework construction principles

© 2002, M. Fontoura, W. Pree, B. Rumpe 21SPLC2, San Diego, CA, USA Template and hook tags (I)

© 2002, M. Fontoura, W. Pree, B. Rumpe 22SPLC2, San Diego, CA, USA Template and hook tags (II) possible tool support:

© 2002, M. Fontoura, W. Pree, B. Rumpe 23SPLC2, San Diego, CA, USA Tags for Unification (I) tags are derived from the structure example:

© 2002, M. Fontoura, W. Pree, B. Rumpe 24SPLC2, San Diego, CA, USA Tags for Unification (II) rationale behind the tags:

© 2002, M. Fontoura, W. Pree, B. Rumpe 25SPLC2, San Diego, CA, USA Tags for Separation example:

© 2002, M. Fontoura, W. Pree, B. Rumpe 26SPLC2, San Diego, CA, USA UML-F tags for the GoF framework patterns

© 2002, M. Fontoura, W. Pree, B. Rumpe 27SPLC2, San Diego, CA, USA UML-F extension structure

© 2002, M. Fontoura, W. Pree, B. Rumpe 28SPLC2, San Diego, CA, USA Strategy pattern (I) Structure (according to GoF book): «Strategy–Context», «Strategy–anOp», «Strategy–contextInterface», «Strategy–strategy», «Strategy–Strategy», «Strategy–algInt», «Strategy–ConcreteStrategy», «Strategy–algInt»

© 2002, M. Fontoura, W. Pree, B. Rumpe 29SPLC2, San Diego, CA, USA Strategy pattern (II) Sample annotation:

© 2002, M. Fontoura, W. Pree, B. Rumpe 30SPLC2, San Diego, CA, USA UML-F extension structure

© 2002, M. Fontoura, W. Pree, B. Rumpe 31SPLC2, San Diego, CA, USA Domain-specific patterns or other catalog pattterns