Download as pdf or txt
Download as pdf or txt
You are on page 1of 31

Rapid Development of Interactive

Applications Based on
Online Social Networks
Thessaloniki
ngel Mora-Segura / Juan de Lara / Jess Snchez-Cuadrado
Modeling and Software Engineering Research Group
Department of Computer Science
Universidad Autnoma de Madrid, Spain
WISE 2014 Greece
Agenda
Introduction and motivating examples
Architecture of our solution
A DSL for Describing Patterns
A DSL for Queries and Actions
Tool support
Thessaloniki
Greece
2
31
WISE 2014
Rapid Development of Interactive Applications Based on Online Social Networks
Introduction
Modelling & Soft. Eng. R.G.
Univ. Autnoma de Madrid, Spain
Online social networks
help to connect with
friends attending to
preferences or interests,
or to organize social
activities.
Companies and brands
interact with clients
through experts called
social media managers
First ideas
Thessaloniki
Greece
3
31
WISE 2014
Introduction
Modelling & Soft. Eng. R.G.
Univ. Autnoma de Madrid, Spain
Our goal
4
We observe a growing need to automate social
activities.

Users may wish to dene simple applications
involving the participation of a community.

Companies may like to open their information
systems to OSN platforms, but the integration
effort needs to be done by hand.
31
Thessaloniki
GreeceWISE 2014
Rapid Development of Interactive Applications Based on Online Social Networks
Introduction
Users: who designs
We want to assist users with
technical skills that they could
be or not experts or IT
specialists.
For example, marketing
specialists frequently use
languages like HTML.
Modelling & Soft. Eng. R.G.
Univ. Autnoma de Madrid, Spain
5
31
Thessaloniki
GreeceWISE 2014
Rapid Development of Interactive Applications Based on Online Social Networks
Introduction
Users: who uses
We expect to help end users to
avoid installing a hundred of mobile
applications
Modelling & Soft. Eng. R.G.
Univ. Autnoma de Madrid, Spain
6
31
Thessaloniki
GreeceWISE 2014
Rapid Development of Interactive Applications Based on Online Social Networks
Introduction
Benefits of Online Social
Networks
They offer a clear and stable interface and OSNs based
on short, instant messages, are suitable as front-end
for computer applications.

OSN are designed to support a high load of users and
posts and many people are familiar with specic OSNs
and have it already installed in their devices.

Applications can leverage from the social network
structure provided by the OSN platform.
Modelling & Soft. Eng. R.G.
Univ. Autnoma de Madrid, Spain
7
31
Thessaloniki
GreeceWISE 2014
Rapid Development of Interactive Applications Based on Online Social Networks
Modelling & Soft. Eng. R.G.
Univ. Autnoma de Madrid, Spain
Introduction
Online social network based on
a microblogging service
tweets = messages: they are limited
to 140 characters
@users
#hashtags
links
images
publication date
geoposition, location
Messages are public by default
What is Twitter?
8
31
Thessaloniki
GreeceWISE 2014
Rapid Development of Interactive Applications Based on Online Social Networks
Motivating examples
1. Tweet-based user interfaces for Enterprise
Systems
Traveller
Twitter
Airport
Information
System
Status of IB645 @aena
IB645 boarding at Gate
B65, Terminal 1, 20 delay
Tweets mentioning
@aena
Required
information
!
#
$
%
&
Tweet-
Based UI
(+) Users do not need to install a new software
for interacting with the information system.
(+) Additional information can be obtained if
tweets are geolocated.
Modelling & Soft. Eng. R.G.
Univ. Autnoma de Madrid, Spain
9
31
Thessaloniki
GreeceWISE 2014
Rapid Development of Interactive Applications Based on Online Social Networks
Motivating examples
2. Ad-hoc Tweet-Based Collaborative
Applications
Student Twitter
Q1 Velzquez
Q1 Who painted
las meninas?
!
#
!"
!$
!"
$%!&'
$%!&'
Teacher
!"#$%&'(()&*#

