Challenges for Model-‐Integrating Components

5 downloads 124033 Views 2MB Size Report
Oct 28, 2015 - Presentation of the Android application acting as the running example. .... software architect software engineer modeling language designer.
Challenges  for
 Model-­‐Integrating  Components Presented  at  ModComp  2015,  Ottawa,  Canada
 
 Mahdi  Derakhshanmanesh1,  Jürgen  Ebert1  and  Marvin  Grieger2
 {manesh,  ebert}@uni-­‐koblenz.de1
 marvin.grieger@uni-­‐paderborn.de2

Agenda Introduction

Running  Example:  Insurance  Sales  App

Comprehensive  Language  Models

Initial  List  of  Challenges

Conclusions  and  Future  Work

Tuesday,  October  28th,  2015

2

Presentation  of  the  motivation  behind  this  research.

INTRODUCTION

Tuesday,  October  28th,  2015

3

Background:  MoCos We  extend  former  work  on  Model-­‐Integrating  Software   Components  (MoCos).  [Derakhshanmanesh2014MSC] Software  engineers  can  choose  to  realize  some  parts  of  a   system  programmatically  in  code,  while  other  parts  are  kept   as  models.   The  MoCo-­‐approach  combines  models  described  using
 arbitrary  Domain-­‐Specific  Modeling  Languages  (DSMLs)  and   embeds  them  within  software  components. Tuesday,  October  28th,  2015

4

Advantages  of  MoCos Expected  advantages  of  MoCos  are   ▪ Enhanced  flexibility   ▪ Support  of  separation  of  concerns   ▪ Understandability  and  maintainability   ▪ Self-­‐documentation   ▪ No  synchronization  problem   ▪ …

Tuesday,  October  28th,  2015

[Derakhshanmanesh2014WMA]

5

Modeling  Language  Infrastructure An  infrastructure  is  required  that  provides  all  model-­‐specific   services  in  a   [Derakhshanmanesh2014MSC] ▪ light-­‐weight,   ▪ homogeneous,   ▪ formally  sound,   ▪ easily  to  learn  and   ▪ efficient   form  to  support
 creating  new  modeling
 languages  for  MoCos. Modeling  API

Java  Virtual  Machine

Tuesday,  October  28th,  2015

6

Research  Problems  and  Contributions Developing  model-­‐integrating  software  systems  requires   support  for  building  models,  binding  models  into   components  and  using  models.   (1) How  to  specify  modeling  languages  comprehensively
 for  generating  adequate  runtime  support  for  them?   (2) What  are  challenges  for  modeling  languages  in  the
 context  of  MoCos?   We  (i)  express  the  need  for  Comprehensive  Language   Models  (CLMs)  and  (ii)  provide  a  description  of  challenges. Tuesday,  October  28th,  2015

7

Presentation  of  the  Android  application  acting  as  the  running  example.

RUNNING  EXAMPLE:
 INSURANCE  SALES  APP  (ISA) Tuesday,  October  28th,  2015

8

MoCo-­‐based  ISA  Client  (Screenshot) The  Insurance  Sales  App   (ISA)  is  a  prototypical   application  for  Google’s   Android  to  evaluate  the   feasibility  of  MoCos.   ISA’s  purpose  is  to  support   field  staff  in  the  insurance   domain  with  sales  tasks. [Derakhshanmanesh2014MSC] Tuesday,  October  28th,  2015

9

MoCo-­‐based  ISA  Client  (Architecture)

Tuesday,  October  28th,  2015

10

MoCo-­‐based  ISA  Client  (Architecture)

Tuesday,  October  28th,  2015

10

MoCo-­‐based  ISA  Client  (Components) A  certain  part  of  ISA  is   encoded  in  models  that  are   used  at  runtime:   i. Feature  trees  
 for  architectural   reconfiguration,   ii. Computation  script  
 for  insurance  fee  formulas   and     iii. Graphical  user  interfaces   for  data  presentation  and   user  input  capturing. Tuesday,  October  28th,  2015

(i)

(iii)

(ii) 11

A  concrete  example  for  comprehensive  language  models  based  on  ISA.

COMPREHENSIVE  LANGUAGE   MODELS  (CLM) Tuesday,  October  28th,  2015

12

Overview Modeling  languages  need  to  be  comprehensively  specified   to  be  usable  in  the  context  of  MoCos:   ▪ Syntax   ▪ Semantics   ▪ Pragmatics   We  refer  to  such  a  specification  of  a  modeling  language  as  a   comprehensive  language  model  (CLM).   An  essential  activity  is  to  modularize  and  to  integrate  CLMs. Tuesday,  October  28th,  2015

13

Example:  CLMc  (Syntax)

Tuesday,  October  28th,  2015

14

Example:  CLMc  (Semantics)

