SlideShare a Scribd company logo
1 of 39
Download to read offline
ACTIVE DOMAIN
SPECIFIC LANGUAGES
MAKING EVERY MOBILE USER
A MODELLER
MODELS’2017, Austin
D. Vaquero, J. Palomares, E. Guerra, J. de Lara
Modelling&Software Engineering Research Group
http://miso.es @miso_uam
USING DSLs TODAY
Static use
• Desktop-based editors
• Web-based editors
Static DSLs
• Used at design time
• Model execution, but no
interaction with external
elements
2
WE NEED SUPPORT FOR MORE
ADVANCED SCENARIOS!
3
DSLs to:
• Design and monitor production plants
on-site
• Home automation systems
• Create and follow trekking routes
• Design open air crossfit circuits
• Urban design for smart cities
• IoT apps
• …
Scenarios:
• Flexible collaboration accross devices
• Crowdsourced modelling
• …
WE NEED SUPPORT FOR MORE
ADVANCED SCENARIOS!
4
DSLs to:
• Design and monitor production plants
on-site
• Home automation systems
• Create and follow trekking routes
• Design open air crossfit circuits
• Urban design for smart cities
• IoT apps
• …
Scenarios:
• Flexible collaboration across devices
• Crowdsourced modelling
• …
I’ll wait you
here
(*) mockup inspired by https://www.wikiloc.com/
WE NEED SUPPORT FOR MORE
ADVANCED SCENARIOS!
5
DSLs to:
• Design and monitor production plants
on-site
• Home automation systems
• Create and follow trekking routes
• Design open air crossfit circuits
• Urban design for smart cities
• IoT apps
• …
Scenarios:
• Flexible collaboration across devices
• Crowdsourced modelling
• …
I’ll wait you
here
• This is an example of Active DSL
• App builders become Language
Engineers
• App users become modellers
(*) mockup inspired by https://www.wikiloc.com/
WE NEED SUPPORT FOR MORE
ADVANCED SCENARIOS!
6
DSLs to:
• Design and monitor production plants
on-site
• Home automation systems
• Create and follow trekking routes
• Design open air crossfit circuits
• Urban design for smart cities
• IoT apps
• …
Scenarios:
• Flexible collaboration across devices
• Crowdsourced modelling
• …
I’ll wait you
here
REQUIREMENTS
Used in mobility
• Smartphones
• Tablets
Cross-platform compatibility
• Desktop editors
• Mobiles
Geolocated
• User representation
Context awareness
• Reaction rules
7
Collaborative
• User roles
External interaction
• IoT devices
• APIs
• …
Flexible modelling
• Hand drawings
• Photo sharing
• Notes
A FEATURE SPACE
FOR DSLs (1/2)
8
DSL features
Geolocated
Deployment External
interaction
Web Desktop App
Concrete
syntax
Textual Graphical
optional mandatoryalternative or
Services Devices
User
reification
Tabular…
Context
sensitive
External Internal
Context
source
«implies»
Standard DSL= Deployment.(Desktop v Web), ConcSyntax.Graphical.Geolocated,
External interaction, Context sensitive
A FEATURE SPACE
FOR DSLs (1/2)
9
DSL features
Geolocated
Deployment External
interaction
Web Desktop App
Concrete
syntax
Textual Graphical
optional mandatoryalternative or
Services Devices
User
reification
Tabular…
Context
sensitive
External Internal
Context
source
«implies»
Geo DSL= ConcreteSyntax.Graphical.Geolocated
A FEATURE SPACE
FOR DSLs (1/2)
10
DSL features
Geolocated
Deployment External
interaction
Web Desktop App
Concrete
syntax
Textual Graphical
optional mandatoryalternative or
Services Devices
User
reification
Tabular…
Context
sensitive
External Internal
Context
source
«implies»
Geo DSL= ConcreteSyntax.Graphical.Geolocated
A FEATURE SPACE
FOR DSLs (1/2)
11
DSL features
Geolocated
Deployment External
interaction
Web Desktop App
Concrete
syntax
Textual Graphical
optional mandatoryalternative or
Services Devices
User
reification
Tabular…
Context
sensitive
External Internal
Context
source
«implies»
Geo DSL= ConcreteSyntax.Graphical.Geolocated
A FEATURE SPACE
FOR DSLs (1/2)
12
DSL features
Geolocated
Deployment External
interaction
Web Desktop App
Concrete
syntax
Textual Graphical
optional mandatoryalternative or
Services Devices
User
reification
Tabular…
Context
sensitive
External Internal
Context
source
«implies»
Geo DSL= ConcreteSyntax.Graphical.Geolocated
name: Juan
age: 18
A FEATURE SPACE
FOR DSLs (1/2)
13
DSL features
Geolocated
Deployment External
interaction
Web Desktop App
Concrete
syntax
Textual Graphical
optional mandatoryalternative or
Services Devices
User
reification
Tabular…
Context
sensitive
External Internal
Context
source
«implies»
Open DSL= External interaction
A FEATURE SPACE
FOR DSLs (1/2)
14
DSL features
Geolocated
Deployment External
interaction
Web Desktop App
Concrete
syntax
Textual Graphical
optional mandatoryalternative or
Services Devices
User
reification
Tabular…
Context
sensitive
External Internal
Context
source
«implies»
Open DSL= External interaction Take value of temperature
attribute from openWeather
A FEATURE SPACE
FOR DSLs (1/2)
15
DSL features
Geolocated
Deployment External
interaction
Web Desktop App
Concrete
syntax
Textual Graphical
optional mandatoryalternative or
Services Devices
User
reification
Tabular…
Context
sensitive
External Internal
Context
source
«implies»
Contextual DSL= Context sensitive
A FEATURE SPACE
FOR DSLs (1/2)
16
DSL features
Geolocated
Deployment External
interaction
Web Desktop App
Concrete
syntax
Textual Graphical
optional mandatoryalternative or
Services Devices
User
reification
Tabular…
Context
sensitive
External Internal
Context
source
«implies»
Contextual DSL= Context sensitive
A FEATURE SPACE
FOR DSLs (1/2)
17
DSL features
Geolocated
Deployment External
interaction
Web Desktop App
Concrete
syntax
Textual Graphical
optional mandatoryalternative or
Services Devices
User
reification
Tabular…
Context
sensitive
External Internal
Context
source
«implies»
Contextual DSL= Context sensitive
Show if:
not raining
and temp < 28º
A FEATURE SPACE
FOR DSLs (1/2)
18
Active DSL= Deployment.App +
Geo DSL +
Open DSL +
Contextual DSL
DSL features
Geolocated
Deployment External
interaction
Web Desktop App
Concrete
syntax
Textual Graphical
optional mandatoryalternative or
Services Devices
User
reification
Tabular…
Context
sensitive
External Internal
Context
source
«implies»
A FEATURE SPACE
FOR DSLs (1/2)
19
Active DSL= Deployment.App +
Geo DSL +
Open DSL +
Contextual DSL
DSL features
Geolocated
Deployment External
interaction
Web Desktop App
Concrete
syntax
Textual Graphical
optional mandatoryalternative or
Services Devices
User
reification
Tabular…
Context
sensitive
External Internal
Context
source
«implies»
20
A FEATURE SPACE
FOR DSLs (2/2)
User
roles
Collaboration
Serverless
(local)
Centralized
Extended
modelling
Drawings Annotations
Symbols Text Pictures Geolocation
DSL features
21
A FEATURE SPACE
FOR DSLs (2/2)
User
roles
Collaboration
Serverless
(local)
Centralized
Extended
modelling
Drawings Annotations
Symbols Text Pictures Geolocation
DSL features
Creation role
• Creating the trekking route
Outing role:
• Following the route
• Annotate the route (photos, text)
22
A FEATURE SPACE
FOR DSLs (2/2)
User
roles
Collaboration
Serverless
(local)
Centralized
Extended
modelling
Drawings Annotations
Symbols Text Pictures Geolocation
DSL features
23
A FEATURE SPACE
FOR DSLs (2/2)
User
roles
Collaboration
Serverless
(local)
Centralized
Extended
modelling
Drawings Annotations
Symbols Text Pictures Geolocation
DSL features
I’ll wait you
here
Chat
Model Sharing
Reification of
collaborators
SPECIFYING ACTIVE
DSLS
24
Mobile
app
Desktop
environment
domain
MM
graphic.
repr.
geo
positioning
external
interaction
Graphical
Representation
MM
«conforms to»
«annotates» «annotates»
«annotates»
Geo
Positioning
MM
«conforms to»
external
interaction
MM
«conforms to»
deploy
contextual
rules
context
MM
«conforms to»
«annotates»
Domain meta-model
Annotation models
• Concrete Syntax
• Geopositioning
• External Interaction
• Context
SPECIFYING EXTERNAL
INTERACTION
25
Assigning attribute values
taken from external sources via
APIs
Repository of API descriptions
• With and without
authentication
Annotate a given attribute with
• API to be called
• Trigger condition
• Parameter values
REALIZATION:
DSL-COMET
First steps towards the realization of Active DSLs
Deployment of DSLs
• Desktop as a Sirius Editor
• In iOS devices
Support for
• Geo-DSLs
• Open DSLs
Extended modelling
• Markers, hand drawings
• Photo attachments
Collaboration support
Can be downloaded from AppStore
• For free!
26
DSL-COMET
ARCHITECTURE
27
DESCRIBING THE DSL
28
THE DESKTOP
ENVIRONMENT
29
MOBILE
ENVIRONMENT
3030
MODEL SEARCH
31
MODEL SHARING
32
Through Drive, Dropbox, etc Tweet your models
EXTENDED MODELLING
33
Notes: text, photos, geopositioned Informal drawings, signals
COLLABORATION
34
Local collaboration
• Serverless
• Ad-hoc wifi
Collaboration session
• Token-based
• Shared model
• Shared annotations
• Shared drawings
GEO DSLs
35
CONCLUSION
Need for DSLs for more advanced scenarios
• Open DSLs
• Geo DSLs
• Contextual DSLs
• Active DSLs
Collaboration
• Chat, model sharing
• Cross-platform use and compatibility
Initial realization
• DSL-comet
• DSLs on iOS devices and Sirius editors
36
FUTURE ROADMAP
37
open
geo
contextual active
mobile
collaboration
flexible
modelling
user roles
large scale
collaboration
DSL-based
construction
of mobile
apps
Supported in
DSL-comet
Unsupported
(yet)
optional
legend
THANKS!
Juan.deLara@uam.es
38
http://www.miso.es
@miso_uam
39
Video