followers
$%
&'()*+(
%&''()*+,'- +../01+(023
-
Questionnaires
-
Sport events organization
-
Outdoor educational games
Modelling & Soft. Eng. R.G.
Univ. Autnoma de Madrid, Spain
10
31
Thessaloniki
GreeceWISE 2014
Rapid Development of Interactive Applications Based on Online Social Networks
Motivating examples
3. Massively Collaborative Application for
Unexpected Situations
Modelling & Soft. Eng. R.G.
Univ. Autnoma de Madrid, Spain
1.12M followers
11
31
993K
followers
07th October 2014
Thessaloniki
GreeceWISE 2014
Rapid Development of Interactive Applications Based on Online Social Networks
Running example
Modelling & Soft. Eng. R.G.
Univ. Autnoma de Madrid, Spain
12
31
Users send tweets
mentioning a @user
Simple voting system
The execution
model will be
based on data
ow through
pattern
recognition
The goal of the application is to
detect positive or negative voting
to simple questions
Thessaloniki
GreeceWISE 2014
Rapid Development of Interactive Applications Based on Online Social Networks
User
Community
Pattern
matcher
end
[cond]
Twitter
actions: selection,
aggregation,
Existing Information
System
Application
Designer
Domain
Specific
Language
patterns
queries
actions
describe the application,
guided by the context assistant.
Wordnet
Post-based application
message
synthesis
Match
Set
!"##$%& !"#$% &'(&)%$*+",$]={}
+)&+$!# '($)#*"+ = {}
-.$%/ ,"(+#% - +).&# 0 2%)3 !"#$%
3$,,"($ #./+0( (1./+0))
#4$$# 2$)(3#) 45$&
2'&',5 $+4,"+4*#*"+- 45$&
tweets
mentioning
@user
Architecture of our solution
Modelling & Soft. Eng. R.G.
Univ. Autnoma de Madrid, Spain
13
31
Thessaloniki
GreeceWISE 2014
Rapid Development of Interactive Applications Based on Online Social Networks
User
Community
Pattern
matcher
end
[cond]
Twitter
actions: selection,
aggregation,
Existing Information
System
Application
Designer
Domain
Specific
Language
patterns
queries
actions
describe the application,
guided by the context assistant.
Wordnet
Post-based application
message
synthesis
Match
Set
!"##$%& !"#$% &'(&)%$*+",$]={}
+)&+$!# '($)#*"+ = {}
-.$%/ ,"(+#% - +).&# 0 2%)3 !"#$%
3$,,"($ #./+0( (1./+0))
#4$$# 2$)(3#) 45$&
2'&',5 $+4,"+4*#*"+- 45$&
tweets
mentioning
@user
Architecture of our solution
Modelling & Soft. Eng. R.G.
Univ. Autnoma de Madrid, Spain
Users send tweets or private messages
via Twitter
Our solution relies on the denition of
patterns, expected to be found in
tweets
14
31
Thessaloniki
GreeceWISE 2014
Rapid Development of Interactive Applications Based on Online Social Networks
User
Community
Pattern
matcher
end
[cond]
Twitter
actions: selection,
aggregation,
Existing Information
System
Application
Designer
Domain
Specific
Language
patterns
queries
actions
describe the application,
guided by the context assistant.
Wordnet
Post-based application
message
synthesis
Match
Set
!"##$%& !"#$% &'(&)%$*+",$]={}
+)&+$!# '($)#*"+ = {}
-.$%/ ,"(+#% - +).&# 0 2%)3 !"#$%
3$,,"($ #./+0( (1./+0))
#4$$# 2$)(3#) 45$&
2'&',5 $+4,"+4*#*"+- 45$&
tweets
mentioning
@user
Architecture of our solution
Modelling & Soft. Eng. R.G.
Univ. Autnoma de Madrid, Spain
The patterns are dened by the
application designer
15
31
Thessaloniki
GreeceWISE 2014
Rapid Development of Interactive Applications Based on Online Social Networks
User
Community
Pattern
matcher
end
[cond]
Twitter
actions: selection,
aggregation,
Existing Information
System
Application
Designer
Domain
Specific
Language
patterns
queries
actions
describe the application,
guided by the context assistant.
Wordnet
Post-based application
message
synthesis
Match
Set
!"##$%& !"#$% &'(&)%$*+",$]={}
+)&+$!# '($)#*"+ = {}
-.$%/ ,"(+#% - +).&# 0 2%)3 !"#$%
3$,,"($ #./+0( (1./+0))
#4$$# 2$)(3#) 45$&
2'&',5 $+4,"+4*#*"+- 45$&
tweets
mentioning
@user
Architecture of our solution
Modelling & Soft. Eng. R.G.
Univ. Autnoma de Madrid, Spain
Data can be obtained or sent to existing
information systems
16
31
Thessaloniki
GreeceWISE 2014
Rapid Development of Interactive Applications Based on Online Social Networks
User
Community
Pattern
matcher
end
[cond]
Twitter
actions: selection,
aggregation,
Existing Information
System
Application
Designer
Domain
Specific
Language
patterns
queries
actions
describe the application,
guided by the context assistant.
Wordnet
Post-based application
message
synthesis
Match
Set
!"##$%& !"#$% &'(&)%$*+",$]={}
+)&+$!# '($)#*"+ = {}
-.$%/ ,"(+#% - +).&# 0 2%)3 !"#$%
3$,,"($ #./+0( (1./+0))
#4$$# 2$)(3#) 45$&
2'&',5 $+4,"+4*#*"+- 45$&
tweets
mentioning
@user
Architecture of our solution
Modelling & Soft. Eng. R.G.
Univ. Autnoma de Madrid, Spain
Data extracted can be used to
synthesize new tweets or private
messages
17
31
Thessaloniki
GreeceWISE 2014
Rapid Development of Interactive Applications Based on Online Social Networks
User
Community
Pattern
matcher
end
[cond]
Twitter
actions: selection,
aggregation,
Existing Information
System
Application
Designer
Domain
Specific
Language
patterns
queries
actions
describe the application,
guided by the context assistant.
Wordnet
Post-based application
message
synthesis
Match
Set
!"##$%& !"#$% &'(&)%$*+",$]={}
+)&+$!# '($)#*"+ = {}
-.$%/ ,"(+#% - +).&# 0 2%)3 !"#$%
3$,,"($ #./+0( (1./+0))
#4$$# 2$)(3#) 45$&
2'&',5 $+4,"+4*#*"+- 45$&
tweets
mentioning
@user
Architecture of our solution
Modelling & Soft. Eng. R.G.
Univ. Autnoma de Madrid, Spain
MDE solution based on two
domain-specic languages
18
31
Thessaloniki
GreeceWISE 2014
Rapid Development of Interactive Applications Based on Online Social Networks
Modelling & Soft. Eng. R.G.
Univ. Autnoma de Madrid, Spain
MDE: Model-Driven Engineering
19
(1) It can be dened as a methodology for
applying the advantages of modeling to
software engineering activities
Model-driven Software Engineering in Practice.
Brambilla, Cabot, Wimmer. 2012
(2) It express domain concepts effectively.
Model-Driven Engineering
Schmidt. 2006
31
Thessaloniki
GreeceWISE 2014
Rapid Development of Interactive Applications Based on Online Social Networks
Modelling & Soft. Eng. R.G.
Univ. Autnoma de Madrid, Spain
MDE
Metamodels
Model-Driven Engineering
20
Towards a basic theory to model driven engineering.
Favre. 2004
What models mean.
Seidewitz. 2003
A metamodel is a model of a language of models
A model is a set of statements about some
system under study.
instance of
31
Thessaloniki
GreeceWISE 2014
Rapid Development of Interactive Applications Based on Online Social Networks
Modelling & Soft. Eng. R.G.
Univ. Autnoma de Madrid, Spain
MDE
Domain-Specific Languages
Model-Driven Engineering
21
A metamodel is a model of a language of models
When and How to Develop Domain-Specic Languages.
Mernik, Heering, Sloane. 2005
DSLs trade generality for expressiveness in a
limited domain.
denes
31
Thessaloniki
GreeceWISE 2014
Rapid Development of Interactive Applications Based on Online Social Networks
Twiagle
A DSL for Describing Patterns
Modelling & Soft. Eng. R.G.
Univ. Autnoma de Madrid, Spain
PatternModel
Element
Pattern Concept
elements
*
ordered: bool
strict: bool
PhraseProperty
distinct: bool
ignoreCase: bool
ignoreAccents: bool
looseVowels: bool
PatternCore
tokens: String[]
Sequence
concept
1
ExplicitConcept
TwitterPatterns
Concept
from PatternCore
TwitterConcept
User
Hashtag
Media
URL
imports
PatternConcept
isOptional: bool
concepts
*
22
31
Thessaloniki
GreeceWISE 2014
Rapid Development of Interactive Applications Based on Online Social Networks
Twiagle
A DSL for Describing Patterns
pattern voteY [ordered loose"vowels ignore"case] = {question?, yes}
pattern voteN [ordered loose"vowels ignore"case] = {question?, no}
concept question = {question, inquiry, enquiry, query, interrogation}
concept yes = {yes, afrmative, 1, true, y}
concept no = {no, negative, 0, false, n}
pattern name [options] = {concept1, , conceptN}
concept name = {term1, , termN}
twitter name = {tweetword1, , tweetwordN}
Modelling & Soft. Eng. R.G.
Univ. Autnoma de Madrid, Spain
23
31
Thessaloniki
GreeceWISE 2014
Rapid Development of Interactive Applications Based on Online Social Networks
Twiagle
Modelling & Soft. Eng. R.G.
Univ. Autnoma de Madrid, Spain
ActionModel
Element
Query
elements
*
newest: bool
ActionCore TwitterActions

