A Tooling Environment for Quality-Driven Domain- Specific Modelling Janne Merilinna.

Slides:



Advertisements
Similar presentations
The GDSE Framework A Meta-Tool for Automated Design Space Exploration Tripti Saxena Graduate Student Vanderbilt University 1.
Advertisements

Architecture Representation
ARCH-05 Application Prophecy UML 101 Peter Varhol Principal Product Manager.
OBP Research Oy for simpler creation of embedded systems.
Sponsored by the U.S. Department of Defense © 2004 by Carnegie Mellon University page 1 Pittsburgh, PA Integrating Domain Specific Modeling.
Presented by: Thabet Kacem Spring Outline Contributions Introduction Proposed Approach Related Work Reconception of ADLs XTEAM Tool Chain Discussion.
This research is supported by NSF CAREER award CCF A Demonstration-based Approach to Support Live Transformations in a Model Editor Yu SunUniversity.
Automated Analysis and Code Generation for Domain-Specific Models George Edwards Center for Systems and Software Engineering University of Southern California.
The Architecture Design Process
A Model-Driven Framework for Architectural Evaluation of Mobile Software Systems George Edwards Dr. Nenad Medvidovic Center.
UML CASE Tool. ABSTRACT Domain analysis enables identifying families of applications and capturing their terminology in order to assist and guide system.
Intelligent User Interfaces Research Group Directed by: Frank Shipman.
Tom Hollander Solution Architect Solutions Development Centre Microsoft Australia ARC308.
Mining Metamodels From Instance Models: The MARS System Faizan Javed Department of Computer & Information Sciences, University of Alabama at Birmingham.
Architecture, Implementation, and Testing Architecture and Implementation Prescriptive architecture vs. descriptive architecture Prescriptive architecture:
UNIT-V The MVC architecture and Struts Framework.
What is Software Architecture?
Electrical Engineering 4OI4 Design Project By: Daniel Ho and Chris Ho.
Spectra Software Defined Radio Products Applying Model Driven Design, Generative Programming, and Agile Software Techniques to the SDR Domain OOPSLA '05.
Faculty of Informatics and Information Technologies Slovak University of Technology Peter Kajsa and Ľubomír Majtás Design.
Yu SunUniversity of Alabama at Birmingham PAR Works Jeff Gray University of Alabama Montpellier, France July 3rd, 2013 This research is supported.
Design Science Method By Temtim Assefa.
1 MDWE'2008, Toulouse, France, September 30, 2008 A Comparative Analysis of Transformation Engines for User Interface Development Juan Manuel González.
Cluster Reliability Project ISIS Vanderbilt University.
Supporting Heterogeneous Users in Collaborative Virtual Environments using AOP CoopIS 2001 September 5-7, Trento, Italy M. Pinto, M. Amor, L. Fuentes,
TYX CORPORATION Page 1 © Copyright TYX Corporation 2006 TYX TestBase Development of Diagnostics with DSI eXpress and TYX TestBase For eXpress versions.
Copyright © Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved. Implementing Architectures Software Architecture.
An Introduction to Design Patterns. Introduction Promote reuse. Use the experiences of software developers. A shared library/lingo used by developers.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Architectural Design l Establishing the overall structure of a software system.
Building Tools by Model Transformations in Eclipse Oskars Vilitis, Audris Kalnins, Edgars Celms, Elina Kalnina, Agris Sostaks, Janis Barzdins Institute.
Ævol : A Tool for Planning Architecture Evolution David Garlan & Bradley Schmerl Carnegie Mellon University.
Christian Heinzemann 11. Oktober 2015 Modeling Behavior of Self-Adaptive Systems Seminar Software Quality and Safety.
METACASE. WHAT THIS PRESENTATION IS ABOUT  What’s META MODELING?  What’s METACASE?  METAEDIT+ 5.1 EVALUTION PROGRAM  Diagram and its kinds.
By Xiangzhe Li Thanh Nguyen.  Introduction  Terminology  Architecture  Component  Connector  Configuration  Architectural Style  Architectural.
OBJECT ORIENTED SYSTEM ANALYSIS AND DESIGN. COURSE OUTLINE The world of the Information Systems Analyst Approaches to System Development The Analyst as.
Composing Adaptive Software Authors Philip K. McKinley, Seyed Masoud Sadjadi, Eric P. Kasten, Betty H.C. Cheng Presented by Ana Rodriguez June 21, 2006.
SOFTWARE SYSTEMS DEVELOPMENT 4: System Design. Simplified view on software product development process 2 Product Planning System Design Project Planning.
Model-Driven Analysis Frameworks for Embedded Systems George Edwards USC Center for Systems and Software Engineering
Verification and Validation in the Context of Domain-Specific Modelling Janne Merilinna.
© 2012 xtUML.org Bill Chown – Mentor Graphics Model Driven Engineering.
SCIRun and SPA integration status Steven G. Parker Ayla Khan Oscar Barney.
1 5 Nov 2002 Risto Pohjonen, Juha-Pekka Tolvanen MetaCase Consulting AUTOMATED PRODUCTION OF FAMILY MEMBERS: LESSONS LEARNED.
Information Systems Engineering. Lecture Outline Information Systems Architecture Information System Architecture components Information Engineering Phases.
Refining middleware functions for verification purpose Jérôme Hugues Laurent Pautet Fabrice Kordon
INRIA - LaBRICharles Consel Jan-06 1 Domain-Specific Software Engineering Charles Consel Phoenix Research Group LaBRI /INRIA-Futurs January 2006.
Automated Transformation of Statements Within Evolving Domain Specific Languages Peter Bell CEO/CTO, SystemsForge 7th OOPSLA Workshop on Domain-Specific.
BioRAT: Extracting Biological Information from Full-length Papers David P.A. Corney, Bernard F. Buxton, William B. Langdon and David T. Jones Bioinformatics.
Configuration Management and Change Control Change is inevitable! So it has to be planned for and managed.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 14Slide 1 Chapter 14 Design with Reuse.
Software Architecture Evaluation Methodologies Presented By: Anthony Register.
27/3/2008 1/16 A FRAMEWORK FOR REQUIREMENTS ENGINEERING PROCESS DEVELOPMENT (FRERE) Dr. Li Jiang School of Computer Science The.
Implementation of a Relational Database as an Aid to Automatic Target Recognition Christopher C. Frost Computer Science Mentor: Steven Vanstone.
Review of Parnas’ Criteria for Decomposing Systems into Modules Zheng Wang, Yuan Zhang Michigan State University 04/19/2002.
Parastoo Mohagheghi 1 A Multi-dimensional Framework for Characterizing Domain Specific Languages Øystein Haugen Parastoo Mohagheghi SINTEF, UiO 21 October.
® IBM Software Group © 2009 IBM Corporation Essentials of Modeling with IBM Rational Software Architect, V7.5 Module 18: Applying Patterns and Transformations.
Banaras Hindu University. A Course on Software Reuse by Design Patterns and Frameworks.
Banaras Hindu University. A Course on Software Reuse by Design Patterns and Frameworks.
Yu, et al.’s “A Model-Driven Development Framework for Enterprise Web Services” In proceedings of the 10 th IEEE Intl Enterprise Distributed Object Computing.
Domain-Specific Modelling Language for Navigation Applications on S60 Mobile Phones Janne Merilinna.
AUTOMATIC GENERATION OF MODEL TRAVERSALS FROM METAMODEL DEFINITIONS Authors: Tomaž Lukman, Marjan Mernik, Zekai Demirezen, Barrett Bryant, Jeff Gray ACM.
LECTURE 5 Nangwonvuma M/ Byansi D. Components, interfaces and integration Infrastructure, Middleware and Platforms Techniques – Data warehouses, extending.
Managing Qualitative Knowledge in Software Architecture Assesment Jilles van Gurp & Jan Bosch Högskolan Karlskrona/Ronneby in Sweden Department of Software.
MDD-Kurs / MDA Cortex Brainware Consulting & Training GmbH Copyright © 2007 Cortex Brainware GmbH Bild 1Ver.: 1.0 How does intelligent functionality implemented.
Strategic Information Systems Planning
SOFTWARE DESIGN AND ARCHITECTURE
Model-Driven Analysis Frameworks for Embedded Systems
The Extensible Tool-chain for Evaluation of Architectural Models
Implementing Architectures
Automated Analysis and Code Generation for Domain-Specific Models
Data Analysis, Interpretation, and Presentation
Presentation transcript:

A Tooling Environment for Quality-Driven Domain- Specific Modelling Janne Merilinna

VTT TECHNICAL RESEARCH CENTRE OF FINLAND 2 The Problem There is a gab between requirements engineering and software engineering This has caused separate processes, methods and tools 2.Designers don’t know the big picture when they choose between different design alternatives => Impact of different design alternatives to the overall system is not known if even recognized 1.Requirements engineers produce ambiguous requirements, especially quality requirements, that software engineers don’t know how to implement 3.Requirements engineers might not be aware of what design alternatives are utilized thus preventing them to do impact analysis => The requirements and the software design and implementation start living separate lives

VTT TECHNICAL RESEARCH CENTRE OF FINLAND 3 The Goal There is a need to bridge the gab between requirements engineering (RE) and software engineering (SE) Considering SE, the following is required: Quality requirements have to be explicitly expressed and connected to corresponding design entities Promotes designers to understand the quality requirements Promotes traceability of quality requirements Quality attributes have to be observable Evaluation and measurement methods and mechanisms have to be available Quantitatively (execution-time quality attributes) Qualitatively (execution- and evolution-time quality attributes) Quality attributes have to be modifiable Mechanisms and patterns must be available to affect the quality

VTT TECHNICAL RESEARCH CENTRE OF FINLAND 4 The Context Model-Driven Development (MDD) Domain-Specific Modelling (DSM) The DSM basic architecture In-house metamodels, i.e. modelling languages In-house code generators In-house software framework Full code generation! The modelling language and code generator specific to very restricted domain enable complete code generation Quality-driven DSM (QDSM)  In single model there would be:  Quality requirements that are connected to corresponding entities in the models  Information on what has been done to satisfy the quality requirements  Means available to alter the quality  Evaluation/test results MDD/DSM/QDSM is heavily dependent on provided tool support! I have not seen demonstrations on QDSM  Lets build one and see if it is useful and what are the pitfalls  MetaCase MetaEdit+ as a QDSM tool

