model-driven engineering (mde) is all about abstraction ... · mbe: model-based engineering mde:...

Post on 17-Oct-2020

12 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

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

1. MDE Concepts & Principles

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

Model

A representation of a system

An abstraction

Model forms Physical

Mathematical

Graphical

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

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

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

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

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

2. MDSE Research Group

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

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

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

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

3. Selected Research

(ERE-ML, VAnDroid, ALBA)

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

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

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

ERE-ML Metamodel

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

ERE-ML Tool

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

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

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

ERE-ML Case Study

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

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

VAnDroid process

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

VAnDroid

Metamodel

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

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

ALBA Feature Model

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

ALBA Metamodel

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

ALBA Modeling Editor

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

ALBA Code Generator

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

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

4. New Research Trends

around MDE

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

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

5 European Universities, 9 Companies

Lowcomote Network

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

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

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

http://mdse.ui.ac.ir

Thank You!

Questions?

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

top related