More Related Content

Similar to DSLcomet

AMIS UX Event 2014: Mobile ADF; From Design To Device; The Tools that make it...
AMIS UX Event 2014: Mobile ADF; From Design To Device; The Tools that make it...AMIS UX Event 2014: Mobile ADF; From Design To Device; The Tools that make it...
AMIS UX Event 2014: Mobile ADF; From Design To Device; The Tools that make it...Luc Bors
 
Introduction to Android Development.pptx
Introduction to Android Development.pptxIntroduction to Android Development.pptx
Introduction to Android Development.pptxasmeerana605
 
2022 COMP4010 Lecture 6: Designing AR Systems
2022 COMP4010 Lecture 6: Designing AR Systems2022 COMP4010 Lecture 6: Designing AR Systems
2022 COMP4010 Lecture 6: Designing AR SystemsMark Billinghurst
 
SSSI Local Government Seminar June 2012 - Mobile
SSSI Local Government Seminar June 2012 -  MobileSSSI Local Government Seminar June 2012 -  Mobile
SSSI Local Government Seminar June 2012 - MobileDavid Trengove
 
OpenStreetMap in 3D - current developments
OpenStreetMap in 3D - current developmentsOpenStreetMap in 3D - current developments
OpenStreetMap in 3D - current developmentsvirtualcitySYSTEMS GmbH
 