VTT TECHNICAL RESEARCH CENTRE OF FINLAND 5 The Context - M-Net Modelling Language Domain-Specific Modelling Language for M-Net M-Net modelling language for stream-oriented computing systems (lab example) Filters Data streams Displays Controllers (switches, comparators) Python code generator Complete code generation

VTT TECHNICAL RESEARCH CENTRE OF FINLAND 6 Functional Requirements According to functional requirements, an application is modelled Functional requirements: R1: Sepia conversion R2: Saving sepia converted stream of bitmap images as JPG images R3: Tilt video stream 90 degrees right for display R4: Show sepia converted and tilted stream

VTT TECHNICAL RESEARCH CENTRE OF FINLAND 7 Functional Requirements According to functional requirements, an application is modelled Functional requirements: R1: Sepia conversion R2: Saving sepia converted stream of bitmap images as JPG images R3: Tilt video stream 90 degrees right for display R4: Show sepia converted and tilted stream What about quality requirements?

VTT TECHNICAL RESEARCH CENTRE OF FINLAND 8 Quality Requirements Quality requirements Display framerate 25fps Application throughput more than 10fps

VTT TECHNICAL RESEARCH CENTRE OF FINLAND 9 Quality Requirements Quality requirements Display framerate 25fps Application throughput more than 10fps Measurable quality requirements are connected to corresponding parts in the application model Easier to see what parts of the application model are responsible for the requirements

VTT TECHNICAL RESEARCH CENTRE OF FINLAND 10 Testing What quality attributes the application model promotes? Reporting mechanism Code generation -> execution -> run-time reporting back to model via MetaEdit+ SOAP API Testing and measuring the application reveal how the application performs but does not reveal the design rationale

VTT TECHNICAL RESEARCH CENTRE OF FINLAND 11 Affecting and Evaluating the Quality Three techniques to express the impact to quality Quality per model entity Model entities provide configuration mechanisms to affect the quality Pattern-based Quality discernible by scrutinizing interaction of model entities Combination on the preceding

VTT TECHNICAL RESEARCH CENTRE OF FINLAND 12 Affecting and Evaluating the Quality Design alternatives for increasing performance of IO Quality per model entity There is a set of alternative configuration mechanisms for model entities Code generation is affected There has to be configuration mechanisms for affecting the quality

VTT TECHNICAL RESEARCH CENTRE OF FINLAND 13 Affecting and Evaluating the Quality Design alternatives for increasing performance of IO Pattern-based technique The metamodel includes automated modelling-time pattern recognition that tags corresponding model entities Code generation not affected The quality is affected by model entity interaction, not by configuration

VTT TECHNICAL RESEARCH CENTRE OF FINLAND 14 Affecting the Quality Optimization of quality with optimization assistant Evaluates the model and generates guidance to modeller how to optimize the model according to required properties Patterns and design example catalogues and their linkage to promoted qualities Tool support with NFR+ Framework (current work!)

VTT TECHNICAL RESEARCH CENTRE OF FINLAND 15 Conclusion Tool support for Quality-Driven Domain-Specific Modelling is feasible to implement Quality requirements explicitly expressed in application models Measurable qualities (execution-time qualities) easy to define but what about evolution-time qualities? Are templates domain-specific? Affecting the quality Mechanisms embedded to the metamodel and their impact on quality expressed in models Optimization assistant More experience is required! Evaluating the quality Measuring mechanisms Great aid! Pattern recognition Probably not a great idea but possible to implement Current work NFR+ Framework Seems to be a better solution

VTT TECHNICAL RESEARCH CENTRE OF FINLAND 16 Questions?