SlideShare une entreprise Scribd logo
1  sur  14
Télécharger pour lire hors ligne
Università degli Studi dell’Aquila
Collaborative
Design and Development Data-
Intensive Mobile Applications
Mirco Franzago, Ivano Malavolta, Henry Muccini
DISIM, University of L’Aquila
henry.muccini@univaq.it, @muccinihenry, www.henrymuccini.com
@MobileSoft 2014, Hyderabad – June 2014
App
Developer
Content Manager
Navigation
ML
Data
UI ML
UI Designer
Business Logic
Server Side Developer
forforforfor
The problem we want to deal with
2
Recurring issues and challenges in app development
Technical (fragmentation, code reuse, frequent
changes, monitoring analysis and testing, etc.)
Design issues
Limited reasoning in the context
Limited information architecture
engineering
Stakeholder diversity
Best practices for app design and development are available, but mobile
applications are still developed with ad-hoc development processes, and
best practices are still not automated.
Goals of our proposal
To codify best design practices into a Model-
Driven Engineering language and framework
3
An
aly
sis
r
App
Developer
Anal
ysis r
Analysis
results
1
A
1 2
A
2 n
A
n
Content Manager
Plugin developers
Navigation
ML
Data
UI ML
UI Designer
MobML
Analysis
MobL
Code
The MobML Framework
Business Logic
An
aly
ACode
Modeling environment for
Mobile Applications
Server Side
Developer
MobML
Testing
Analysis and
Code
Generation
Principles
4
Participatory design
Collaborative Design
Multi-view Modeling Languages
Hiding MDE complexities
A
B
C
D
A. Participatory Design
“Participatory design … is an approach to design
attempting to actively involve all
stakeholders (e.g. employees, partners, customers,
citizens, end users) in the design process to help ensure
the result meets their needs and is usable” [Wikipedia]
5
Stakeholder diversity
B. Collaborative Design
6
Integration with source codeReal-time collaboration
Tangibility
C. Multi-view Modeling Language
7
Separation of concerns
Platform independence
Models Reuse
Extensibility
D. Hiding MDE complexities
8
Sliding: go to page 2
Click: go to the
category page
Collaborative Framework
Goals of our proposal
To codify best design practices into a Model-
Driven Engineering language and framework
9
An
aly
sis
r
App
Developer
Anal
ysis r
Analysis
results
1
A
1 2
A
2 n
A
n
Content Manager
Plugin developers
Navigation
ML
Data
UI ML
UI Designer
MobML
Analysis
MobL
Code
Business Logic
An
aly
ACode
Modeling environment
Server Side
Developer
MobML
Testing
Analysis and
Code
Generation
The MobML Design Decisions
10
Web-based Framework
UI, Navigation, Data, Business Logic views
Only Data-Intensive Mobile apps
Synchronous, Semi-synch, Asynchronous, …
Targeting Apache Cordova (so far)
Related Work
11
MobML Quill MD2 IFML WAE
Mobile-specific
Multiple stakeholders
Code generation
Cross-platform code
Analysis (yet)
On-demand deployment
Collaborative
Real-time support
Graphical notation
User-oriented
Technology agnostic
Multiple stakeholders
Domain-specific
Tool: Web-based
Enterprise-oriented
Technology agnostic
Single stakeholder: engineer
Based on UML
Tool: Eclipse-based
12
Future Work
Formal definition of the proposed languages
Pre-deployment analysis for enforcing design best practices
and guidelines
Generic framework for managing real-time collaborative
modeling
Empirical evidence about the effectiveness of the approach
and about the quality of hybrid apps w.r.t. native apps
13
Contacts
If you are interested in the proposed approach:
14
Stop by after the presentation
Contact me at henry.muccini@univaq.it
Tweet @muccinihenry
Skype me at henry.muccini
Call me ☺☺☺☺
Franzago, Malavolta, Muccini “Towards a Collaborative Framework for the Design
and Development of Data-Intensive Mobile Applications” @MobileSoft2014

Contenu connexe

Plus de Henry Muccini

The influence of Group Decision Making on Architecture Design Decisions
The influence of Group Decision Making on Architecture Design DecisionsThe influence of Group Decision Making on Architecture Design Decisions
The influence of Group Decision Making on Architecture Design DecisionsHenry Muccini
 
An IoT Software Architecture for an Evacuable Building Architecture
An IoT Software Architecture for an Evacuable Building ArchitectureAn IoT Software Architecture for an Evacuable Building Architecture
An IoT Software Architecture for an Evacuable Building ArchitectureHenry Muccini
 
