!MDA$based*Teaching*and* Research*in*Software*Engineering*!

Similar documents
Modelling in Enterprise Architecture. MSc Business Information Systems

Computation Independent Model (CIM): Platform Independent Model (PIM): Platform Specific Model (PSM): Implementation Specific Model (ISM):

Model Driven Engineering (MDE)

The Unified Modelling Language. Example Diagrams. Notation vs. Methodology. UML and Meta Modelling

Model Driven Architecture - The Vision

Improving Military Information Technology Through Common Conceptual Models

Automation of Semantic Web based Digital Library using Unified Modeling Language Minal Bhise 1 1

Current trends and frameworks for modeldriven approaches to software development

Methods for the Development

MDA and Integration of Legacy Systems: An Industrial Case Study

AIXM, WXXM, FIXM the power of a unified approach. Ian Painter ATM Lead Snowflake Software

Sequence Diagram Generation with Model Transformation Technology

Executive Summary. Round Trip Engineering of Space Systems. Change Log. Executive Summary. Visas

Object Management Group Model Driven Architecture (MDA) MDA Guide rev. 2.0 OMG Document ormsc/

SysML, It s Coming Are You Prepared?

Ingegneria del Software Corso di Laurea in Informatica per il Management. Introduction to UML

A Formal Approach to Modeling and Model Transformations in Software Engineering

Domain Models for Laboratory Integration

Model Driven Engineering (MDE) and Diagrammatic Predicate Logic (DPL)

QoS-aware model-driven SOA using SoaML

* Corresponding Author

OMG Workshop MDA. Tool Chains for MDA? Let's consider leaving our tool chains behind us.

METADATA INTERCHANGE IN SERVICE BASED ARCHITECTURE

Model Driven Development Unified Modeling Language (UML)

Enabling Component-Based Model Transformations with QVT. Li Dan

Semantic Web Domain Knowledge Representation Using Software Engineering Modeling Technique

DEV427 MODEL-DRIVEN DEVELOPMENT USING PowerDesigner. Xiao-Yun WANG PowerDesigner Chief Architect

Towards UML Profile for Human Machine Interface Applications of In-vehicle Infotainment Platforms

Rich Hilliard 20 February 2011

Future Directions for SysML v2 INCOSE IW MBSE Workshop January 28, 2017

Chair of Software. Engineering. Overview. School of Business Informatics and Mathematics. 1. Find out why software engineering is important

innoq Deutschland GmbH innoq Schweiz GmbH D Ratingen CH-6330 Cham Tel Tel

A Model-driven approach to NLP programming with UIMA

From Object Composition to Model Transformation with the MDA

AGH University of Science and Technology Computer Science Laboratory Department of Automatics Al. Mickiewicza Kraków, POLAND

An Introduction to Model Driven Engineering (MDE) Bahman Zamani, Ph.D. bahmanzamani.com

Spemmet - A Tool for Modeling Software Processes with SPEM

Introduction to MDE and Model Transformation

Second OMG Workshop on Web Services Modeling. Easy Development of Scalable Web Services Based on Model-Driven Process Management

Small is Beautiful Building a flexible software factory using small DSLs and Small Models

Object-Oriented Design

A Model Driven Approach based on Interaction Flow Modeling Language to Generate Rich Internet Applications

The Model-Driven Semantic Web Emerging Standards & Technologies

MDSE PRINCIPLES. Chapter #2

Object Security. Model Driven Security. Ulrich Lang, Rudolf Schreiner. Protection of Resources in Complex Distributed Systems

BLU AGE 2009 Edition Agile Model Transformation

ITBIS393 Web-Based Information Systems

6. The Document Engineering Approach

Technical Framework Supporting ebusiness Standards. Christian Huemer TMG Chair

Introduction to Dependable Systems: Meta-modeling and modeldriven

OMG Specifications for Enterprise Interoperability

Software Architecture

ISO INTERNATIONAL STANDARD. Financial services Universal financial industry message scheme Part 8: ASN.1 generation

Introduction to UML. (Unified Modeling Language)

Product Lines, Features, and MDD 1

The Specifications Exchange Service of an RM-ODP Framework

MDA & Semantic Web Services Integrating SWSF & OWL with ODM

V&V: Model-based testing

Model driven Engineering & Model driven Architecture

A Model-Driven Architecture based Evolution Method and Its Application in An Electronic Learning System. PhD Thesis

Dresden OCL2 in MOFLON

CHAPTER 1. Topic: UML Overview. CHAPTER 1: Topic 1. Topic: UML Overview

An Introduction to MDE

02291: System Integration

