model-driven engineering (mde) is all about abstraction...

35
Model-Driven Engineering (MDE) is all about Abstraction & Automation Bahman Zamani, PhD Associate Professor of Software Engineering, University of Isfahan On Sabbatical leave at ECE dept., Concordia University, Host Prof. Wahab Hamou-Lhadj Presented at Computer Research Institute of Montréal (CRIM) Feb. 13, 2020

Upload: others

Post on 20-May-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Model-Driven Engineering (MDE) is all about Abstraction ...engold.ui.ac.ir/~zamani/talks/DrZamanSeminarCRIM2020.pdf · Model-Driven Engineering (MDE) is all about Abstraction & Automation

Model-Driven Engineering (MDE)

is all about Abstraction & Automation

Bahman Zamani, PhD

Associate Professor of Software Engineering, University of IsfahanOn Sabbatical leave at ECE dept., Concordia University, Host Prof. Wahab Hamou-Lhadj

Presented at Computer Research Institute of Montréal (CRIM)

Feb. 13, 2020

Page 2: Model-Driven Engineering (MDE) is all about Abstraction ...engold.ui.ac.ir/~zamani/talks/DrZamanSeminarCRIM2020.pdf · Model-Driven Engineering (MDE) is all about Abstraction & Automation

Overview

1. MDE Concepts & Principles

2. MDSE Research Group

3. Selected Research

4. New Research Trends

MDE is all about Abstraction & Automation, Dr. Bahman Zamani 2 / 35

Page 3: Model-Driven Engineering (MDE) is all about Abstraction ...engold.ui.ac.ir/~zamani/talks/DrZamanSeminarCRIM2020.pdf · Model-Driven Engineering (MDE) is all about Abstraction & Automation

1. MDE Concepts & Principles

MDE is all about Abstraction & Automation, Dr. Bahman Zamani 3 / 35

Page 4: Model-Driven Engineering (MDE) is all about Abstraction ...engold.ui.ac.ir/~zamani/talks/DrZamanSeminarCRIM2020.pdf · Model-Driven Engineering (MDE) is all about Abstraction & Automation

Model

A representation of a system

An abstraction

Model forms Physical

Mathematical

Graphical

MDE is all about Abstraction & Automation, Dr. Bahman Zamani 4 / 35

Page 5: Model-Driven Engineering (MDE) is all about Abstraction ...engold.ui.ac.ir/~zamani/talks/DrZamanSeminarCRIM2020.pdf · Model-Driven Engineering (MDE) is all about Abstraction & Automation

Despite the processes that are code-centric, in these approaches, models are the main artifacts which drive the development

➔Model-Driven

The ultimate goal is to automaticallygenerate programs from the corresponding models

Model-Driven

MDE is all about Abstraction & Automation, Dr. Bahman Zamani 5 / 35

Page 6: Model-Driven Engineering (MDE) is all about Abstraction ...engold.ui.ac.ir/~zamani/talks/DrZamanSeminarCRIM2020.pdf · Model-Driven Engineering (MDE) is all about Abstraction & Automation

Transformation

Marco Brambilla, Jordi Cabot, and Manuel Wimmer, “Model-Driven Software Engineering in Practice,” 2nd Ed., Morgan & Claypool Publishers, 2017.

M3

M2

M1

MDE is all about Abstraction & Automation, Dr. Bahman Zamani 6 / 35

Page 7: Model-Driven Engineering (MDE) is all about Abstraction ...engold.ui.ac.ir/~zamani/talks/DrZamanSeminarCRIM2020.pdf · Model-Driven Engineering (MDE) is all about Abstraction & Automation

Modelware vs. Grammarware

Marco Brambilla, Jordi Cabot, and Manuel Wimmer, “Model-Driven Software Engineering in Practice,” 2nd Ed., Morgan & Claypool Publishers, 2017.

M3

M2

M1

MDE is all about Abstraction & Automation, Dr. Bahman Zamani 7 / 35

Page 8: Model-Driven Engineering (MDE) is all about Abstraction ...engold.ui.ac.ir/~zamani/talks/DrZamanSeminarCRIM2020.pdf · Model-Driven Engineering (MDE) is all about Abstraction & Automation

MD* JUNGLE

MBE: Model-Based Engineering

MDE: Model-Driven Engineering

MDD: Model-Driven Development

MDA: Model-Driven Architecture

Marco Brambilla, Jordi Cabot, and Manuel Wimmer, “Model-Driven Software Engineering in Practice,” 2nd Ed., Morgan & Claypool Publishers, 2017.