An Authoring Solution for a Façade-Based AR Platform: Infrastructure, Annota...
An Authoring Solution for  a Façade-Based AR Platform: Infrastructure, Annota...An Authoring Solution for  a Façade-Based AR Platform: Infrastructure, Annota...
An Authoring Solution for a Façade-Based AR Platform: Infrastructure, Annota...Guillaume Gales
 
From Flat to Stacked - Alicia C Newberry - City of Milton
From Flat to Stacked - Alicia C Newberry - City of MiltonFrom Flat to Stacked - Alicia C Newberry - City of Milton
From Flat to Stacked - Alicia C Newberry - City of MiltonAlicia Newberry
 
Jefferson Andrade - Esri Dev Summit 2016 #02 - Dev Tools
Jefferson Andrade - Esri Dev Summit 2016 #02 - Dev ToolsJefferson Andrade - Esri Dev Summit 2016 #02 - Dev Tools
Jefferson Andrade - Esri Dev Summit 2016 #02 - Dev ToolsJefferson Andrade
 
DSL (Domain Specific Language) for Maps Mashups
DSL (Domain Specific Language) for Maps MashupsDSL (Domain Specific Language) for Maps Mashups
DSL (Domain Specific Language) for Maps Mashupsaliraza786
 
Matteo Gazzurelli - Introduction to Android Development - Have a break edition
Matteo Gazzurelli - Introduction to Android Development - Have a break editionMatteo Gazzurelli - Introduction to Android Development - Have a break edition
Matteo Gazzurelli - Introduction to Android Development - Have a break editionDuckMa
 