Web Engineering L8: User-centered Design (8/8)
Web Engineering L8: User-centered Design (8/8)Web Engineering L8: User-centered Design (8/8)
Web Engineering L8: User-centered Design (8/8)Henry Muccini
 
Web Engineering L7: Sequence Diagrams and Design Decisions (7/8)
Web Engineering L7: Sequence Diagrams and Design Decisions (7/8)Web Engineering L7: Sequence Diagrams and Design Decisions (7/8)
Web Engineering L7: Sequence Diagrams and Design Decisions (7/8)Henry Muccini
 
Web Engineering L6: Software Architecture for the Web (6/8)
Web Engineering L6: Software Architecture for the Web (6/8)Web Engineering L6: Software Architecture for the Web (6/8)
Web Engineering L6: Software Architecture for the Web (6/8)Henry Muccini
 
Web Engineering L5: Content Model (5/8)
Web Engineering L5: Content Model (5/8)Web Engineering L5: Content Model (5/8)
Web Engineering L5: Content Model (5/8)Henry Muccini
 
Web Engineering L3: Project Planning (3/8)
Web Engineering L3: Project Planning (3/8)Web Engineering L3: Project Planning (3/8)
Web Engineering L3: Project Planning (3/8)Henry Muccini
 
Web Engineering L2: Requirements Elicitation for the Web (2/8)
Web Engineering L2: Requirements Elicitation for the Web (2/8)Web Engineering L2: Requirements Elicitation for the Web (2/8)
Web Engineering L2: Requirements Elicitation for the Web (2/8)Henry Muccini
 
Web Engineering L1: introduction to Web Engineering (1/8)
Web Engineering L1: introduction to Web Engineering (1/8)Web Engineering L1: introduction to Web Engineering (1/8)
Web Engineering L1: introduction to Web Engineering (1/8)Henry Muccini
 
Web Engineering L4: Requirements and Planning in concrete (4/8)
Web Engineering L4: Requirements and Planning in concrete (4/8)Web Engineering L4: Requirements and Planning in concrete (4/8)
Web Engineering L4: Requirements and Planning in concrete (4/8)Henry Muccini
 
Collaborative aspects of Decision Making and its impact on Sustainability
Collaborative aspects of Decision Making and its impact on SustainabilityCollaborative aspects of Decision Making and its impact on Sustainability
Collaborative aspects of Decision Making and its impact on SustainabilityHenry Muccini
 
Engineering Cyber Physical Spaces
Engineering Cyber Physical SpacesEngineering Cyber Physical Spaces
Engineering Cyber Physical SpacesHenry Muccini
 
I progetti UnivAq-UFFIZI, INCIPICT, e  CUSPIS
I progetti UnivAq-UFFIZI, INCIPICT, e  CUSPISI progetti UnivAq-UFFIZI, INCIPICT, e  CUSPIS
I progetti UnivAq-UFFIZI, INCIPICT, e  CUSPISHenry Muccini
 
Exploring the Temporal Aspects of Software Architecture
Exploring the Temporal Aspects of Software ArchitectureExploring the Temporal Aspects of Software Architecture
Exploring the Temporal Aspects of Software ArchitectureHenry Muccini
 
EasyLine: call4ideas_2016
EasyLine: call4ideas_2016EasyLine: call4ideas_2016
EasyLine: call4ideas_2016Henry Muccini
 
The role of MDE in Software Architecture Descriptions
The role of MDE in Software Architecture DescriptionsThe role of MDE in Software Architecture Descriptions
The role of MDE in Software Architecture DescriptionsHenry Muccini
 
Euroweb+ meeting at the University of L'Aquila, Italy
Euroweb+ meeting at the University of L'Aquila, ItalyEuroweb+ meeting at the University of L'Aquila, Italy
Euroweb+ meeting at the University of L'Aquila, ItalyHenry Muccini
 
On the Use of Component-Based Principles and Practices for Architecting Cyber...
On the Use of Component-Based Principles and Practices for Architecting Cyber...On the Use of Component-Based Principles and Practices for Architecting Cyber...
On the Use of Component-Based Principles and Practices for Architecting Cyber...Henry Muccini
 
1ST DISIM WORKSHOP ON ENGINEERING CYBER-PHYSICAL SYSTEMS
1ST DISIM WORKSHOP ON ENGINEERING CYBER-PHYSICAL SYSTEMS1ST DISIM WORKSHOP ON ENGINEERING CYBER-PHYSICAL SYSTEMS
1ST DISIM WORKSHOP ON ENGINEERING CYBER-PHYSICAL SYSTEMSHenry Muccini
 
