Model-Driven Development of a Biosignal Analysis Framework: Benefits and Impacts on Processes. Nikolas Hofmann 08.11.2012



Similar documents
Foundations of Model-Driven Software Engineering

A Software Development Platform for SOA

Comparison of Model-Driven Architecture and Software Factories in the Context of Model-Driven Development

Course 4 27 October Adrian Iftene adiftene@info.uaic.ro

Frameworks of Process Improvement for Mobile Applications

OMG SOA Workshop - Burlingame Oct 16-19, 2006 Integrating BPM and SOA Using MDA A Case Study

Automatic Generation Between UML and Code. Fande Kong and Liang Zhang Computer Science department

Component-Oriented Engineering

Design a medical application for Android platform using model-driven development approach

Agile Modeling and Design of Service-Oriented Component Architecture

Revel8or: Model Driven Capacity Planning Tool Suite

All you need are models Anneke Kleppe, Klasse Objecten

Software Engineering. System Modeling

Overview. Stakes. Context. Model-Based Development of Safety-Critical Systems

Advanced Software Engineering. Software Development Processes

Test Driven Mobile Applications Development

From Business World to Software World: Deriving Class Diagrams from Business Process Models

CHAPTER 2 LITERATURE SURVEY

Difference Between Model-Driven and Traditional Iterative Software Development

Software Factories: Assembling Applications with Patterns, Models, Frameworks, and Tools

How To Test On A Model Driven Test On An Embedded System

Basic Trends of Modern Software Development

Web Services - Consultant s View. From IT Stategy to IT Architecture. Agenda. Introduction

Applying 4+1 View Architecture with UML 2. White Paper

Generating the PIM Behavioral Model from the CIM using QVT

Model Driven Benchmark Generation for Web Services

Toward Families of QVT DSL and Tool

Enterprise Architecture Review

Model-driven secure system development framework

What is Enterprise Architect? Enterprise Architect is a visual platform for designing and constructing software systems, for business process

A Service-Oriented approach dedicated to Internet based Business Process Networks: Building a MDA based collaborative platform with opensource

Integrated Development of Distributed Real-Time Applications with Asynchronous Communication

A Model Driven Architecture Approach to Web Development

HybridMDSD: Multi-Domain Engineering with Model-Driven Software Development using Ontological Foundations

Software Life Cycle. Main issues: Discussion of different life cycle models Maintenance or evolution

CS4507 Advanced Software Engineering

Five best practices for deploying a successful service-oriented architecture

The value of modeling

Jairson Vitorino. PhD Thesis, CIn-UFPE February Supervisor: Prof. Jacques Robin. Ontologies Reasoning Components Agents Simulations

Visual Modelling: past, present and future

Model-Driven Software Produces Truly Agile Solutions

Developing in the MDA Object Management Group Page 1

Using MDA in Web Software Architectures

An Agent Based Etl System: Towards an Automatic Code Generation

Open Source egovernment Reference Architecture Osera.modeldriven.org. Copyright 2006 Data Access Technologies, Inc. Slide 1

MDA Transformations Applied to Web Application Development 1

SOFTWARE ENGINEERING PROGRAM

The GAMP Guide s1 definition of the system

MODEL DRIVEN DEVELOPMENT OF BUSINESS PROCESS MONITORING AND CONTROL SYSTEMS

Modeling Turnpike: a Model-Driven Framework for Domain-Specific Software Development *

CHANGEABILITY IN MODEL DRIVEN WEB DEVELOPMENT

The Value of Modeling

The Software Development Process

MDA Journal A BPT COLUMN. David S. Frankel. January Until February. David Frankel

Building a Flexible Software Factory Using Partial Domain Specific Models

How To Model Software Development Life Cycle Models

MODELING AND GENERATING THE USER INTERFACE OF MOBILE DEVICES AND WEB DEVELOPMENT WITH DSL

F-16 Modular Mission Computer Application Software

Model Driven Development Future or Failure of Software Development?

Business Model Interoperability using Enterprise Model Integration

mdwfs Model-driven Schema Translation for Integrating Heterogeneous Geospatial Data