Super map gis 8c
Super map gis 8cSuper map gis 8c
Super map gis 8cDaniel PI
 
ED CONNOR RESUME 2013
ED CONNOR RESUME 2013ED CONNOR RESUME 2013
ED CONNOR RESUME 2013Edward Connor
 
Comp4010 Lecture7 Designing AR Systems
Comp4010 Lecture7 Designing AR SystemsComp4010 Lecture7 Designing AR Systems
Comp4010 Lecture7 Designing AR SystemsMark Billinghurst
 
NDGISUC2017 - Introducing ArcGIS Pro
NDGISUC2017 - Introducing ArcGIS ProNDGISUC2017 - Introducing ArcGIS Pro
NDGISUC2017 - Introducing ArcGIS ProNorth Dakota GIS Hub
 
Large Scale Multimedia Data Intelligence And Analysis On Spark
Large Scale Multimedia Data Intelligence And Analysis On SparkLarge Scale Multimedia Data Intelligence And Analysis On Spark
Large Scale Multimedia Data Intelligence And Analysis On SparkJen Aman
 

Similar to DSLcomet (20)

AMIS UX Event 2014: Mobile ADF; From Design To Device; The Tools that make it...
AMIS UX Event 2014: Mobile ADF; From Design To Device; The Tools that make it...AMIS UX Event 2014: Mobile ADF; From Design To Device; The Tools that make it...
AMIS UX Event 2014: Mobile ADF; From Design To Device; The Tools that make it...
 
Oracle and Mobile, From Design to Device; The tools that make it happen - Use...
Oracle and Mobile, From Design to Device; The tools that make it happen - Use...Oracle and Mobile, From Design to Device; The tools that make it happen - Use...
Oracle and Mobile, From Design to Device; The tools that make it happen - Use...
 
Introduction to Android Development.pptx
Introduction to Android Development.pptxIntroduction to Android Development.pptx
Introduction to Android Development.pptx
 
2022 COMP4010 Lecture 6: Designing AR Systems
2022 COMP4010 Lecture 6: Designing AR Systems2022 COMP4010 Lecture 6: Designing AR Systems
2022 COMP4010 Lecture 6: Designing AR Systems
 
SSSI Local Government Seminar June 2012 - Mobile
SSSI Local Government Seminar June 2012 -  MobileSSSI Local Government Seminar June 2012 -  Mobile
SSSI Local Government Seminar June 2012 - Mobile
 
OpenStreetMap in 3D - current developments
OpenStreetMap in 3D - current developmentsOpenStreetMap in 3D - current developments
OpenStreetMap in 3D - current developments
 
An Authoring Solution for a Façade-Based AR Platform: Infrastructure, Annota...
An Authoring Solution for  a Façade-Based AR Platform: Infrastructure, Annota...An Authoring Solution for  a Façade-Based AR Platform: Infrastructure, Annota...
An Authoring Solution for a Façade-Based AR Platform: Infrastructure, Annota...
 
