• No results found

Automating the Development of Information Systems with the MOSKitt Open Source Tool

N/A
N/A
Protected

Academic year: 2021

Share "Automating the Development of Information Systems with the MOSKitt Open Source Tool"

Copied!
80
0
0

Loading.... (view fulltext now)

Full text

(1)

Vicente Pelechano

Universidad Politécnica de Valencia

http://www.moskitt.org

Automating the Development

of Information Systems with

the MOSKitt Open Source Tool

(2)

Content

PART I: About the Project and the Tool

PART II: Advanced Features

(3)

Content

Project Overview

What is MOSKitt?

Technologies

Tools

Infrastructure

PART I:

About the

Project and the

Tool

(4)

Project Overview

The history begins with

gvPontis

Conselleria d’Infraestructures, Territori i

Medi Ambient (CITMA) (Infrastructures,

Territory and Environment Regional

Ministry)

Comunidad Valenciana Government

(Generalitat)

(5)

Project Overview

gvMétrica

: Software Development

Method

How to apply gvMétrica?

Document Templates

(6)

Project Overview

Free CASE tools survey:

April 2006

No tools satisfying most of the organization

requirements were found

Decision

: Develop “New” free CASE tool

UPV-PROS proposes Eclipse as technological platform

gvCASE Project

: Starts April 2007

(7)

Project Overview

Project  Participants

(8)

What is MOSKitt?

A free CASE tool built on Eclipse (EPL

license)

It provides the necessary tools for

supporting

gvMétrica

and much more...

Supports UML modeling language and

more...

(9)

What is MOSKitt?

MOSKitt has been conceived as a

Particular

” CASE tool

MOSKitt is a general

Framework

for the

definition and implementation of SW

production methods based on MDE

principles

MOSKitt can be easily adapted and

extended

(10)

Technologies

Eclipse Modeling Project

EMF

GMF

GEF

EMF Compare

EMF Search

UML2 Tools

Eclipse Process

Framework (EPF)

(11)

Technologies

ATL

AMW

XPand2

Xtend

Data Tools Platform

BPMN STP

JUnit

(12)

Technologies

Content Management System

Project Management Web App

Control Version

System

(13)

Distribution

Currently, MOSKitt is based on

Eclipse

Galileo

Now, we are Migrating to Eclipse

INDIGO

RC2 (3.7.2)

MOSKitt is distributed as a standalone

RCP

Modules

can be downloaded and installed

to build a concrete version of MOSKitt

adapted to user needs

(14)

General View

Method Support:

gvMÉTRICA

...

X

METHOD

Z

METHOD

TOOLS

INFRASTRUCTURE

RDB Designer

Method Designer

UML Editor

User Interface Modeling

Transformation Management

and Configuration

Model Synchronization

Traceability

Model Explorer

BPMN Editor

Sketcher

Graphical Editors

Artifacts Library

Forms Modeling Framework

(15)

Tools

Method Support:

gvMÉTRICA

...

X

METHOD

Z

METHOD

TOOLS

INFRASTRUCTURE

Transformation Management

and Configuration

Model Explorer

Model Synchronization

Graphical Editors

Traceability

Artifacts Library

RDB Designer

UML Editor

User Interface Modeling

BPMN Editor

Sketcher

Method Designer

(16)

BPMN Modeler

BPMN Modeling

Support

Administrative

Procedures

Lanes, Tasks,

SubProcess and

Control Flow

Document

Modeling

Groups and

Families of

Documents

Templates

(17)

UML2 Modeler

UML2

Modeling

Class

Sequence

State Transition

Activity

Use Cases

Support the

Definition

and

Application

of

UML Profiles

(18)

RDB Designer

RDB Modeling

Tables

Keys

Views

Users

Roles

Groups

DDL Generation

MySQL

PostgreSQL

Oracle

Reverse Engineering

(19)

User Interface

Modeling

User Interface

Modeling

User/Roles

