Slide 1

Slide 1 text

An Exploration of the ‘It’ in ‘It Depends’: Generative versus Interpretive Model-Driven Development Michiel Overeem, Slinger Jansen 5th MODELSWARD, 2017

Slide 2

Slide 2 text

Anatomy of a MDD platform Application Generator Model Is read by Creates

Slide 3

Slide 3 text

Cloud management Deployer Anatomy of a MDD platform in the cloud Application Generator Model Is read by Deploys

Slide 4

Slide 4 text

Cloud management Deployer Anatomy of a multi-tenant MDD platform in the cloud Application Generator Model Is read by Deploys Model Model Model Model Model Model Model Model Model Model Model Model Application Application Application Application Application Application Application Application

Slide 5

Slide 5 text

Cloud management Deployer Anatomy of a multi-tenant MDD platform in the cloud Application Generator Model Is read by Deploys Model Model Model Model Model Model Model Model Model Model Model Model Application Application Application Application Application Application Application Application Should we generate or interpret? It depends How can we help industry designing a MDD platform?

Slide 6

Slide 6 text

Hypothesis The execution approach used in a model-driven development (MDD) platform influences the quality of the software. “any good software engineer will tell you that a compiler and an interpreter are interchangeable” [Tim Berners-Lee, http://www.bcs.org/content/ConWebDoc/3337] “interpreters and generators are functionally equivalent” [Stahl, T., Volter, M., Bettin, J., Haase, A., and Helsen, S. (2006). Model-Driven Software Development]

Slide 7

Slide 7 text

Questions that we asked ourselves How does the choice between generative and interpretive MDD influence the quality of a MDD platform? How can SPOs design the most fitting model execution approach based on the quality characteristics for generative and interpretive MDD?

Slide 8

Slide 8 text

Research method  Literature study on generative versus interpretive Model-Driven Development  Observations at a Software Producing Organization

Slide 9

Slide 9 text

Tapping in the knowledge that is out there 32 papers with arguments on generative versus interpretive MDD

Slide 10

Slide 10 text

Software Product Quality Model  Functional suitability  Usability  Reliability  Performance efficiency  Compatibility  Security  Maintainability  Portability No evidence ISO/IEC 25010:2011 Systems and software Quality Requirements and Evaluation (SQuaRE)

Slide 11

Slide 11 text

Quality attribute Generation Interpretation Nr papers Run-time behaviour 88,0% 12,0% 25 Modifiability 15,0% 85,0% 20 Build-time behavior 0,0% 100,0% 18 Testability 60,0% 40,0% 15 Analysability 22,2% 77,8% 9 Adaptability 37,5% 62,5% 8 Resource utilization 87,5% 12,5% 8 Installability 57,1% 42,9% 7 Modularity 20,0% 80,0% 5 Confidentiality 100,0% 0,0% 4 Interoperability 0,0% 100,0% 3 Co-existence 0,0% 100,0% 2

Slide 12

Slide 12 text

Utilization in the design process of a MDD platform  Architecture is a collection of decisions that guide the design of software. Generation vs interpretation

Slide 13

Slide 13 text

Decision categories Meta-model (M) [abstraction level, target users, …] Architecture (A) [(multi-)tenancy, distributed, …] Platform (P) [programming language, virtual machine, …]

Slide 14

Slide 14 text

Utilization of the data from literature  Aggregate the decisions from M, A, and P.  Prioritize the Quality characteristics  Informally  Through a prioritization method like AHP (Saaty, 1990)  Validate the outcome

Slide 15

Slide 15 text

Architecture Design Phase D1 [M] A MDD platform based on an high-level model (OEM) D2 [P] A SaaS delivery model for the application D3 [A] Use multi-tenancy to gain resource sharing Generation Interpretation Priority Run-time behaviour 88,0% 12,0% 0.35 Resource utilization 87,5% 12,5% 0.35 Analysability 22,2% 77,8% 0.15 Testability 60,0% 40,0% 0.15 73.8% 26.2%

Slide 16

Slide 16 text

Deployment Design Phase D1 [M] A MDD platform based on an high-level model (OEM) D2 [P] A SaaS delivery model for the application D3 [A] Use multi-tenancy to gain resource sharing D4 [M] Enable customers to customize the model D5 [P] Run the application on the .NET runtime D6 [A] Deploy as a distributed application D7 [A] Re-design the model execution for messages Generation Interpretation 31,0% 69,0%

Slide 17

Slide 17 text

Model Modelv2 Application Evolved into Translated into Translated into Deployed to Upgraded on M Mv2 Yoder, J. W., & Johnson, R. The Adaptive Object-Model Architectural Style. WICSA ’02 improved turn-around times & process sharing (multi-tenancy)

Slide 18

Slide 18 text

Threats to validity  Important papers could be overlooked.  The papers show almost no emperical evidence.  Case study is done at one company.  It is an exploration, and more study is needed.

Slide 19

Slide 19 text

Take aways  Aggregating existing literature is needed to make this knowledge accesible to the world.  Industry can use this knowledge for decision making.  The knowledge is supporting the decisions, not making it. Context is very important, as always ‘It Depends’ How can we improve this design support solution? Suggestions? Questions? m.overeem@afas.nl