From Flat to Stacked - Alicia C Newberry - City of Milton
From Flat to Stacked - Alicia C Newberry - City of MiltonFrom Flat to Stacked - Alicia C Newberry - City of Milton
From Flat to Stacked - Alicia C Newberry - City of Milton
 
Jefferson Andrade - Esri Dev Summit 2016 #02 - Dev Tools
Jefferson Andrade - Esri Dev Summit 2016 #02 - Dev ToolsJefferson Andrade - Esri Dev Summit 2016 #02 - Dev Tools
Jefferson Andrade - Esri Dev Summit 2016 #02 - Dev Tools
 
DSL (Domain Specific Language) for Maps Mashups
DSL (Domain Specific Language) for Maps MashupsDSL (Domain Specific Language) for Maps Mashups
DSL (Domain Specific Language) for Maps Mashups
 
Matteo Gazzurelli - Introduction to Android Development - Have a break edition
Matteo Gazzurelli - Introduction to Android Development - Have a break editionMatteo Gazzurelli - Introduction to Android Development - Have a break edition
Matteo Gazzurelli - Introduction to Android Development - Have a break edition
 
Super map gis 8c
Super map gis 8cSuper map gis 8c
Super map gis 8c
 
Ironcad
IroncadIroncad
Ironcad
 
ED CONNOR RESUME 2013
ED CONNOR RESUME 2013ED CONNOR RESUME 2013
ED CONNOR RESUME 2013
 
Comp4010 Lecture7 Designing AR Systems
Comp4010 Lecture7 Designing AR SystemsComp4010 Lecture7 Designing AR Systems
Comp4010 Lecture7 Designing AR Systems
 
NDGISUC2017 - Introducing ArcGIS Pro
NDGISUC2017 - Introducing ArcGIS ProNDGISUC2017 - Introducing ArcGIS Pro
NDGISUC2017 - Introducing ArcGIS Pro
 
Web & Mobile GIS Overview at Middle TN Electric
Web & Mobile GIS Overview at Middle TN ElectricWeb & Mobile GIS Overview at Middle TN Electric
Web & Mobile GIS Overview at Middle TN Electric
 
Android Introduction
Android IntroductionAndroid Introduction
Android Introduction
 
Large Scale Multimedia Data Intelligence And Analysis On Spark
Large Scale Multimedia Data Intelligence And Analysis On SparkLarge Scale Multimedia Data Intelligence And Analysis On Spark
Large Scale Multimedia Data Intelligence And Analysis On Spark
 
Advanced Maps on Apps for Series 40
Advanced Maps on Apps for Series 40Advanced Maps on Apps for Series 40
Advanced Maps on Apps for Series 40
 

More from miso_uam

Model-driven engineering for AR
Model-driven engineering for ARModel-driven engineering for AR
Model-driven engineering for ARmiso_uam
 
Capone.pdf
Capone.pdfCapone.pdf
Capone.pdfmiso_uam
 
MLE_keynote.pdf
MLE_keynote.pdfMLE_keynote.pdf
MLE_keynote.pdfmiso_uam
 
Scientific writing
Scientific writingScientific writing
Scientific writingmiso_uam
 
Facets_UCM
Facets_UCMFacets_UCM
Facets_UCMmiso_uam
 
Máster en Métodos Formales en Ingeniería Informática
Máster en Métodos Formales en Ingeniería InformáticaMáster en Métodos Formales en Ingeniería Informática
Máster en Métodos Formales en Ingeniería Informáticamiso_uam
 
Analysing-MMPLs
Analysing-MMPLsAnalysing-MMPLs
Analysing-MMPLsmiso_uam
 
Miso-McGill
Miso-McGillMiso-McGill
Miso-McGillmiso_uam
 
Model Transformation Reuse
Model Transformation ReuseModel Transformation Reuse
Model Transformation Reusemiso_uam
 
MDE-experiments
MDE-experimentsMDE-experiments
MDE-experimentsmiso_uam
 

More from miso_uam (20)

Model-driven engineering for AR
Model-driven engineering for ARModel-driven engineering for AR
Model-driven engineering for AR
 
Capone.pdf
Capone.pdfCapone.pdf
Capone.pdf
 