MDE is all about Abstraction & Automation, Dr. Bahman Zamani 8 / 35

Page 9: Model-Driven Engineering (MDE) is all about Abstraction ...engold.ui.ac.ir/~zamani/talks/DrZamanSeminarCRIM2020.pdf · Model-Driven Engineering (MDE) is all about Abstraction & Automation

2. MDSE Research Group

http://mdse.ui.ac.ir/MDE is all about Abstraction & Automation, Dr. Bahman Zamani 9 / 35

Page 10: Model-Driven Engineering (MDE) is all about Abstraction ...engold.ui.ac.ir/~zamani/talks/DrZamanSeminarCRIM2020.pdf · Model-Driven Engineering (MDE) is all about Abstraction & Automation

Research Collaborations

ShekoufehK. Rahimi

University of Isfahan

IRANBahman Zamani

Behrouz T. Ladani

AfsanehFatemi

Wahab Hamou-Lhadj

Concordia University

CANADA

Tanja Mayerhofer

Vienna University of Technology

AUSTRIA

Gerson Sunye

University of Nantes

FRANCE

Kevin Lano

King’s College London

UK

ErwanBousse Mohammad

Hamdaqa

Reykjavik University

ICELAND

MDE is all about Abstraction & Automation, Dr. Bahman Zamani 10 / 35

Page 11: Model-Driven Engineering (MDE) is all about Abstraction ...engold.ui.ac.ir/~zamani/talks/DrZamanSeminarCRIM2020.pdf · Model-Driven Engineering (MDE) is all about Abstraction & Automation

Research Area

MDE Foundation & Tools: Bidirectional Transformations

EVL+Strace Language (Paper: IST v. 100, 2018)

MoDEBiTE Tool (Paper: COLA v. 51, 2018)

Model Execution Tracing & Logging

CTM Meta-model (Paper: SoSyM v.-, 2020)

Engineering Model Transformations

MUPPIT Tool (Paper: Submitted to SoSyM)

SEET Tool (Paper: Submitted to JSS)

Model Management (Versioning, Synchronizing, and Merging)

E3MP Tool (Paper: Submitted to SPE)

MDE is all about Abstraction & Automation, Dr. Bahman Zamani 11 / 35

Page 12: Model-Driven Engineering (MDE) is all about Abstraction ...engold.ui.ac.ir/~zamani/talks/DrZamanSeminarCRIM2020.pdf · Model-Driven Engineering (MDE) is all about Abstraction & Automation

Research Area (cont’d)

MDE Applications: Context Modeling & Context-aware Services

CaaSSET framework (Paper: FCGS v. 105, 2019)

Crisis Management Systems

ERE-ML framework (Paper: SoSyM v. 18, 2019)

Android Vulnerability Analysis

VAnDroid framework (Paper: SPE v. 49, 2019)

Mobile App Generation

ALBA framework (Paper: Submitted to AUSE)

MDE is all about Abstraction & Automation, Dr. Bahman Zamani 12 / 35

Page 13: Model-Driven Engineering (MDE) is all about Abstraction ...engold.ui.ac.ir/~zamani/talks/DrZamanSeminarCRIM2020.pdf · Model-Driven Engineering (MDE) is all about Abstraction & Automation

3. Selected Research

(ERE-ML, VAnDroid, ALBA)

MDE is all about Abstraction & Automation, Dr. Bahman Zamani 13 / 35

Page 14: Model-Driven Engineering (MDE) is all about Abstraction ...engold.ui.ac.ir/~zamani/talks/DrZamanSeminarCRIM2020.pdf · Model-Driven Engineering (MDE) is all about Abstraction & Automation

Implementing a tool for Modeling and simulation of

Emergency Response Environments (EREs) by a model driven approach

Automatic Generation of a Multi Agent System for Crisis Management Using GMF and Acceleo Tools

End user: Crisis manager

ERE-ML: Project Goal

MDE is all about Abstraction & Automation, Dr. Bahman Zamani 14 / 35

Page 15: Model-Driven Engineering (MDE) is all about Abstraction ...engold.ui.ac.ir/~zamani/talks/DrZamanSeminarCRIM2020.pdf · Model-Driven Engineering (MDE) is all about Abstraction & Automation

ERE-ML Genealogy

UML

(Unified Modeling Language)

(2003 - 2007)

TAO

(Taming Agents and Objects)

(2003)

MAS-ML

(Multi Agent System-Modeling Language)

(2003 - 2008)

ERE-ML

(Emergency Response Environment-Modeling Language)