System Views

Interaction Units

Navigations

Presentation

Options

Interface

Behavior

Interface

(20)

Sketcher

Sketcher

Window

Label

Button

Textbox

Checkbox

Table

Tab Panel

Bar Menu

Pagination

(21)

Infrastructure

Method Support:

gvMÉTRICA

...

X

METHOD

Z

METHOD

TOOLS

INFRASTRUCTURE

Forms Modeling Framework

Transformation Management

and Configuration

Model Explorer

Model Synchronization

Graphical Editors

Traceability

Artifacts Library

RDB Designer

UML Editor

User Interface Modeling

BPMN Editor

Sketcher

Method Designer

(22)

The MOSKitt Perspective

A Predefined Set of Views

Resource Explorer

Model Explorer

Model/Diagram Editor

Properties Tab

(23)

Forms Modeling

Framework (FMF)

Facilitates the

development of

Forms Editors to

manipulate Ecore

models

Links Widgets and

Model Elements

(24)

Transformation

Manager

Registering Transformations

Visualization

Organization

Prioritization

MOSKitt

Transformations

Executing Transformations

Input Parameters

Results, Validation and Execution

(25)

Transformation Manager

1. Transformation

Parameters

2. Configuration

3. Validation

4. Results

(26)

Transformation

Configuration

We can apply different design/implementation decisions

(configuration rules) to the same Input Model.

OnlyParentTable

OnlyChildTables

AllTables

(27)

Transformation

Configuration

FMF Forms

(28)

ModelSync and

Traceability

MOSKitt provides a complete framework for

supporting Model Traceability and Synchronization

MOSKitt provides M2M transformations to

automate and simplify modeling tasks

(29)

Artifacts Library

A repository to store pieces of diagrams to

be reused

(30)

Content

Process Support and Method

Engineering

Dealing with User Interfaces

Model Transformations and Code

Generation

PART II:

Advanced

(31)

Process Support and

Method Engineering

http://www.moskitt.org

Dashboard

and

Moskitt4ME

(32)

Dashboard

Simple DSL for Specifying Development

Processes

Method Modeler

Method Interpreter

Integrated Workbench

(33)

Dashboard

Tasks

Task Dependencies

I/O Resources, References to Resources

Actions:

open

Editor,

execute

Transformation...

(34)

Dashboard

Analysis task is Finished and its Resources are

Completed

(“

Finished

”)

The Dependency between Analysis and Design tasks

is

Resolved

Doing/Executing the Design Task (“

ToDo

”)

(35)

Dashboard

Dashboard Interpreter

Link and Edit

Resources

Open Editors

(36)

MOSKitt4ME

A Methodological Framework to support the

specification of methods and the generation

of CASE tools following MDE and ME

principles.

!

!

Method!Base!

Method'Design'

Method'Implementa2on'

CASE'Environment'

Method!

Process

!

Support!

Method!

Product

!

Support!

M2T'

Transforma2on'

4ME

Store'

Retrieve'

Model'Driven'Engineering'

!

!

!

!

!

!

!

Method'Model'

!

!

!

!

!

!

!

Product'Part'

!

!

!

!

!

!

!

Process'Part'

(37)

MOSKitt4ME

Method Design

Method model SPEM 2.0 standard.

Reuse of method fragments.

4ME

(38)

MOSKitt4ME

Method Configuration

Reusable assets (RAS standard).

Repository includes: editors, model transformations, etc.

Must be associated with method elements to indicate

how these elements will be managed in the generated

CASE environment.

4ME

(39)

MOSKitt4ME

Method Implementation

Method

process

supported by a process engine

Method

product

supported by reusable assets

!

!

!

!

!

!

!

!

!

!

Method'Model'

!

!

!

!

!

!

!

Method'Design'

!

!

!

Method'Base'

Method'Configura4on'

!

!

!

Asset'Base'

So7ware'Pla:orm'

Method'Implementa4on'

Method!

