extremo - automated modelling assistance by integrating...

18
Extremo Extremo Automated modelling assistance by integrating heterogeneous information sources . ´ A. Mora Segura 1 J. de Lara 1 P. Neubauer 2 M. Wimmer 2 1 Modelling and Software Engineering Research Group Universidad Aut´onoma de Madrid 2 CDL-MINT, Business Informatics Group TU Wien 2018

Upload: others

Post on 30-Oct-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Extremo - Automated modelling assistance by integrating ...angel539.github.io/extremo/slides/article.pdf · external sources such as XML documents or ontologies. To create models

Extremo

ExtremoAutomated modelling assistance by integrating heterogeneous

information sources

. A. Mora Segura1 J. de Lara1

P. Neubauer2 M. Wimmer2

1Modelling and Software Engineering Research GroupUniversidad Autonoma de Madrid

2CDL-MINT, Business Informatics GroupTU Wien

2018

Page 2: Extremo - Automated modelling assistance by integrating ...angel539.github.io/extremo/slides/article.pdf · external sources such as XML documents or ontologies. To create models

Extremo

Table of Contents

1 Motivation

2 What is already done...ArchitectureTool Support

3 What we are currently doing...

Page 3: Extremo - Automated modelling assistance by integrating ...angel539.github.io/extremo/slides/article.pdf · external sources such as XML documents or ontologies. To create models

Extremo

Motivation

Looking for a way to reuse existing knowledge

Model-Driven Engineering (MDE) uses models as its main assets inthe software development process.High quality models are pivotal for the success of MDE.Nevertheless, they are mostly built in an unassisted way, with nomechanisms for reusing existing knowledge.

Page 4: Extremo - Automated modelling assistance by integrating ...angel539.github.io/extremo/slides/article.pdf · external sources such as XML documents or ontologies. To create models

Extremo

Motivation

Metamodelling expert vs Domain Expert

Figure: Motivation: Filling the gap between being a metamodellingexpert and a domain expert

Page 5: Extremo - Automated modelling assistance by integrating ...angel539.github.io/extremo/slides/article.pdf · external sources such as XML documents or ontologies. To create models

Extremo

Motivation

Overview

We propose an extensible approach to provide assistance duringthe modelling process.

Technological

spacesAssistant Eclipse Infraestructure

Repository Set

Heterogeneous

information sources

Descriptor

(OWL, Ecore, RDF

schema, XSD…)

Description

(OWL, XMI, RDF

instances, XML…)

<<conforms_to>>

Query

Facility

Constraint

Facility

Visualization

support

(for repositories,

queries and

constraints)

Assistant

manager

Integration with a

modelling tool

Working schema

Modelling tool

1

2

4

53

Figure: Overview of the approach

Page 6: Extremo - Automated modelling assistance by integrating ...angel539.github.io/extremo/slides/article.pdf · external sources such as XML documents or ontologies. To create models

Extremo

Motivation

Our approach is useful...

As support for the development of new domain meta-models.This way, domain concepts and vocabulary can be sought inexternal sources such as XML documents or ontologies.

To create models for a particular domain. In this case, modelelements conforming to the same or similar meta-model canbe incorporated into the model being built.

To design a “concept” meta-model [1]. A concept is aminimal meta-model that gathers the core primitives within adomain, e.g., for workflow languages.

Page 7: Extremo - Automated modelling assistance by integrating ...angel539.github.io/extremo/slides/article.pdf · external sources such as XML documents or ontologies. To create models

Extremo

Motivation

Our approach is useful...

To aggregate multiple existing models into a model-basedproduct line [2, 3]. In this approach, a description of thespace of possible features of a software system is created,typically through a feature model. The choice of featuresimplies the selection of a software model variant. This way,there is a need for understanding an existing family of modelsand to describe their variability.

To detect “bad smells” [4] or signs of bad modellingpractices [5] in a set of resources.

Page 8: Extremo - Automated modelling assistance by integrating ...angel539.github.io/extremo/slides/article.pdf · external sources such as XML documents or ontologies. To create models

Extremo

What is already done...

Architecture

Architecture

AssistantManager

<<Data Model>>Core

Ecore Assistant

Ontologies Assistant

XML AssistantRepository