Post
from ActionCore
TwitterPostAction
Tweet
Message
Retweet
Favorite
AddingQuery SelectQuery
Select
select
1
SetOperator
0..1
operator
1
select
Where
where
0..1
Expression
expression
1
Post
When
when
0..1
expression
1
EndingCondition
when
1
finish
0..1
imports

Select
from ActionCore
TwitterSelect
Geo
HashTag
Date
User
ResultSet
name : String
1
from
A DSL for Queries and Actions
24
31
Thessaloniki
GreeceWISE 2014
Rapid Development of Interactive Applications Based on Online Social Networks
Twiagle
[@newest] query name : <query_denition>

a <query_denition> can be:
select elements from pattern
count countable elements from pattern
min, max numerical elements from pattern

union and intersect operations are allowed over sets
of elements

tweet (String) to <query_response>
message (String) to <query_response>
Modelling & Soft. Eng. R.G.
Univ. Autnoma de Madrid, Spain
A DSL for Queries and Actions
25
31
Thessaloniki
GreeceWISE 2014
Rapid Development of Interactive Applications Based on Online Social Networks
Twiagle
query countY : count yes from voteY;
query countN : count no from voteN;

@newest query users_voting : users from voteY union users from
voteN;
message thanku ("Thanks for your vote.") to users_voting;