Reengineering of Distributed Middleware Systems To a Model Driven Architecture (MDA)

CODAGEN TECHNOLOGIES AND MODEL-DRIVEN ARCHITECTURE (MDA)

MDA Driven xuml Plug-in for JAVA

Model Driven Ontology: A New Methodology for Ontology Development

Modellierung operationaler Aspekte von Systemarchitekturen. Master Thesis presentation. October 2005 March Mirko Bleyh - Medieninformatik

bahmanzamani.com Computer Engineering i Dept. University of Isfahan

ISO INTERNATIONAL STANDARD. Financial services Universal financial industry message scheme Part 3: Modelling

Transformational Design with

Metamodeling for Business Model Design

Construction of Complex UML Profiles

Model-Driven Systems Engineering for Netcentric System of Systems With DEVS Unified Process

Generation Rules in POMA Architecture

Open Source egovernment Reference Architecture. Cory Casanave, President. Data Access Technologies, Inc.

Science of Computer Programming. Aspect-oriented model-driven skeleton code generation: A graph-based transformation approach

Reusable Object-Oriented Model

ISO/IEC CD :200x(E) Title: Information technology - Framework for Metamodel interoperability Part 2: Reference model Project:

Introduction to UML p. 1 Introduction to the Object-Oriented Paradigm p. 1 What Is Visual Modeling? p. 6 Systems of Graphical Notation p.

Ontology-based Model Transformation

Unified Modeling Language (UML) and Modeling

Workpackage 15: DBE Business Modeling Language. Deliverable D15.5: BML Editor Final Release

FEASIBILITY of the MDA APPROACH in UCE projects

Defining Domain-Specific Modeling Languages

Overview of lectures today and Wednesday

Raising the Level of Development: Models, Architectures, Programs

MOMOCS D2.1 XIRUP S UPPORTING T OOLS R EQUIREMENTS. Model driven Modernisation of Complex Systems. Dissemination Level: Work package:

INF5120 Model-Based System Development

Design and Prototypical Implementation of a Pivot Model as Exchange Format for Models and Metamodels in a QVT/OCL Development Environment

UNIVERSITY OF OSLO Department of Informatics. Metamodel-based Editor for Service Oriented Architecture (MED4SOA) Master thesis.

Capturing and Formalizing SAF Availability Management Framework Configuration Requirements

ISO/IEC INTERNATIONAL STANDARD

The Eclipse Modeling Framework and MDA Status and Opportunities

The rcos Modeler. ICTAC Summer School 2013 ECNU, Shanghai, China. Volker Stolz, Zhiming Liu. Friday, August 30, 13

NORGES TEKNISK-NATURVITENSKAPELIGE UNIVERSITET FAKULTET FOR INFORMASJONSTEKNOLOGI, MATEMATIKK OG ELEKTROTEKNIKK. Hovedoppgave

ROLE OF OCL AND ITS SUPPORTING TOOLS IN REQUIREMENT SPECIFICATION

INTERNATIONAL JOURNAL OF PURE AND APPLIED RESEARCH IN ENGINEERING AND TECHNOLOGY

Practical Model-Driven Development with the IBM Software Development Platform

Transcription:

Plan!MDA$based*Teaching*and* Research*in*Software*Engineering*! Ludwik!Kuźniarz! Blekinge*Institute*of*Technology* School*of*Computing* Sweden*! Myself! Driven Architecture! MDA based Reaserch! Sample 1: Empirical Research! MDA based Teaching! Sample 2: Software Development Course Ludwik.Kuzniarz@bth.se* 2 Researh Overview Formal Methods Formal verification of programs Investigation of a specification language Formalizations in MultiMedia Consistency in UML Series of workshops on MoDELS Classification framework Consistency*Issues*in*ling* Didactics Educators Symposium on MoDELS Best*Practices*for*Teaching*UML*Based*Software:*MoDELS*2004* Software Development and Empirical Methods Validation of stereotypes with experiments Empirical*assessment*of*using*stereotypes*to*improve*comprehension*of*UML*models:** A*set*of*experiments* Validation using survey Empirical*extension*of*a*classiJication*framework*for*addressing*consistency** in*model*based*development 3 Researh Overview Formal Methods Formal verification of programs Hiding deadlocks in Lotos Formalizations in MultiMedia Consistency in UML Series of workshops on MoDELS Classification framework Consistency*Issues*in*ling* Didactics Educators Symposium on MoDELS Best*Practices*for*Teaching*UML*Based*Software:*MoDELS*2004* Software Development and Empirical Methods Validation of stereotypes with experiments Empirical*assessment*of*using*stereotypes*to*improve*comprehension*of*UML* models:*a*set*of*experiments* Validation with survey Empirical*extension*of*a*classiJication*framework*for*addressing*consistency in*model*based*development 4

