TECHNISCHE UNIVERSITÄT DRESDEN Model-Driven Development for Non-functional Properties: Refinement through Model Transformation Simone Röttger and Steffen.

Slides:



Advertisements
Similar presentations
Andrea Maurino Web Service Design Methodology Batini, De Paoli, Maurino, Grega, Comerio WP2-WP3 Roma 24/11/2005.
Advertisements

Algebra 3.4 Algebra Properties
Profiles Construction Eclipse ECESIS Project Construction of Complex UML Profiles UPM ETSI Telecomunicación Ciudad Universitaria s/n Madrid 28040,
1 UML ++ Mohamed T IBRAHIM University of Greenwich -UK.
Copyright © Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved. Analysis of Software Architectures.
Architecture Representation
Database Systems: Design, Implementation, and Management Tenth Edition
Analysis Modeling.
Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall A.1.
Architecture-driven Modeling and Analysis By David Garlan and Bradley Schmerl Presented by Charita Feldman.
Presenter : Shih-Tung Huang Tsung-Cheng Lin Kuan-Fu Kuo 2015/6/15 EICE team Model-Level Debugging of Embedded Real-Time Systems Wolfgang Haberl, Markus.
Engineering the Presentation Layer of Adaptable Web Information Systems Zoltán Fiala 1, Flavius Frasincar 2, Michael Hinz 1, Geert-Jan Houben 2, Peter.
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.
Software Issues Derived from Dr. Fawcett’s Slides Phil Pratt-Szeliga Fall 2009.
Course Instructor: Aisha Azeem
Romaric GUILLERM Hamid DEMMOU LAAS-CNRS Nabil SADOU SUPELEC/IETR ESM'2009, October 26-28, 2009, Holiday Inn Leicester, Leicester, United Kingdom.
UML Sequence Diagrams Michael L. Collard, Ph.D. Department of Computer Science Kent State University.
Chapter 10 Architectural Design
Using MDA in Web Software Architectures Santiago Meliá Cristina Cachero Jaime Gómez Universidad de Alicante Spain.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 1 Chapter 6 Requirements Engineering Process.
© 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1 A Discipline of Software Design.
An Introduction to Software Architecture
Knowledge representation
Database Systems: Design, Implementation, and Management Ninth Edition
Introduction to MDA (Model Driven Architecture) CYT.
Assessing the Suitability of UML for Modeling Software Architectures Nenad Medvidovic Computer Science Department University of Southern California Los.
Review of “The COMQUAD Component Model” Tore Engvig 30 April 2004.
Copyright 2001 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Joseph S. Valacich Joey F. George Jeffrey A. Hoffer Appendix A Object-Oriented.
Copyright 2002 Prentice-Hall, Inc. Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich Chapter 20 Object-Oriented.
Introduction To System Analysis and Design
ISO/IEC CD and WD : Core Model and Model Mapping ISO/IEC JTC1/SC32/WG September 2005, Toronto SC32/WG2 Japan (Kanrikogaku Ltd) Masaharu.
10 Software Architecture CSCU 411 Software Engineering.
Lab 04.
University of Southern California Center for Systems and Software Engineering Model-Based Software Engineering Supannika Koolmanojwong Spring 2013.
1 Introduction to Software Engineering Lecture 1.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 05. Review Software design methods Design Paradigms Typical Design Trade-offs.
Chapter 3 Object Oriented Systems and Open GIS. Objectives of the Chapter Establish place of O-O in OpenGIS cover basics of O-O emphasise design issues.
Logical view –show classes and objects Process view –models the executables Implementation view –Files, configuration and versions Deployment view –Physical.
What is Object-Oriented?  Organization of software as a collection of discreet objects that incorporate both data structure and behavior.
1 CMPT 275 High Level Design Phase Modularization.
OBJECT ORIENTED AND FUNCTION ORIENTED DESIGN 1 Chapter 6.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
A Model-Based Approach for AMF Configuration Generation Pejman Salehi, Pietro Colombo Abdelwahab Hamou-Lhadj, Ferhat Khendek Concordia University Department.
Cooperative Computing & Communication Laboratory A Survey on Transformation Tools for Model-Based User Interface Development Robbie Schäfer – Paderborn.
DESIGN OF SOFTWARE ARCHITECTURE
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.
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.
DESIGN PROCESS AND CONCEPTS. Design process s/w design is an iterative process through which requirements are translated into a “blueprint” for constructing.
Chapter 5 – System Modeling Lecture 1 1Chapter 5 System modeling.
Bernd Bruegge and Allen Dutoit Requirements Process The requirements process consists of two activities: Requirements Elicitation: Definition of the system.
Interface Concepts Modeling Core Team
Software Design Refinement Using Design Patterns
Classifications of Software Requirements
Distribution and components
Web Ontology Language for Service (OWL-S)
Object oriented system development life cycle
Model-Driven Analysis Frameworks for Embedded Systems
Object Oriented Analysis and Design
The Extensible Tool-chain for Evaluation of Architectural Models
Chapter 5 Designing the Architecture Shari L. Pfleeger Joanne M. Atlee
Patterns.
Chapter 20 Object-Oriented Analysis and Design
Appendix A Object-Oriented Analysis and Design
OOA&D II Bo Wang, Kan Qi Adapted from Alexey Tregubov’s Slides.
An Introduction to Software Architecture
Appendix A Object-Oriented Analysis and Design
Appendix A Object-Oriented Analysis and Design
Presentation transcript:

TECHNISCHE UNIVERSITÄT DRESDEN Model-Driven Development for Non-functional Properties: Refinement through Model Transformation Simone Röttger and Steffen Zschaler Dresden University of Technology, Dresden, Germany October 14, th UML conference, Lisbon, Portugal

TECHNISCHE UNIVERSITÄT DRESDEN Thomas Springer Chair of Computer Networks COMQUAD © Steffen Zschaler – MDD for non-functional properties2/14 Motivation Non-functional properties need to be considered throughout software development –We need to model and analyse non-functional properties –We need to refine non-functional properties along with the functional model –Both adds complexity to the task of designing an application Problem addressed in this talk: –How to Integrate non-functional properties into development process –While Minimizing complexity for application designer

TECHNISCHE UNIVERSITÄT DRESDEN Thomas Springer Chair of Computer Networks COMQUAD © Steffen Zschaler – MDD for non-functional properties3/14 An Example: A Simple Client–Server Scenario > response_time value < 470 > response_time value < 470 [for checkPassWd] > response_time value < 500 > response_time value < 500 [for login] > response_time value < 400 > response_time value < 400 [for checkPassWd] compatible! > :UserManager IUserMgt > :VideoServer IUserMgt ILogin

TECHNISCHE UNIVERSITÄT DRESDEN Thomas Springer Chair of Computer Networks COMQUAD © Steffen Zschaler – MDD for non-functional properties4/14 An Example: Refining the Specification > request response client_response_time server_response_time :server:client > response_time value < 500 > response_time value < 500 [for login] > response_time value < 470 > response_time value < 470 [for checkPassWd] > response_time value < 400 > response_time value < 400 [for checkPassWd] > client_response_time value < 470 > client_response_time value < 470 [for checkPassWd] > server_response_time value < 400 > server_response_time value < 400 [for checkPassWd] ?? > :UserManager IUserMgt > :VideoServer IUserMgt ILogin

TECHNISCHE UNIVERSITÄT DRESDEN Thomas Springer Chair of Computer Networks COMQUAD © Steffen Zschaler – MDD for non-functional properties5/14 Aim of This Work Benefits –Early consideration of non-functional properties –Low-overhead integration into development process To provide support for such refinements of non- functional properties, while shielding the application developer as much as possible from the added complexity. To provide support for such refinements of non- functional properties, while shielding the application developer as much as possible from the added complexity.

TECHNISCHE UNIVERSITÄT DRESDEN Thomas Springer Chair of Computer Networks COMQUAD © Steffen Zschaler – MDD for non-functional properties6/14 Outline Process and Role Model –Measurement and Application Designer Technical Background: –The Work of the Measurement Designer –Refinement of Measurement Definitions Conclusions Core idea: Library of non-functional aspects –Provided independently of application development –Including refinement relationships Core idea: Library of non-functional aspects –Provided independently of application development –Including refinement relationships

TECHNISCHE UNIVERSITÄT DRESDEN Thomas Springer Chair of Computer Networks COMQUAD © Steffen Zschaler – MDD for non-functional properties7/14 Process and Role Model > performingRole:Role Application Designer Requirements Analysis Implementation Application Design Refinement Constraints for Components Measurement Designer Definition of Measurements Specification of Refinements Measurement Specifications Refinement Specifications