Manager

Query Facility

Constraint Interpreter Facility

contributes to

<<Eclipse Plugin Infraestructure>>

UI

controls

communicateswith

<<neoEMF>>Model

persistence

assistant

search

constraintinterpreter

contributes to

contributes to ConstraintInterpreter

Simple SearchConfiguration

Figure: Architecture of the proposal

Page 9: Extremo - Automated modelling assistance by integrating ...angel539.github.io/extremo/slides/article.pdf · external sources such as XML documents or ontologies. To create models

Extremo

What is already done...

Architecture

Architecture

Ontologies

Repositorymanager

Queryfacility

Core

ConstraintInterpreter facility

Ecore

RegexDataProperty

assistant search constraintinterpreter

XMLText

MetaDepth

XMLAssistant

SemanticNodeSearch

OclConstraintInterpreter

… …

Figure: Architecture of the Core component

Page 10: Extremo - Automated modelling assistance by integrating ...angel539.github.io/extremo/slides/article.pdf · external sources such as XML documents or ontologies. To create models

Extremo

What is already done...

Architecture

Architecture

<< ViewPart>>Repository

UI

<< ViewPart>>Constraint Results

sorter / filter

Core

<< ViewPart>>Search Results

<< ViewPart>>ResourceExplorer

Zest

action drag & drop

:configurations

:RepositoryManager:SearchResult

<< WizardDialog >>Search

:ConstraintResult

<< Menu >>CompositeQuery

:SearchResult

Figure: Architecture of the UI component

Page 11: Extremo - Automated modelling assistance by integrating ...angel539.github.io/extremo/slides/article.pdf · external sources such as XML documents or ontologies. To create models

Extremo

What is already done...

Architecture

The ingredients of a modelling assistanceThe handling of heterogeneous sources through a common data model

* resources

DataPropertyvalue : Stringtype : Type

ObjectProperty

NamedElementname : String

properties *

*

*resourceElements

SemanticNode

supers *

Resourceuri : String

1 range

Repositoryname : StringprojectPath: String

abstract : boolean

subs *

* describes* descriptors

RepositoryManager

lowerBound : intupperBound : int

* repositories

type : Stringname : Stringbody : String

*constraints

«enumeration»Type

stringintbooleanfloatdouble

key : Stringvalue : String

ResourceElement* metadata

inverseOf0..1

Generalization relations

Instancesrelations

Properties

Multilevelagnostic

Technology-specificdetails thatdo not fit into thecommondata model

Figure: The common data model

Page 12: Extremo - Automated modelling assistance by integrating ...angel539.github.io/extremo/slides/article.pdf · external sources such as XML documents or ontologies. To create models

Extremo

What is already done...

Architecture

The ingredients of a modelling assistanceThe uniform support for queries

filterBy : DataModelType

0..* results{ordered, redefines

results}

<<extensible>>Service

0..* configurations

SearchConfiguration

name: String

CompositeSearchConfigurationtype: ConnectionType

«enumeration»ConnectionType

orandnot

RepositoryManager

results 0..*

0..* values

«enumeration»DataModelType

ResourceSemanticNodeDataPropertyObjectProperty

{ordered}

boolean matches(expression: String, value: String)

name: StringfilterBy: Type <<from dataModel>>

GroupedSearchResult

SemanticGroup0..* groups

«from dataModel»NamedElement

0..* elements

applyOnE

lements

0..*

AtomicSearchResult

0..* elements

SearchResult0..1 calls

0..*services

0..* children

«extensible»PredicateBasedSearch

«extensible»CustomSearch

SimpleSearchConfiguration

init(inputs: SearchParamValue[*])boolean matches(n: NamedElement)

search(result: SearchResult)

0..*options

PrimitiveTypeParam

type : Type <<from dataModel>>

ModelTypeParam

SearchParam

id : Stringname : String

SearchParamValue

value : String

PrimitiveTypeParamValue

value : String

ModelTypeParamValue

«from dataModel»NamedElement

1 value

type : DataModelType 1 option

1 option

inputSearchResults 0..*

configuration 1

Iteration performed internally(driven by the engine)

Iteration performedexternally (driven bythe user code)

Extensibleapproach

Parametrizedqueries