Process

!Support!

!

!

Configured'Method'Model'

!

!

!

!

!

!

!

references' references' references'

!!!!!!

Process!Engine!

Method!

Product

!Support!

!

(40)
(41)
(42)

MOSKitt4ME

Tasks can be filtered by:

Roles

State (All, Pending)

Use Colors to distinguish Task State:

Optional

Executable

Not Executable

Done

(43)

Dealing with UIs

http://www.moskitt.org

User Interface Model

(

UIM

)

and

(44)

UIM: User Interface Modeling

A DSL for Modeling User Interfaces

Technology Independent (

Abstract

)

Integrated into the Development Method

Linked to Data Models (UML2, DB, Ecore, …)

Generated from other Models (if necessary and

possible)

(45)

UIM. The Language

Views

Parts of the overall user interface

Users

(46)

UIM. The Language

Interaction Units (IU)

An interaction between the

system and the user

Kinds of IUs

Information

Editable Information

Operation

Navigation

Selection

Composite

Pattern

(47)

UIM. The Language

Information IUs:

Data Model View

Additional UI Properties:

Ordering

Filtering

Masks

Triggers

(48)

The Sketcher

Allows designing

more

concrete

User

Interfaces while preserving the

Technology

Independence

Focused on

Design Concerns of UIs

Uses a

visual notation

that provides a closer

view to what the

End User

expects

Provides Abstract Widgets commonly used

in UI design

(49)

The Sketcher

Large library of user interface controls/

widgets:

textbox, table, listbox etc...

Template support to facilitate the

definition of UIs

(50)

The Sketcher

UIM

SKETCHER

(51)

The Sketcher

Connected to UML

Models:

Behavior

Structure

Connected to DB:

Data Persistence

(52)

Model Transformations

M2M

and

M2T

to automate the SW

(53)

Model Transformations

BPMN

(54)

Model Transformations

BPMN

UML2

(55)

Model Transformations

BPMN

UML2

Sketcher

(56)

Code Generation

Protected Zones

can be used to preserve

developers changes (codification)

(57)
(58)
(59)

Content

Industrial Projects

Research Projects and Extensions

Project Timeline

Some Statistics

Lessons Learned

PART III:

Industry,

Research and

Lessons

(60)

Industrial Projects

Dirección General de Tecnologías de la Información

(61)
(62)
(63)

Research Projects

(64)

Research Projects

(65)
(66)

Collaborations

MDT/Papyrus

subproject within the Eclipse

Model Development Tools (MDT) Project

Main Goal

: Develop advanced editors for UML

and and SysML.

We implemented the UML

Sequence Diagram

Participants

: CA LIST (

Papyrus

project leaders),

Airbus (

TopCased

), Atos Origin, Obeo and

(67)

Project Timeline

RDB Designer, DDL

Generation and Reverse

Engineering

UML2 + Profiles

WBS

FEFEM

Transformation Manager

Transformation

Configuration

Traceability and

Synchronization

4/2007

11/2008

11/2009

12/2010

10/2011

1.3.1

1.3.7

6/2012

1.3.9

0.7.2

Starts

1.0.1

(68)

Project Timeline

gvMétrica Development Process Support. The

Dashboard

User Interface Modeling (

UIM

)

Code Generation in PHP (

first gvHidra prototypes

)

Business Process Modeling (

BPMN

)

Interoperability and Integration with Third Party Tools

4/2007

11/2008

11/2009

12/2010

10/2011

1.3.1

1.3.7

6/2012

1.3.9

0.7.2

1.0.1

Starts

2.0

(69)

Project Timeline

4/2007

11/2008

11/2009

12/2010

10/2011

1.3.1

Sketcher + User Interface Patterns Editor

Sketcher and UIM Integration

Code Generation in gvHidra (

PHP5

)

Code Generation in gvNIX (

Java

)

Usability, Stability and Performance Improvements

1.3.7

6/2012

1.3.9