Information systems modelling UML and service description languages

Enhanced Model Driven Architecture Software Development Life Cycle with Synchronized and Consistent Mapping

Development Process Automation Experiences in Japan

Asset Based Development

Transcription:

Model-Driven Development of a Biosignal Analysis Framework: Benefits and Impacts on Processes Nikolas Hofmann

Introduction Biosignal analysis has versatile applications in medicine Mobile devices allow new scenarios Used systems vary: Hardware Platform (OS, frameworks, ) Software tools, e. g. processing software Programming languages But: processes and methods of biosignal analysis remain in general the same! Introduction Seite 2

Introduction Features Acquisition and processing of biosignals Real-time: infinite signals Support of different platforms, here Java and Matlab Quality attributes: Scalability Multi-platform support Ease-of-use Introduction Seite 3

Introduction The systems share main features they constitute an application family/ product line Reuse of abstract Knowledge Structures Application frameworks address this type of reuse Provide domain-specific structures and functionalities Allow wide range of applications Introduction Seite 4

Model-driven software development Model-driven software development (MDSD) Developing models from which a software system can (partly) be generated Mapping the problem domain to the technology domain Architecture is splitted up Application architecture Domain architecture Models Platforms and their transformations Model-driven software development Seite 5

Model-driven software development Model Metamodel Intention of models in MDSD gets more prescriptive than describtive Defines a domain-specific language (DSL) Meta-metamodel Defines elements of the metamodel Self-describing Model-driven software development Seite 6

Model-Driven software development Models in the Model-Driven Architecture (MDA) by the OMG Computing independent model (CIM) Platform independent model (PIM) Platform specific model (PSM) Transformations Link or combine models ( mapping ) Manually or automatically Model-driven software development Seite 7

Model-Driven software development Models in the Model-Driven Architecture (MDA) by the OMG Computing independent model (CIM) Platform independent model (PIM) Platform specific model (PSM) Model-driven software development Seite 8

Development process Overview: Development process Seite 9

Development process Domain architecture tasks Roles: Domain expert Domain analyst Domain architect Application developer (customer) Development process Seite 10

Development process Rather agile development Short iterations Prototyping Refactoring Advantages: Considering feedbacks between processes Supports learning of the different tools Development process Seite 11

Domain architecture: domains Decomposition of the system along two axis Horizontal: technical domains (layering) Vertical: problem/ subject domain, scopes (components) Example domain biosignal analysis: Several steps: acquisition, transport, processing, visualisation Domein architecture: domains Seite 12

Domain architecture: domains Domein architecture: domains Seite 13

Domain architecture: prototyping First a prototype for one platform Validation of requirements Testing of technologies and domain concepts Represents one member of the application family Afterwards implementation on another platform Domain architecture: prototyping Seite 14

Development process Development process Seite 15

Domain architecture: reference implementation Refined implementation of the first prototypes Aims at developing the domain architecture Used as reference Results of domain architecture development continuously compared with Domain architecture: reference implementation Seite 16

Domain architecture: retrieving models Models Abstraction of all reference prototypes Platform Independent Models (PIMs): Implemented here as textual DSL Languages and models are developed alternately Comparison with reference model demands code generation Development of generators in parallel Domain architecture: retrieving models Seite 17

Development process Development process Seite 18

Domain architecture: transformations More levels of abstraction are necessary Seperation of concerns (domains) Reduction of complexity Biosignal data structures modelled as PIM Platform-specific details moved to PSMs Allows multiple-platform support Differences are e.g. the dealing with data sequences (arrays vs. matrices) reuse of PIMS (more abstract models) Domain architecture: transformations Seite 19

Domain architecture: code generation Source code can be generated from models Model-to-text transformation Generators For each target language Domain architecture: code generation Seite 20

Discussion Short iterations Support interaction between different tools Allow feedbacks distribution of tasks to different roles or persons parallel development Reduce risks Development of models and transformations for an additional platform can be done with less effort Initial effort is high Development strongly relies on tools Which are often in an early development stage Changing and incompatible versions Discussion Seite 21

Thank you for your attention! Nikolas Hofmann