Upload
others
View
6
Download
0
Embed Size (px)
Citation preview
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