0.7.2

1.0.1

Starts

2.0

(70)

Project Timeline

4/2007

11/2008

11/2009

12/2010

10/2011

1.3.1

Code Generation in OpenXava (Java/AJAX)

MOSKitt4ME. Method Engineering Support

Usability, Stability and Performance Improvements

Code Generators Improved

New Transformations (

UML2Sketcher

)

ModelSync Improved

1.3.7

6/2012

1.3.9

0.7.2

1.0.1

Starts

Now

: Maintaining and Improving MOSKitt

(71)

Some Statistics

1.800

downloads in 2007,

2.117

downloads in

2008...

61%

28%

12%

OS

Windows Linux Mac OS X

Windows

Linux

Mac

Modules/

Other

TOTAL

2009

3.156

809

453

2.056

6.474

2010

3.831

1.414

737

1.412

7.394

2011

2.104

1.817

581

2.765

7.267

2012

606

415

70

225

1.316

TOTAL

9.697

4.455

1.841

6.458

22.451

(72)

Some Statistics

Aprox. 12 Million Euros

Project Statistics in OHLOH

(73)

Lessons Learned

Expressive Power vs. Usability vs.

Implementability

.

Difficult to Balance

Ergonomi

cs

:

If editing the model is more

cumbersome than implementing functionality in the

code, developers will hardly switch to MDD

Infer Knowledge avoid Over Specification:

Everything that can be reasonably inferred from

the context must not be specified

(74)

Lessons Learned

Openness

.

Forget a Closed Tool. Prepare your Tool to

be extended, adapted, modified by expert users

Open the Code Generation

Extensibility of the Models.

Prepare the Models to be

Extended in an easy way

Modeling UI at Abstract level is complex and

tedious.

Sketch/Draw the UI

Reusability

.

Promote Reuse...Support Reuse. Introduce

Systematic Reuse (software product lines, model

(75)

Lessons Learned

Building Software is a Complex Task...MDD

can help but...It is not a Silver Bullet yet

MDD: Promotes and Facilitates Abstraction,

Automation, Communication

Introducing MDD in Software Production

Methods is an INVESTMENT not a COST but

could be EXPENSIVE in the short term

(76)

Lessons Learned

MDD should be gradually introduced

Many times it is not possible to generate the 100%

of the code

HIGHER % of generated code

requires

HIGHER

MODELS complexity and completeness

HIGHER number of Domains, Types of Projects,

etc., leads to a HIGHER difficulty to generate

100% code and LESS Reuse

(77)

Download and try

MOSKitt!!

(78)

Contribute

Develop a Module that can be Integrated

into MOSKitt

Participate in the Development of MOSKitt

Basic Modules

Adapt existing Modules

PROFILES

(79)

Contribute

Mailing Lists

https://moskitt.org/lists/mailman/listinfo/moskitt-en

https://dev.eclipse.org/mailman/listinfo/spain-ec

Eclipse Project Repository

(80)

Vicente Pelechano

Universidad Politécnica de Valencia

http://www.moskitt.org

References

Related documents

Home  interactive  video  conferencing  and  monitoring  are  covered  and  reimbursable  services   under  Kansas

More specifically, they highlight a number of issues that mental health professionals and service providers attempting to provide support to young British Pakistani adults

We also observe that in the high divergence case a small positive value of is su¢ cient to generate two fundamental equilibria (an optimistic and a pessimistic belief

Even if canopy closure and light interception were similar for common bean and cowpea at low densities compared with medium densities, total aboveground biomass and grain yields

Recording attendance using paper register is done with employees having to sign in and out daily, providing details like name, employee ID, date, time, signature etc.,

The proportion of IMA members who re- ceived additional compensation was 75%, up from 73% last year. The only exception is 2001, when 90% of participants reported some form of

On the other hand, the high rate of cognitive impair- ment among late-life immigrant Mexican-American women underscores the need for researchers and policy- makers to consider