Teaching Overview Teaching Overview WUT OO Software Development, Formal methods in SE BIT OO Software Development 1 st y BSc level Product Line Architecture 2 nd y MSc level Master Thesis course 2 nd y MSc level Double Diploma BIT - WUT Research Methodology NUR National University of Rwanda OO Software Development Product Line Architecture Master Thesis NU Newcastle University Introduction to UML WUT OO Software Development, Formal methods in SE BIT OO Software Development 1 st y BSc level Product Line Architecture 2 nd y MSc level Master Thesis course 2 nd y MSc level Double Diploma BIT - WUT Research Methodology NUR National University of Rwanda OO Software Development Product Line Architecture Master Thesis NU Newcastle University Introduction to UML 5 6 OMG s MDA Object'Management'Group'(OMG)'' an'open'membership,'not8for8profit'consor;um'' that'produces'and'maintains'computer'industry'specifica;ons'' for'interoperable'enterprise'applica;ons.' M D A Bad'news' ''''There%will%never%be%a%single%OS,%PL,%Netwwork%Architecture%that% replaces%all%that%have%passed% Good'news' ''%You%can%s>ll%manage%to%build%systems%economically%in%this% environment% Remedy' A%specific%approach%to%soBware%development% %% %Driven%Architecture%(MDA)% 7 8

OMG s MDA MDA Aspects / Perspectives! Provides open, vendor neutral approach to the challenge of technology change.! Is a broad conceptual framework that describes an overall approach to software development.! Is the OMG implementation of MDD approach to software development by standards and a set of tools that can be used within MDD.! Based on OMG standards separates application logic from underlying platform technology! Does not define a particular software architecture or an architectural style! Raises the level of abstraction in software development. 'CIM'8'Computa;on'Independent' ''''business'func;onality'and'behaviour'' 'PIM'8'PlaHorm'Independent' '''''soiware'func;onality'and'behaviour'' 'PSM'8'PlaHorm'Specific' '''''realisa;on'of'the'pim'' '''''on'a'given'plahorm/technology' 9 10 MDA Core Standards - Technology Space MDA: Development Process Perspective MOF - Meta-Object Facility an abstract language and a framework for specifying, constructing, and managing technology neutral metamodels => languages UML - Unified ing Language a graphical language for specifying, constructing, visualizing & documenting the artifacts of distributed object oriented systems. XMI - XML Metadata Interchange technology mappings from MOF metamodels conforming to XML DTDs and XML documents. Others still coming. UML Driven Architecture Represents a collection of best engineering practices that have proven successful in modeling of large and complex systems. MDA (-Driven Architecture) is a type of MDD (-Driven Development) Not a Software Architecture design Architecture refers to a framework of concepts, tools etc. But a Development Paradigm Approach to developing software 11 12

MDA: Development Process Perspective s Hierarchy: Four Layers Architecture MDA'='approach'+'tools' 'for:' Specifying'' ' '8'plaHorm8independent'system' 'applica;on'plahorms' Choosing'' ' '8'a'plaHorm'for'the'system' Transforming'' ' '8'the'plaHorm8independent'specifica;on'' ''''into'a'plahorm8specific'one' Concepts' Applica;on':'the'func;onality'being'developed' PlaHorm''''':'technology'that'provides'func;onality'' ' '''''''''through'interfaces'and'usage'paqerns'' ' ''''''''''(generic,'standard,'manufacturer')' System' ''''':'applica;on(s)'supported'by'plahorm(s)' ing Directions M o d e l W o r l d Meta Real World Thing Language for defining languages - MOF ling Language - UML s in UML Usage of the models Meta- Meta Meta conformsto conformsto conformsto 13 14 Categories of s in MDA MDA Transformation : Initial Idea Computa;on'Independent''8'CIM' Does'not'show'details'of'system'structure' Independent'of'how'the'system'will'be'implemented' domain'model 'or' business'model ' Bridges'the'gap'between' 'domain' ' '''''''experts'' ' ' ''and' 'design/development'''experts' PlaHorm'Independent''8'PIM' Structure,'func;onality'and'behavior'of'the'soIware'system'' built'using'omg'standards' PlaHorm'Specific''8'PSM' Realiza;on'of'the'PIM'on'a'given'plaHorm/technology' MDA Tool! ling components! To build and maintain PIMs! Code generation component! To perform a series of transformations that map PIM elements to lements in PSMs MDA Benefits Platform Independent! Instead of writing PS-code, focus on developing models that are specific to application domain but independent of the platform! A tool that implements MDA concept allows to 1. produce models of the application and business logic, and 2. generate code for a target platform by means of transformations PSM Transformation Rules Platform Description Transformation Engine Platform Specific 15 16

MDA Transformation in General MDA-based SD : Research Areas transformation M2 Non- SD Artefacts Generation T 1 T 2 Software Development s Code Generation T 3 C o d e M4 T1 : generation construting UMLmodels based on non-uml artefacts T2 : transformation construting UML models based on UML artefacts T3 : Code generation construction of the software based on UML artefacts Consistency Quality Quality in modeling 17 18 Empirical Methods in Engineering Reasearch Confirmation of (more or less accepted) hypotheses. For example: object-orientation is good for reuse. Evaluation of methods, models, languages and tools. For example: whether Java produces higher quality code than C+ Identification of relationships. For example: find relationship between fault-prone components and design concepts. Validation of models or measures. For example: to validate a specific cost estimation model. Understanding of methods, techniques and models. For example: to understand relationship between inspections and test Guidance to help in management. For example: for migration from one technology to another. 19 20

Experiment** Defini-on* Experiment. Basic characteristic carefully planned and fully controlled, should be replicable. Independent Variables Experiment Experiment Experiment Process Dependent Variables Experiment'' Experiment'' Design Design' Operation Analysis Data' Conclusions' Sample Experiment Design Idead Behind Empirical Research Investigate how stereotypes influence understanding of UML encoded artefacts Method Experiment Design Pair comparison on design artefacts Subjects: SE students of different background Input / Objects: (4 sets of) design artefacts (with 6 stereotypes) Instruments (initial): questionares (on 4 types) of diagrams Component & Collaboration Diagram non stereotypes and stereotyped Output: time level of understanding 21 22 Experiment Design - Instrumentation Sample artefacts Experiment schema Round'1' Four set of artefacts Set A-S: stereotyped model A and description of stereotypes used Set B-N: non-stereotyped model B, Set A-N: non-stereotyped model A, Set B-S: stereotyped model B and description of stereotypes. Round'2' Group'1' Set'A' 'S' Set'B' 'N' Group'2' Set'A' 'N' Set'B'8''S' Artifact set A-x describes a domain of radio transmissions. a class diagram describing different types of existing objects (radio station, retransmission station, different types of antennas, etc) a corresponding object diagram describing one of possible situations (like sending a news program across a country). Artifact set B-x describes a domain of GSM telephony. a class diagram describing different types of existing objects (mobile phone, BTS station, connection to conventional telephone network, etc) and a corresponding object diagram describing one of possible situations of using the network (like making phone calls in a given time). The experiment Short Lecture Introduction to stereotypes Not to telecommunication profile Questionare Pilot study 2 subject Results Questionaires not at the same level 23 Name Icon Description <<sender>> <<receiver>> <<transmitter>> makes the class capable of sending messages to classes stereotyped <<receiver>> or <<transmitter>>, allows the class to send messages without receiving them first, prevents the class from receiving any message, makes the class capable of receiving messages from classes stereotyped <<sender>> or <<transmitter>>, enables the class to receive a message without sending it further, prevents the class from sending any messages to other classes, makes the class capable of receiving messages from classes stereotyped <<sender>> or <<transmitter>> and sending the received messages to classes stereotyped <<receiver>> or <<transmitter>>, any message that is sent from such a class must be preceded by receiving of the message by this class 24

NRESP' 'number'of'correct'respinses' 12 10 Overall improvement 8% 0% 8 6 NRE SP 0S NRE SP 0N 15% Time spent 4 2 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 15% 62% both improve NRESP improves TSEC the same TSEC improves; NRESP the same NRESP improves; TSEC deteriorates TSEC improves; NRESP deteriorates both deteriorate 2500 0% 2000 1500 1000 500 TSEC-S TSEC-N Follow Up Replication Categorization Teaching 0 1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 25 26 Best Practices Education 'Tailoring'of'Development'Process' 'Defined'Artefacts'and'Crea;on'Procedures' 'Effec;ve'Usage'of's'and'ling' 'MDA'conforment' Consistency'Awareness'and'Management' Research'elements' Par;cipa;on'8'Conduc;ng'Experiments'During'the'Course' Passive'nd'Ac;ve' Transfer'of'Research'Results' proper and effective usage of advanced UML elements for instance where and how introduce stereotypes, how they can help, what benefits can be obtained usage of capabilities included in modelling tools Industrial'and'Professional'Relevance' Constant%Feedback%from%Par>cipants% 27 28