(2015 - 2017)

DMM

(Disaster Management Metamodel)

(2010 - 2014)

MDE is all about Abstraction & Automation, Dr. Bahman Zamani 15 / 35

Page 16: Model-Driven Engineering (MDE) is all about Abstraction ...engold.ui.ac.ir/~zamani/talks/DrZamanSeminarCRIM2020.pdf · Model-Driven Engineering (MDE) is all about Abstraction & Automation

ERE-ML Metamodel

MDE is all about Abstraction & Automation, Dr. Bahman Zamani 16 / 35

Page 17: Model-Driven Engineering (MDE) is all about Abstraction ...engold.ui.ac.ir/~zamani/talks/DrZamanSeminarCRIM2020.pdf · Model-Driven Engineering (MDE) is all about Abstraction & Automation

ERE-ML Tool

MDE is all about Abstraction & Automation, Dr. Bahman Zamani 17 / 35

Page 18: Model-Driven Engineering (MDE) is all about Abstraction ...engold.ui.ac.ir/~zamani/talks/DrZamanSeminarCRIM2020.pdf · Model-Driven Engineering (MDE) is all about Abstraction & Automation

ERE-ML Transformations

Acceleo: An implementation of the M2T transformation Standard

MTL (Model to Text Language): A template-based language for defining code-generation templates in Acceleo

MDE is all about Abstraction & Automation, Dr. Bahman Zamani 18 / 35

Page 19: Model-Driven Engineering (MDE) is all about Abstraction ...engold.ui.ac.ir/~zamani/talks/DrZamanSeminarCRIM2020.pdf · Model-Driven Engineering (MDE) is all about Abstraction & Automation

ERE-ML Platform

JavaJADE

(Java Agent Development)

JAMDER

(JADE to MAS-ML

Development Resource)

JADE to ERE-ML

Development Resource

MDE is all about Abstraction & Automation, Dr. Bahman Zamani 19 / 35

Page 20: Model-Driven Engineering (MDE) is all about Abstraction ...engold.ui.ac.ir/~zamani/talks/DrZamanSeminarCRIM2020.pdf · Model-Driven Engineering (MDE) is all about Abstraction & Automation

ERE-ML Case Study

MDE is all about Abstraction & Automation, Dr. Bahman Zamani 20 / 35

Page 21: Model-Driven Engineering (MDE) is all about Abstraction ...engold.ui.ac.ir/~zamani/talks/DrZamanSeminarCRIM2020.pdf · Model-Driven Engineering (MDE) is all about Abstraction & Automation

A framework for vulnerability analysis of Android applications using a model driven reverse engineering technique

Detects two vulnerabilities:

Intent Spoofing

Unauthorized Intent Receipt

Privilege Escalation (In VAnDroid+)

VAnDroid: Project Goal

MDE is all about Abstraction & Automation, Dr. Bahman Zamani 21 / 35

Page 22: Model-Driven Engineering (MDE) is all about Abstraction ...engold.ui.ac.ir/~zamani/talks/DrZamanSeminarCRIM2020.pdf · Model-Driven Engineering (MDE) is all about Abstraction & Automation

VAnDroid process

MDE is all about Abstraction & Automation, Dr. Bahman Zamani 22 / 35

Page 23: Model-Driven Engineering (MDE) is all about Abstraction ...engold.ui.ac.ir/~zamani/talks/DrZamanSeminarCRIM2020.pdf · Model-Driven Engineering (MDE) is all about Abstraction & Automation

VAnDroid

Metamodel

MDE is all about Abstraction & Automation, Dr. Bahman Zamani 23 / 35

Page 24: Model-Driven Engineering (MDE) is all about Abstraction ...engold.ui.ac.ir/~zamani/talks/DrZamanSeminarCRIM2020.pdf · Model-Driven Engineering (MDE) is all about Abstraction & Automation

A framework for designing and automatic generation of Android Location-based Apps

ALBA: Project Goal

MDE is all about Abstraction & Automation, Dr. Bahman Zamani 24 / 35

Page 25: Model-Driven Engineering (MDE) is all about Abstraction ...engold.ui.ac.ir/~zamani/talks/DrZamanSeminarCRIM2020.pdf · Model-Driven Engineering (MDE) is all about Abstraction & Automation

ALBA Feature Model

MDE is all about Abstraction & Automation, Dr. Bahman Zamani 25 / 35

Page 26: Model-Driven Engineering (MDE) is all about Abstraction ...engold.ui.ac.ir/~zamani/talks/DrZamanSeminarCRIM2020.pdf · Model-Driven Engineering (MDE) is all about Abstraction & Automation