L06 Architecting Activities
L06 Architecting ActivitiesL06 Architecting Activities
L06 Architecting ActivitiesHenry Muccini
 

Plus de Henry Muccini (20)

The influence of Group Decision Making on Architecture Design Decisions
The influence of Group Decision Making on Architecture Design DecisionsThe influence of Group Decision Making on Architecture Design Decisions
The influence of Group Decision Making on Architecture Design Decisions
 
An IoT Software Architecture for an Evacuable Building Architecture
An IoT Software Architecture for an Evacuable Building ArchitectureAn IoT Software Architecture for an Evacuable Building Architecture
An IoT Software Architecture for an Evacuable Building Architecture
 
Web Engineering L8: User-centered Design (8/8)
Web Engineering L8: User-centered Design (8/8)Web Engineering L8: User-centered Design (8/8)
Web Engineering L8: User-centered Design (8/8)
 
Web Engineering L7: Sequence Diagrams and Design Decisions (7/8)
Web Engineering L7: Sequence Diagrams and Design Decisions (7/8)Web Engineering L7: Sequence Diagrams and Design Decisions (7/8)
Web Engineering L7: Sequence Diagrams and Design Decisions (7/8)
 
Web Engineering L6: Software Architecture for the Web (6/8)
Web Engineering L6: Software Architecture for the Web (6/8)Web Engineering L6: Software Architecture for the Web (6/8)
Web Engineering L6: Software Architecture for the Web (6/8)
 
Web Engineering L5: Content Model (5/8)
Web Engineering L5: Content Model (5/8)Web Engineering L5: Content Model (5/8)
Web Engineering L5: Content Model (5/8)
 
Web Engineering L3: Project Planning (3/8)
Web Engineering L3: Project Planning (3/8)Web Engineering L3: Project Planning (3/8)
Web Engineering L3: Project Planning (3/8)
 
Web Engineering L2: Requirements Elicitation for the Web (2/8)
Web Engineering L2: Requirements Elicitation for the Web (2/8)Web Engineering L2: Requirements Elicitation for the Web (2/8)
Web Engineering L2: Requirements Elicitation for the Web (2/8)
 
Web Engineering L1: introduction to Web Engineering (1/8)
Web Engineering L1: introduction to Web Engineering (1/8)Web Engineering L1: introduction to Web Engineering (1/8)
Web Engineering L1: introduction to Web Engineering (1/8)
 
Web Engineering L4: Requirements and Planning in concrete (4/8)
Web Engineering L4: Requirements and Planning in concrete (4/8)Web Engineering L4: Requirements and Planning in concrete (4/8)
Web Engineering L4: Requirements and Planning in concrete (4/8)
 
Collaborative aspects of Decision Making and its impact on Sustainability
Collaborative aspects of Decision Making and its impact on SustainabilityCollaborative aspects of Decision Making and its impact on Sustainability
Collaborative aspects of Decision Making and its impact on Sustainability
 
Engineering Cyber Physical Spaces
Engineering Cyber Physical SpacesEngineering Cyber Physical Spaces
Engineering Cyber Physical Spaces
 
I progetti UnivAq-UFFIZI, INCIPICT, e  CUSPIS
I progetti UnivAq-UFFIZI, INCIPICT, e  CUSPISI progetti UnivAq-UFFIZI, INCIPICT, e  CUSPIS
I progetti UnivAq-UFFIZI, INCIPICT, e  CUSPIS
 
Exploring the Temporal Aspects of Software Architecture
Exploring the Temporal Aspects of Software ArchitectureExploring the Temporal Aspects of Software Architecture
Exploring the Temporal Aspects of Software Architecture
 
EasyLine: call4ideas_2016
EasyLine: call4ideas_2016EasyLine: call4ideas_2016
EasyLine: call4ideas_2016
 
The role of MDE in Software Architecture Descriptions
The role of MDE in Software Architecture DescriptionsThe role of MDE in Software Architecture Descriptions
The role of MDE in Software Architecture Descriptions
 
Euroweb+ meeting at the University of L'Aquila, Italy
Euroweb+ meeting at the University of L'Aquila, ItalyEuroweb+ meeting at the University of L'Aquila, Italy
Euroweb+ meeting at the University of L'Aquila, Italy
 