Figure: Meta-model of our extensible query mechanism

Page 13: Extremo - Automated modelling assistance by integrating ...angel539.github.io/extremo/slides/article.pdf · external sources such as XML documents or ontologies. To create models

Extremo

What is already done...

Architecture

The ingredients of a modelling assistanceThe managing of constraints

type: Stringname: Stringbody: String

RepositoryManager

* constInterpreters«extensible»

ConstraintInterpretertype: String

Constraint

«from dataModel»NamedElement

name : String 1 appliedTo boolean eval(c: Constraint, n: NamedElement)

* constraints

ConstraintResult

1 constraint

* unsat

evaluations

«from dataModel»Resource

0..1 context

*

* evals

JavaObject1 trace

Figure: Meta-model of the extensible constraint handling mechanism

Page 14: Extremo - Automated modelling assistance by integrating ...angel539.github.io/extremo/slides/article.pdf · external sources such as XML documents or ontologies. To create models

Extremo

What is already done...

Tool Support

ExtremoAutomated modelling assistance by integrating heterogeneous information sources

Computer Languages, Systems and Structures. Volume 53, 2018,Pages 90-120, ISSN 1477-8424

UI

Figure: Extremo in Action: Search Wizard Dialog and views

Page 15: Extremo - Automated modelling assistance by integrating ...angel539.github.io/extremo/slides/article.pdf · external sources such as XML documents or ontologies. To create models

Extremo

What is already done...

Tool Support

Preliminary evaluation (DONE)

RQ1: How useful is Extremo to solve practical problemsin Language Engineering? Two demonstration cases. Inboth of them, Extremo was used to support the developmentof complete DSL implementations for process modelling in theimmigration domain and modelling of production systems.

RQ2: How capable is Extremo to represent informationcoming from different technological spaces? An analyticalevaluation to assess how well Extremo’s data model covers thespace of possible information description approaches.

RQ3: How integrable is Extremo? One of the salientfeatures in Extremo is the possibility of integrating it withthird-party tools. Having already successfully integrated anumber of tools with Extremo, we intend to assess the reachand limitations of the integration mechanism.

Page 16: Extremo - Automated modelling assistance by integrating ...angel539.github.io/extremo/slides/article.pdf · external sources such as XML documents or ontologies. To create models

Extremo

What we are currently doing...

Present work (TO-DO)

Improve the performance of the tool in order to importand query bigger models, using a design for the importers toallow some levels of concurrency.

A study with users. Evaluate the perceived usefulness ofExtremo by engineers in order to perform different modellingtasks (e.g., construct or modify a model). Compare thequality of the resulting models, and the effectivenes of themodelling task, with respect to not using assistance.

Page 17: Extremo - Automated modelling assistance by integrating ...angel539.github.io/extremo/slides/article.pdf · external sources such as XML documents or ontologies. To create models

Extremo

What we are currently doing...

J. S. Cuadrado, E. Guerra, J. de Lara, A component model formodel transformations, IEEE Transactions on SoftwareEngineering 40 (11) (2014) 1042–1060.

K. Czarnecki, M. Antkiewicz, Mapping features to models: Atemplate approach based on superimposed variants, in: GPCE,Springer-Verlag, Berlin, Heidelberg, 2005, pp. 422–437.

A. Polzer, D. Merschen, G. Botterweck, A. Pleuss, J. Thomas,B. Hedenetz, S. Kowalewski, Managing complexity andvariability of a model-based embedded software product line,Innovations in Systems and Software Engineering 8 (1) (2012)35–49.

N. Moha, Y. Gueheneuc, L. Duchien, A. L. Meur, DECOR: Amethod for the specification and detection of code and designsmells, IEEE Trans. Software Eng. 36 (1) (2010) 20–36.

Page 18: Extremo - Automated modelling assistance by integrating ...angel539.github.io/extremo/slides/article.pdf · external sources such as XML documents or ontologies. To create models

Extremo

What we are currently doing...

D. Aguilera, C. Gomez, A. Olive, Enforcement of conceptualschema quality issues in current integrated developmentenvironments, in: Proc. CAiSE, Vol. 7908 of Lecture Notes inComputer Science, Springer, 2013, pp. 626–640.