TECHNISCHE UNIVERSITÄT DRESDEN Thomas Springer Chair of Computer Networks COMQUAD © Steffen Zschaler – MDD for non-functional properties8/14 Context Model 0..n OperationComponent 1..n +provided_operation 1..n +callee 0..n +used_operation 0..n +caller 0..n OperationCall + start : Instant + end : Instant 0..n 1 +invocations 0..n {ordered} 1 ComponentInstance 0..n 1 +instances 0..n 1 1 +callee 1 +caller 1 Defining the Measurements static dynamic quality_characteristic response_time (op: Operation) { domain: numeric milliseconds; values: op.invocations->last().end - op.invocations->last().start; } CQML + Specification

TECHNISCHE UNIVERSITÄT DRESDEN Thomas Springer Chair of Computer Networks COMQUAD © Steffen Zschaler – MDD for non-functional properties9/14 +callee 1 +provided_operation 1..n Another Context Model Refinement: –start and end replaced by more detailed description static dynamic ComponentOperation +callee 0..n +used_operation0..n +caller0..n 1 +invocations 0..n {ordered} 1 ComponentInstance 1 +instances0..n 1 +caller 1 OperationCall sndCall: Instant rcvCall: Instant sndResult: Instant rcvResult: Instant

TECHNISCHE UNIVERSITÄT DRESDEN Thomas Springer Chair of Computer Networks COMQUAD © Steffen Zschaler – MDD for non-functional properties10/14 Describing the Refinement Classifier Transformation: Translates Types between context models Classifier Transformation: Translates Types between context models Feature Transformation: Derives values of abstract features in the concrete context model Feature Transformation: Derives values of abstract features in the concrete context model <refinementxform from="coarse.xmi" to="fine.xmi"> <transform feature="OperationCall::start" ownerRef="owner"> owner.sndCall owner.rcvCall

TECHNISCHE UNIVERSITÄT DRESDEN Thomas Springer Chair of Computer Networks COMQUAD © Steffen Zschaler – MDD for non-functional properties11/14 Application to the Measurement Definition quality_characteristic response_time (op: Operation) { domain: numeric milliseconds; values: op.invocations->last().end - op.invocations->last().start; } quality_characteristic response_time (op: Operation) { domain: numeric milliseconds; values: op.invocations->last().end - op.invocations->last().start; } quality_characteristic client_response_time (op: Operation) { domain: numeric milliseconds; values: op.invocations->last().rcvResult - op.invocations->last().sndCall; } quality_characteristic client_response_time (op: Operation) { domain: numeric milliseconds; values: op.invocations->last().rcvResult - op.invocations->last().sndCall; } quality_characteristic server_response_time (op: Operation) { domain: numeric milliseconds; values: op.invocations->last().sndResult - op.invocations->last().rcvCall; } quality_characteristic server_response_time (op: Operation) { domain: numeric milliseconds; values: op.invocations->last().sndResult - op.invocations->last().rcvCall; }

TECHNISCHE UNIVERSITÄT DRESDEN Thomas Springer Chair of Computer Networks COMQUAD © Steffen Zschaler – MDD for non-functional properties12/14 Back to the Example > response_time value < 500 > response_time value < 500 [for login] > response_time value < 470 > response_time value < 470 [for checkPassWd] > response_time value < 400 > response_time value < 400 [for checkPassWd] > client_response_time value < 470 > client_response_time value < 470 [for checkPassWd] > server_response_time value < 400 > server_response_time value < 400 [for checkPassWd] > :UserManager IUserMgt > :VideoServer IUserMgt ILogin

TECHNISCHE UNIVERSITÄT DRESDEN Thomas Springer Chair of Computer Networks COMQUAD © Steffen Zschaler – MDD for non-functional properties13/14 Conclusions Starting Point –Non-functional specifications need refinement just as functional specifications –Application developer should be shielded from the additional complexity Solutions –Measurement Designer provides pre-specified library of measurements –Measurements are specified relative to context models –Different levels of abstraction represented by different context models –Mapping between context models can be used to generate measurement definitions at more detailed levels

TECHNISCHE UNIVERSITÄT DRESDEN Thomas Springer Chair of Computer Networks COMQUAD © Steffen Zschaler – MDD for non-functional properties14/14 Future Work Integration of analysis capabilities –Component match analysis –Connectors to model component interactions Appropriate management of context models Structural non-functional refinement –Decomposition, reassignment of non-functional properties