Adoption Participants in the adoption group Heiko Kern Parastoo Mohagheghi Manuel Wimmer Juha Pärssinen Juha-Pekka Tolvanen Laurent Safa Sven Braun Gerardo.

Slides:



Advertisements
Similar presentations
Chapter 11 user support. Issues –different types of support at different times –implementation and presentation both important –all need careful design.
Advertisements

Software Modeling SWE5441 Lecture 3 Eng. Mohammed Timraz
The Hard Real-Time Unified Modeling Language (HRT-UML) method provides a comprehensive solution to the modeling of Hard Real Time systems. HRT-UML incorporates.
Using UML, Patterns, and Java Object-Oriented Software Engineering Royce’s Methodology Chapter 16, Royce’ Methodology.
Programming Distributed Systems Lab Institute of Computer Science University of Augsburg Universitätsstraße 14, D Augsburg Tel.: (+49) 821/ ,
Introduction To System Analysis and Design
UML CASE Tool. ABSTRACT Domain analysis enables identifying families of applications and capturing their terminology in order to assist and guide system.
© Copyright Eliyahu Brutman Programming Techniques Course.
1 Conceptual Modeling of Topic Maps with ORM Versus UML Are D. Gulbrandsen The XML group, Center for Information Technology Services, University of Oslo,
Common Mechanisms in UML
Generative Programming. Generic vs Generative Generic Programming focuses on representing families of domain concepts Generic Programming focuses on representing.
Programming by Example using Least General Generalizations Mohammad Raza, Sumit Gulwani & Natasa Milic-Frayling Microsoft Research.
Visualization By: Simon Luangsisombath. Canonical Visualization  Architectural modeling notations are ways to organize information  Canonical notation.
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
1. Learning Outcomes At the end of this lecture, you should be able to: –Define the term “Usability Engineering” –Describe the various steps involved.
XML, DITA and Content Repurposing By France Baril.
Chapter 6– Artifacts of the process
Objects What are Objects Observations
Essence and Accident in Software Engineering By: Mike Hastings.
Software Development Process
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse.
1 An Analytical Evaluation of BPMN Using a Semiotic Quality Framework Terje Wahl & Guttorm Sindre NTNU, Norway Terje Wahl, 14. June 2005.
BPMN By Hosein Bitaraf Software Engineering. Business Process Model and Notation (BPMN) is a graphical representation for specifying business processes.
Workshop on Integrated Application of Formal Languages, Geneva J.Fischer Mappings, Use of MOF for Language Families Joachim Fischer Workshop on.
Thirteenth Lecture Hour 8:30 – 9:20 am, Sunday, September 16 Software Management Disciplines Process Automation (from Part III, Chapter 12 of Royce’ book)
Slide 1 Wolfram Höpken RMSIG Reference Model Special Interest Group Second RMSIG Workshop Methodology and Process Wolfram Höpken.
What is a life cycle model? Framework under which a software product is going to be developed. – Defines the phases that the product under development.
Software Design: An Introduction by David Budgen Presented by Shane Marcus EEL 6883 – Spring 2007 Presented by Shane Marcus EEL 6883 – Spring 2007.
11 C H A P T E R Artificial Intelligence and Expert Systems.
An Introduction to Design Patterns. Introduction Promote reuse. Use the experiences of software developers. A shared library/lingo used by developers.
Key Challenges for Modeling Language Creation by Demonstration Hyun Cho, Jeff Gray Department of Computer Science University of Alabama Jules White Bradley.
2Object-Oriented Analysis and Design with the Unified Process The Requirements Discipline in More Detail  Focus shifts from defining to realizing objectives.
Workshop 16: An upward shift in abstraction leads to a corresponding increase in productivity. In the past this has occurred when programming languages.
CBD Papers Alexandre Alvaro. Lessons Learned through Six Years of Component-based Development Six years of component-based application development Using.
Introduction To System Analysis and Design
Generative Programming. Automated Assembly Lines.
Implementing a Domain-Specific Modeling Environment For a Family of Thick-Client GUI Components Milosz Muszynski Tanner AG
Chapter 8 Object Design Reuse and Patterns. Object Design Object design is the process of adding details to the requirements analysis and making implementation.
NJIT UML Class Diagrams Chapter 16 Applying UML and Patterns Craig Larman.
Dr. Darius Silingas | No Magic, Inc. Domain-Specific Profiles for Your UML Tool Building DSL Environments with MagicDraw UML.
UML as a Specification Language for Embedded Systems. By, Mir Ahmed Ali, Asst. Professor, ECM department, SNIST. By, Prof. Narsiah sir, Director of School.
Chap#11 What is User Support?
Human Computer Interaction
ICT EMMSAD’05 13/ Assessing Business Process Modeling Languages Using a Generic Quality Framework Anna Gunhild Nysetvold* John Krogstie *, § IDI,
CASE (Computer-Aided Software Engineering) Tools Software that is used to support software process activities. Provides software process support by:- –
OOPSLA workshop on Domain-Specific Visual Languages 1 Juha-Pekka Tolvanen, Steven Kelly, Jeff Gray, Kalle Lyytinen.
Parastoo Mohagheghi 1 A Multi-dimensional Framework for Characterizing Domain Specific Languages Øystein Haugen Parastoo Mohagheghi SINTEF, UiO 21 October.
Rational Unified Process (RUP)
Concepts and Realization of a Diagram Editor Generator Based on Hypergraph Transformation Author: Mark Minas Presenter: Song Gu.
SwE 455 Tutorial. What is Evolve? Evolve is a tool for defining components and connecting them together to form new components. Also provides a runtime.
1 Integrating Models with Domain-Specific Modeling Languages 18 October 2010 Steven Kelly & Juha-Pekka Tolvanen.
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.
It is the fuel of modern life Business are run Government rule Scientists Industries Education However, building and maintaining software is hard and getting.
Be.wi-ol.de User-friendly ontology design Nikolai Dahlem Universität Oldenburg.
Ontologies Reasoning Components Agents Simulations An Overview of Model-Driven Engineering and Architecture Jacques Robin.
Software Design and Development Development Methodoligies Computing Science.
Security Development Lifecycle (SDL) Overview
Pragmatics 4 Hours.
SysML-Modelica: A Redefinition & Modification Use Case
Object-Oriented Software Engineering Using UML, Patterns, and Java,
Proposed SysML v2 Submission Plan
Seminar 1 Design of Informatics Systems
Tools of Software Development
Object Oriented Analysis and Design
DOCUMENTAL SOLUTIONS Market Analysis Intelligence & Tools
Chapter 11 user support.
Visual Modeling Using Rational Rose
Execute your Processes
Presentation transcript:

Adoption Participants in the adoption group Heiko Kern Parastoo Mohagheghi Manuel Wimmer Juha Pärssinen Juha-Pekka Tolvanen Laurent Safa Sven Braun Gerardo de Geest Janne

Adoption Economics of DSM What data does management need to take a decision on using DSM? Decide to go for DSM –Saving side: reduce time to market, develop faster, Control over evolution, –Invest: training, tool adaptation, cost of building the language and generators, access to experienced personnel. Decide how to DSM –Do it by yourself versus buying ( time to market)

Adoption Where DSM is beneficial? Reuse, similar applications/ similar features within one application, product line Learning more about the domain, sharing the Knowledge Repetitive tasks Lack of experienced developers (DSMs hide complexity) Simulation, faster prototyping, short way from specification to implementation

Adoption How to convince customers? Find information in the customer’s domain: Previous studies: industry experiences Concept demonstration in their environment (also versus other approaches) Analyst reports, third party opinion Good academic reports, more academic research available good tools, consulting and support services No vendor locking in meta tools like in the past Reduced risk since code still exists if models are not useful

Adoption DSL design process Start in small, iteratively if the tool allows Roles: Domain expert, language designer to start with Activities: start from the reference application or domain model, do not look at the solution domain (code) but the problem domain when devising the notation

Adoption Language, model or metamodel evaluation criteria Expressive enough Guarantee consistent models –Reduce modelling effort Generating what you expect –What can be specified in term of visual models works bug-free Domain appropriateness –Full code generation is possible Tools

Adoption Language, model or metamodel evaluation method Monitoring people, analysing Metrics: Which part of models are used or are related Interviewing Redo recent product with DSM tool and compare man.month, time-to-market...

Adoption How to make DSM technology easy or cheap to maintain with standard developers? Better tools Training, teaching in universities Scalability

Adoption Textual vs. graphical vs. other kinds (table-based etc.) Based on the closeness to the problem domain Use text if… –Granularity of problem (fine granularity e.g. sorting algorithm) Use graphical if… – Have visual hints (memento, memory, …) –Want to show relationships btw entities

Adoption UML profiles Pros: –Easy to start with existing tools –People think they know UML –They have already a “standard” UML model to annotate Cons: –Profiles are limited in extending –Defining good UML profiles take more time –Profiles are only additive, you cannot hide something –Tools do not know how to deal with a stereotyped element –Moving to another tool is difficult –Imprecise UML semantics

Adoption DSMs Pros: –More flexibility –More control –No dependency on the language defined by the vendor –No OMG/standardization dependency –Close to the domain Cons: –New tools are needed –New capabilities are needed –Learning curve for defining them, not for using (or at least what people think) – Necessity to maintain home-grown technology

Adoption Is there more than visually graph-based notation to augment expressiveness of VDSL? –What are limitations to graph notation? Crowded big mess Difficult to edit when big Hiding/showing information relevant to people –MS DSL Tools already provide containment, combo box, others such as table-based or matrix-based –How to improve? Don’t make BIG graphs  Hint to DSL scope ? –Hint: The DSL should be defined such that most models are small Graph + force –See Tutorial of MDSD Best Practices –~ Intentional Programming?

Adoption Respective advantages of text & visual DSL Text Search/replace Diff / Merge / Versioning Faster to refactor? Composition of heterogeneous source files Reading direction –Top/down & left/right Visual Quick overview –Map view –Links and paths Less error prone Smaller learning curve Representation of physical/tangible artifacts Better possibility to have different views or levels Want to show relationships btw entities Have visual hints (memento, memory, …)