On the Use of Component-Based Principles and Practices for Architecting Cyber...
On the Use of Component-Based Principles and Practices for Architecting Cyber...On the Use of Component-Based Principles and Practices for Architecting Cyber...
On the Use of Component-Based Principles and Practices for Architecting Cyber...
 
1ST DISIM WORKSHOP ON ENGINEERING CYBER-PHYSICAL SYSTEMS
1ST DISIM WORKSHOP ON ENGINEERING CYBER-PHYSICAL SYSTEMS1ST DISIM WORKSHOP ON ENGINEERING CYBER-PHYSICAL SYSTEMS
1ST DISIM WORKSHOP ON ENGINEERING CYBER-PHYSICAL SYSTEMS
 
L06 Architecting Activities
L06 Architecting ActivitiesL06 Architecting Activities
L06 Architecting Activities
 

Designing Data-Intensive Mobile Applications: the MobML approach

  • 1. Università degli Studi dell’Aquila Collaborative Design and Development Data- Intensive Mobile Applications Mirco Franzago, Ivano Malavolta, Henry Muccini DISIM, University of L’Aquila henry.muccini@univaq.it, @muccinihenry, www.henrymuccini.com @MobileSoft 2014, Hyderabad – June 2014 App Developer Content Manager Navigation ML Data UI ML UI Designer Business Logic Server Side Developer forforforfor
  • 2. The problem we want to deal with 2 Recurring issues and challenges in app development Technical (fragmentation, code reuse, frequent changes, monitoring analysis and testing, etc.) Design issues Limited reasoning in the context Limited information architecture engineering Stakeholder diversity Best practices for app design and development are available, but mobile applications are still developed with ad-hoc development processes, and best practices are still not automated.
  • 3. Goals of our proposal To codify best design practices into a Model- Driven Engineering language and framework 3 An aly sis r App Developer Anal ysis r Analysis results 1 A 1 2 A 2 n A n Content Manager Plugin developers Navigation ML Data UI ML UI Designer MobML Analysis MobL Code The MobML Framework Business Logic An aly ACode Modeling environment for Mobile Applications Server Side Developer MobML Testing Analysis and Code Generation
  • 4. Principles 4 Participatory design Collaborative Design Multi-view Modeling Languages Hiding MDE complexities A B C D
  • 5. A. Participatory Design “Participatory design … is an approach to design attempting to actively involve all stakeholders (e.g. employees, partners, customers, citizens, end users) in the design process to help ensure the result meets their needs and is usable” [Wikipedia] 5 Stakeholder diversity
  • 6. B. Collaborative Design 6 Integration with source codeReal-time collaboration Tangibility
  • 7. C. Multi-view Modeling Language 7 Separation of concerns Platform independence Models Reuse Extensibility
  • 8. D. Hiding MDE complexities 8 Sliding: go to page 2 Click: go to the category page
  • 9. Collaborative Framework Goals of our proposal To codify best design practices into a Model- Driven Engineering language and framework 9 An aly sis r App Developer Anal ysis r Analysis results 1 A 1 2 A 2 n A n Content Manager Plugin developers Navigation ML Data UI ML UI Designer MobML Analysis MobL Code Business Logic An aly ACode Modeling environment Server Side Developer MobML Testing Analysis and Code Generation
  • 10. The MobML Design Decisions 10 Web-based Framework UI, Navigation, Data, Business Logic views Only Data-Intensive Mobile apps Synchronous, Semi-synch, Asynchronous, … Targeting Apache Cordova (so far)
  • 11. Related Work 11 MobML Quill MD2 IFML WAE Mobile-specific Multiple stakeholders Code generation Cross-platform code Analysis (yet) On-demand deployment Collaborative Real-time support Graphical notation
  • 12. User-oriented Technology agnostic Multiple stakeholders Domain-specific Tool: Web-based Enterprise-oriented Technology agnostic Single stakeholder: engineer Based on UML Tool: Eclipse-based 12
  • 13. Future Work Formal definition of the proposed languages Pre-deployment analysis for enforcing design best practices and guidelines Generic framework for managing real-time collaborative modeling Empirical evidence about the effectiveness of the approach and about the quality of hybrid apps w.r.t. native apps 13
  • 14. Contacts If you are interested in the proposed approach: 14 Stop by after the presentation Contact me at henry.muccini@univaq.it Tweet @muccinihenry Skype me at henry.muccini Call me ☺☺☺☺ Franzago, Malavolta, Muccini “Towards a Collaborative Framework for the Design and Development of Data-Intensive Mobile Applications” @MobileSoft2014