Tuesday,  October  28th,  2015

15

Example:  CLMc  (Pragmatics)

Tuesday,  October  28th,  2015

16

Example:  CLMc  +  CLMg  (Integration)

Tuesday,  October  28th,  2015

17

Example:  CLMc  +  CLMg  (Integration)

Tuesday,  October  28th,  2015

17

Example:  CLMc  +  CLMg  (Integration)

Tuesday,  October  28th,  2015

17

The  initial  list  of  challenges  for  modeling  languages  in  MoCos.

INITIAL  LIST  OF  CHALLENGES

Tuesday,  October  28th,  2015

18

Motivation In  the  context  of  model-­‐integrating  software  components,   there  is  a  need  for  the  specification  of  new  domain-­‐specific   modeling  languages.   As  a  basis,  we  are  compiling  an  initial  proposal   (Comprehensive  Language  Models)  using  existing   approaches  and  technologies.   We  play  the  role  of  a  user  of  modeling  technologies  here. Tuesday,  October  28th,  2015

19

Challenges  (Overview)

In Tuesday,  October  28th,  2015

te e l p m o c 20

Challenges  (Overview)

In Tuesday,  October  28th,  2015

te e l p m o c 20

C1:  Modularization  of  Metamodels   A  standardized  approach  for   “metamodel  components”  is   missing.   Less  “intrusive”   orchestration  of  modeling   languages  would  be   desirable  (in  some  cases).

Tuesday,  October  28th,  2015

21

C3:  Links  between  Different  Models Architectural  decomposition   based  on  functionality   dictates  a  clean  separation  of   concerns.   The  flexibility  that  comes   with  the  ability  to  operate  on   one  interconnected  model   can  no  longer  be  leveraged.

Tuesday,  October  28th,  2015

or

22

C5:  Specification  of  Semantics software   architect

The  models  in  MoCos  are   not  only  used  as  pure  data   (similar  to  databases)  but   some  are  also  executed.   A  specification  must  be   sufficiently  formal  but  also   adequately  practical.   ▪ Views  on  semantics

Tuesday,  October  28th,  2015

uses

specifies

modeling   language   designer

implements

software   engineer 23

C6:  Realization  of  Model  Execution A  commonly  accepted   proposal  for  realizing  model   semantics  is  lacking:   i. Stand-­‐alone  interpreters   ii. Weaved  interpreters   iii. Code  generators   


interprets

(i)

executes

(ii)

Each  approach  has  its   advantages  and   disadvantages. (iii) Tuesday,  October  28th,  2015

reads

Code   Generator

Model   Interpreter

Execution   Environment

generates

Source   Code  in   GPL   24

C9:  Services  on  Models A  strategy  and  a  set  of   mechanisms  is  required  to   specify  context-­‐specific   services  on  models.   ▪ Foreseen  services   ▪ Unforeseen  services

Tuesday,  October  28th,  2015

25

Presentation  of  this  research‘s  summary.

CONCLUSIONS  AND  FUTURE  WORK

Thursday,  October  2nd,  2014

26

Conclusions We  conclude  that  an  infrastructure  is  needed  that  provides   all  model-­‐specific  services  in  a   ▪ light-­‐weight,   ▪ homogeneous,   ▪ formally  founded,   ▪ easily  understandable,  and   ▪ efficient  manner   using  a  comprehensive  technological  modeling  space  supplying
 full  modeling  and  metamodeling  support,  and  coherent   interoperable  services  based  on  a  powerful  data  structure. Tuesday,  October  28th,  2015

27

Future  Work In  terms  of  future  work,  we  plan   (1) to  define  one  solution  concept  for  comprehensive   language  models  that  works  for  the  context  of  MoCos,
 and   (2) to  provide  a  prototypical  implementation  of  the   modeling  infrastructure  that  supports  the  easy   generation  of  modeling  language  APIs.

Tuesday,  October  28th,  2015

28

Modeling  API Java  Virtual  Machine

Challenges  for  Model-­‐Integrating  Components

OPEN  DISCUSSION

Tuesday,  October  28th,  2015

29

Literature [Derakhshanmanesh2014MSC]  M.  Derakhshanmanesh,  J.  Ebert,  T.  Iguchi,  and  G.  Engels,  “Model-­‐ Integrating  Software  Components”  in  Model  Driven  Engineering  Languages  and  Systems,  17th   International  Conference,  MODELS  2014,  Valencia,  Spain,  September  28  -­‐  October  3,  2014.   [Derakhshanmanesh2014WMA]  M.  Derakhshanmanesh,  J.  Ebert,  and  G.  Engels,  “Why  Models  and   Code  Should  be  Treated  as  Friends”  in  Softwaretechnik-­‐Trends,  vol.  34,  no.  2,  2014.

Tuesday,  October  28th,  2015

30