tweet presults ("Partial results: (%s) yes, (%s) no", countY, countN) when
(countY + countN) = 15;
tweet results ("Results: (%s) yes, (%s) no", countY, countN) when (countY
+ countN) = 30;

nish end: when (countY + countN) = 30;
Modelling & Soft. Eng. R.G.
Univ. Autnoma de Madrid, Spain
A DSL for Queries and Actions
26
31
Thessaloniki
GreeceWISE 2014
Rapid Development of Interactive Applications Based on Online Social Networks
Twiagle
Tool Support
Modelling & Soft. Eng. R.G.
Univ. Autnoma de Madrid, Spain
27
31
Thessaloniki
GreeceWISE 2014
Rapid Development of Interactive Applications Based on Online Social Networks
Conclusions
We have introduced the concept of post-
based applications; applications whose inputs
and outputs are extracted and produced from
OSNs.

We have shown some scenarios where those
apps are useful and demonstrated the viability
of the idea with a prototype.

We have discuss about the use of the
languages by non-technical experts.
Modelling & Soft. Eng. R.G.
Univ. Autnoma de Madrid, Spain
28
31
Thessaloniki
GreeceWISE 2014
Rapid Development of Interactive Applications Based on Online Social Networks
Future Work
Evaluation

We would like to increase the expressiveness
of our pattern DSL. Nowadays our DSLs are
very generic. We are improving our action
language with new primitives (e.g. presenting
outputs in charts or maps).

Deployment mode and web-based version of
the tool.
Modelling & Soft. Eng. R.G.
Univ. Autnoma de Madrid, Spain
29
31
Thessaloniki
GreeceWISE 2014
Rapid Development of Interactive Applications Based on Online Social Networks
Questions
Modelling & Soft. Eng. R.G.
Univ. Autnoma de Madrid, Spain
30
31
Thessaloniki
GreeceWISE 2014
Rapid Development of Interactive Applications Based on Online Social Networks
Rapid Development of Interactive
Applications Based on
Online Social Networks
ngel Mora-Segura / Juan de Lara / Jess Snchez-Cuadrado
thanks for your attention
Modelling & Soft. Eng. R.G.
Univ. Autnoma de Madrid, Spain
Angel.MoraS@uam.es
www.miso.es
Thessaloniki
GreeceWISE 2014

You might also like