ALBA Metamodel

MDE is all about Abstraction & Automation, Dr. Bahman Zamani 26 / 35

Page 27: Model-Driven Engineering (MDE) is all about Abstraction ...engold.ui.ac.ir/~zamani/talks/DrZamanSeminarCRIM2020.pdf · Model-Driven Engineering (MDE) is all about Abstraction & Automation

ALBA Modeling Editor

MDE is all about Abstraction & Automation, Dr. Bahman Zamani 27 / 35

Page 28: Model-Driven Engineering (MDE) is all about Abstraction ...engold.ui.ac.ir/~zamani/talks/DrZamanSeminarCRIM2020.pdf · Model-Driven Engineering (MDE) is all about Abstraction & Automation

ALBA Code Generator

MDE is all about Abstraction & Automation, Dr. Bahman Zamani 28 / 35

Page 29: Model-Driven Engineering (MDE) is all about Abstraction ...engold.ui.ac.ir/~zamani/talks/DrZamanSeminarCRIM2020.pdf · Model-Driven Engineering (MDE) is all about Abstraction & Automation

ALBA Case Study

UNIFYUniversity of Isfahan

locations guide app

650 acres campus

100 bldgs.

200 Places

6 Categories

24 Subcategories

2000 LOC

95% generated

MDE is all about Abstraction & Automation, Dr. Bahman Zamani 29 / 35

Page 30: Model-Driven Engineering (MDE) is all about Abstraction ...engold.ui.ac.ir/~zamani/talks/DrZamanSeminarCRIM2020.pdf · Model-Driven Engineering (MDE) is all about Abstraction & Automation

4. New Research Trends

around MDE

MDE is all about Abstraction & Automation, Dr. Bahman Zamani 30 / 35

Page 31: Model-Driven Engineering (MDE) is all about Abstraction ...engold.ui.ac.ir/~zamani/talks/DrZamanSeminarCRIM2020.pdf · Model-Driven Engineering (MDE) is all about Abstraction & Automation

Low Code Development Platforms (LCPDs)

LCDPs allow non-programmers to build full applications

Market: over $21 billion in the next four years

Two main problems with LCDPs

Scalability

Size of generated apps

Number of collaborating users

Fragmentation

Of tools and programming models

Idea of the Locomote project: LCDP → LCEP

Lowcomote EU Projecthttps://www.lowcomote.eu/

MDE is all about Abstraction & Automation, Dr. Bahman Zamani 31 / 35

Page 32: Model-Driven Engineering (MDE) is all about Abstraction ...engold.ui.ac.ir/~zamani/talks/DrZamanSeminarCRIM2020.pdf · Model-Driven Engineering (MDE) is all about Abstraction & Automation

5 European Universities, 9 Companies

Lowcomote Network

MDE is all about Abstraction & Automation, Dr. Bahman Zamani 32 / 35

Page 33: Model-Driven Engineering (MDE) is all about Abstraction ...engold.ui.ac.ir/~zamani/talks/DrZamanSeminarCRIM2020.pdf · Model-Driven Engineering (MDE) is all about Abstraction & Automation

UGROUND

Semantic Engineering: US patented

ROSE: A development platform

Metadev

Essential: A workbench for applying MDD

Quid: A Web-based DSL for component based UIs.

CLMS

Semantic Modeling: facilitates the design of the new system in an optimal way

Partner: Metacase company (MetaEdit+ tool)

Lowcomote partners & their LCDPs

MDE is all about Abstraction & Automation, Dr. Bahman Zamani 33 / 35

Page 34: Model-Driven Engineering (MDE) is all about Abstraction ...engold.ui.ac.ir/~zamani/talks/DrZamanSeminarCRIM2020.pdf · Model-Driven Engineering (MDE) is all about Abstraction & Automation

The Big Five and low-code development

React Native -- SwiftUI PowerApps App Maker

https://modeling-languages.com/big-five-bet-modeling-low-code/

MDE is all about Abstraction & Automation, Dr. Bahman Zamani 34 / 35

Page 35: Model-Driven Engineering (MDE) is all about Abstraction ...engold.ui.ac.ir/~zamani/talks/DrZamanSeminarCRIM2020.pdf · Model-Driven Engineering (MDE) is all about Abstraction & Automation

http://mdse.ui.ac.ir

Thank You!

Questions?

MDE is all about Abstraction & Automation, Dr. Bahman Zamani 35 / 35