MLE_keynote.pdf
MLE_keynote.pdfMLE_keynote.pdf
MLE_keynote.pdf
 
Multi21
Multi21Multi21
Multi21
 
MLMPLs
MLMPLsMLMPLs
MLMPLs
 
Scientific writing
Scientific writingScientific writing
Scientific writing
 
Facets_UCM
Facets_UCMFacets_UCM
Facets_UCM
 
SLE_MIP08
SLE_MIP08SLE_MIP08
SLE_MIP08
 
mtATL
mtATLmtATL
mtATL
 
Máster en Métodos Formales en Ingeniería Informática
Máster en Métodos Formales en Ingeniería InformáticaMáster en Métodos Formales en Ingeniería Informática
Máster en Métodos Formales en Ingeniería Informática
 
Analysing-MMPLs
Analysing-MMPLsAnalysing-MMPLs
Analysing-MMPLs
 
Facets
FacetsFacets
Facets
 
kite
kitekite
kite
 
MTPLs
MTPLsMTPLs
MTPLs
 
Miso-McGill
Miso-McGillMiso-McGill
Miso-McGill
 
Model Transformation Reuse
Model Transformation ReuseModel Transformation Reuse
Model Transformation Reuse
 
Miso
MisoMiso
Miso
 
SICOMORO
SICOMOROSICOMORO
SICOMORO
 
ReusingMT
ReusingMTReusingMT
ReusingMT
 
MDE-experiments
MDE-experimentsMDE-experiments
MDE-experiments
 

Recently uploaded

Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalLionel Briand
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesPhilip Schwarz
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...OnePlan Solutions
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Velvetech LLC
 
Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfDrew Moseley
 
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdf
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdfInnovate and Collaborate- Harnessing the Power of Open Source Software.pdf
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdfYashikaSharma391629
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Andreas Granig
 
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Hr365.us smith
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Angel Borroy López
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based projectAnoyGreter
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanyChristoph Pohl
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Matt Ray
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...confluent
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)jennyeacort
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commercemanigoyal112
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEEVICTOR MAESTRE RAMIREZ
 
Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Rob Geurden
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odishasmiwainfosol
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Cizo Technology Services
 
PREDICTING RIVER WATER QUALITY ppt presentation
PREDICTING  RIVER  WATER QUALITY  ppt presentationPREDICTING  RIVER  WATER QUALITY  ppt presentation
PREDICTING RIVER WATER QUALITY ppt presentationvaddepallysandeep122
 

Recently uploaded (20)

Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive Goal
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a series
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...
 
Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdf
 
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdf
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdfInnovate and Collaborate- Harnessing the Power of Open Source Software.pdf
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdf
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024
 
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based project
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commerce
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEE
 
Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
 
PREDICTING RIVER WATER QUALITY ppt presentation
PREDICTING  RIVER  WATER QUALITY  ppt presentationPREDICTING  RIVER  WATER QUALITY  ppt presentation
PREDICTING RIVER WATER QUALITY ppt presentation
 

