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