DSLcomet

  • 1. ACTIVE DOMAIN SPECIFIC LANGUAGES MAKING EVERY MOBILE USER A MODELLER MODELS’2017, Austin D. Vaquero, J. Palomares, E. Guerra, J. de Lara Modelling&Software Engineering Research Group http://miso.es @miso_uam
  • 2. USING DSLs TODAY Static use • Desktop-based editors • Web-based editors Static DSLs • Used at design time • Model execution, but no interaction with external elements 2
  • 3. WE NEED SUPPORT FOR MORE ADVANCED SCENARIOS! 3 DSLs to: • Design and monitor production plants on-site • Home automation systems • Create and follow trekking routes • Design open air crossfit circuits • Urban design for smart cities • IoT apps • … Scenarios: • Flexible collaboration accross devices • Crowdsourced modelling • …
  • 4. WE NEED SUPPORT FOR MORE ADVANCED SCENARIOS! 4 DSLs to: • Design and monitor production plants on-site • Home automation systems • Create and follow trekking routes • Design open air crossfit circuits • Urban design for smart cities • IoT apps • … Scenarios: • Flexible collaboration across devices • Crowdsourced modelling • … I’ll wait you here (*) mockup inspired by https://www.wikiloc.com/
  • 5. WE NEED SUPPORT FOR MORE ADVANCED SCENARIOS! 5 DSLs to: • Design and monitor production plants on-site • Home automation systems • Create and follow trekking routes • Design open air crossfit circuits • Urban design for smart cities • IoT apps • … Scenarios: • Flexible collaboration across devices • Crowdsourced modelling • … I’ll wait you here • This is an example of Active DSL • App builders become Language Engineers • App users become modellers (*) mockup inspired by https://www.wikiloc.com/
  • 6. WE NEED SUPPORT FOR MORE ADVANCED SCENARIOS! 6 DSLs to: • Design and monitor production plants on-site • Home automation systems • Create and follow trekking routes • Design open air crossfit circuits • Urban design for smart cities • IoT apps • … Scenarios: • Flexible collaboration across devices • Crowdsourced modelling • … I’ll wait you here
  • 7. REQUIREMENTS Used in mobility • Smartphones • Tablets Cross-platform compatibility • Desktop editors • Mobiles Geolocated • User representation Context awareness • Reaction rules 7 Collaborative • User roles External interaction • IoT devices • APIs • … Flexible modelling • Hand drawings • Photo sharing • Notes
  • 8. A FEATURE SPACE FOR DSLs (1/2) 8 DSL features Geolocated Deployment External interaction Web Desktop App Concrete syntax Textual Graphical optional mandatoryalternative or Services Devices User reification Tabular… Context sensitive External Internal Context source «implies» Standard DSL= Deployment.(Desktop v Web), ConcSyntax.Graphical.Geolocated, External interaction, Context sensitive
  • 9. A FEATURE SPACE FOR DSLs (1/2) 9 DSL features Geolocated Deployment External interaction Web Desktop App Concrete syntax Textual Graphical optional mandatoryalternative or Services Devices User reification Tabular… Context sensitive External Internal Context source «implies» Geo DSL= ConcreteSyntax.Graphical.Geolocated
  • 10. A FEATURE SPACE FOR DSLs (1/2) 10 DSL features Geolocated Deployment External interaction Web Desktop App Concrete syntax Textual Graphical optional mandatoryalternative or Services Devices User reification Tabular… Context sensitive External Internal Context source «implies» Geo DSL= ConcreteSyntax.Graphical.Geolocated
  • 11. A FEATURE SPACE FOR DSLs (1/2) 11 DSL features Geolocated Deployment External interaction Web Desktop App Concrete syntax Textual Graphical optional mandatoryalternative or Services Devices User reification Tabular… Context sensitive External Internal Context source «implies» Geo DSL= ConcreteSyntax.Graphical.Geolocated
  • 12. A FEATURE SPACE FOR DSLs (1/2) 12 DSL features Geolocated Deployment External interaction Web Desktop App Concrete syntax Textual Graphical optional mandatoryalternative or Services Devices User reification Tabular… Context sensitive External Internal Context source «implies» Geo DSL= ConcreteSyntax.Graphical.Geolocated name: Juan age: 18
  • 13. A FEATURE SPACE FOR DSLs (1/2) 13 DSL features Geolocated Deployment External interaction Web Desktop App Concrete syntax Textual Graphical optional mandatoryalternative or Services Devices User reification Tabular… Context sensitive External Internal Context source «implies» Open DSL= External interaction
  • 14. A FEATURE SPACE FOR DSLs (1/2) 14 DSL features Geolocated Deployment External interaction Web Desktop App Concrete syntax Textual Graphical optional mandatoryalternative or Services Devices User reification Tabular… Context sensitive External Internal Context source «implies» Open DSL= External interaction Take value of temperature attribute from openWeather
  • 15. A FEATURE SPACE FOR DSLs (1/2) 15 DSL features Geolocated Deployment External interaction Web Desktop App Concrete syntax Textual Graphical optional mandatoryalternative or Services Devices User reification Tabular… Context sensitive External Internal Context source «implies» Contextual DSL= Context sensitive
  • 16. A FEATURE SPACE FOR DSLs (1/2) 16 DSL features Geolocated Deployment External interaction Web Desktop App Concrete syntax Textual Graphical optional mandatoryalternative or Services Devices User reification Tabular… Context sensitive External Internal Context source «implies» Contextual DSL= Context sensitive
  • 17. A FEATURE SPACE FOR DSLs (1/2) 17 DSL features Geolocated Deployment External interaction Web Desktop App Concrete syntax Textual Graphical optional mandatoryalternative or Services Devices User reification Tabular… Context sensitive External Internal Context source «implies» Contextual DSL= Context sensitive Show if: not raining and temp < 28º
  • 18. A FEATURE SPACE FOR DSLs (1/2) 18 Active DSL= Deployment.App + Geo DSL + Open DSL + Contextual DSL DSL features Geolocated Deployment External interaction Web Desktop App Concrete syntax Textual Graphical optional mandatoryalternative or Services Devices User reification Tabular… Context sensitive External Internal Context source «implies»
  • 19. A FEATURE SPACE FOR DSLs (1/2) 19 Active DSL= Deployment.App + Geo DSL + Open DSL + Contextual DSL DSL features Geolocated Deployment External interaction Web Desktop App Concrete syntax Textual Graphical optional mandatoryalternative or Services Devices User reification Tabular… Context sensitive External Internal Context source «implies»
  • 20. 20 A FEATURE SPACE FOR DSLs (2/2) User roles Collaboration Serverless (local) Centralized Extended modelling Drawings Annotations Symbols Text Pictures Geolocation DSL features
  • 21. 21 A FEATURE SPACE FOR DSLs (2/2) User roles Collaboration Serverless (local) Centralized Extended modelling Drawings Annotations Symbols Text Pictures Geolocation DSL features Creation role • Creating the trekking route Outing role: • Following the route • Annotate the route (photos, text)
  • 22. 22 A FEATURE SPACE FOR DSLs (2/2) User roles Collaboration Serverless (local) Centralized Extended modelling Drawings Annotations Symbols Text Pictures Geolocation DSL features
  • 23. 23 A FEATURE SPACE FOR DSLs (2/2) User roles Collaboration Serverless (local) Centralized Extended modelling Drawings Annotations Symbols Text Pictures Geolocation DSL features I’ll wait you here Chat Model Sharing Reification of collaborators
  • 24. SPECIFYING ACTIVE DSLS 24 Mobile app Desktop environment domain MM graphic. repr. geo positioning external interaction Graphical Representation MM «conforms to» «annotates» «annotates» «annotates» Geo Positioning MM «conforms to» external interaction MM «conforms to» deploy contextual rules context MM «conforms to» «annotates» Domain meta-model Annotation models • Concrete Syntax • Geopositioning • External Interaction • Context
  • 25. SPECIFYING EXTERNAL INTERACTION 25 Assigning attribute values taken from external sources via APIs Repository of API descriptions • With and without authentication Annotate a given attribute with • API to be called • Trigger condition • Parameter values
  • 26. REALIZATION: DSL-COMET First steps towards the realization of Active DSLs Deployment of DSLs • Desktop as a Sirius Editor • In iOS devices Support for • Geo-DSLs • Open DSLs Extended modelling • Markers, hand drawings • Photo attachments Collaboration support Can be downloaded from AppStore • For free! 26
  • 32. MODEL SHARING 32 Through Drive, Dropbox, etc Tweet your models
  • 33. EXTENDED MODELLING 33 Notes: text, photos, geopositioned Informal drawings, signals
  • 34. COLLABORATION 34 Local collaboration • Serverless • Ad-hoc wifi Collaboration session • Token-based • Shared model • Shared annotations • Shared drawings
  • 36. CONCLUSION Need for DSLs for more advanced scenarios • Open DSLs • Geo DSLs • Contextual DSLs • Active DSLs Collaboration • Chat, model sharing • Cross-platform use and compatibility Initial realization • DSL-comet • DSLs on iOS devices and Sirius editors 36
  • 37. FUTURE ROADMAP 37 open geo contextual active mobile collaboration flexible modelling user roles large scale collaboration DSL-based construction of mobile apps Supported in DSL-comet Unsupported (yet) optional legend