=Paper= {{Paper |id=Vol-2019/demos_1 |storemode=property |title=Assisted Modelling Over Social Networks with SOCIO |pdfUrl=https://ceur-ws.org/Vol-2019/demos_1.pdf |volume=Vol-2019 |authors=Sara Pérez-Soler,Esther Guerra,Juan de Lara |dblpUrl=https://dblp.org/rec/conf/models/Perez-SolerGL17 }} ==Assisted Modelling Over Social Networks with SOCIO== https://ceur-ws.org/Vol-2019/demos_1.pdf
         Assisted modelling over social networks with
                           S OCIO
                                         Sara Pérez-Soler, Esther Guerra, Juan de Lara
                                         Modelling & Software Engineering Research Group
                                                             http://miso.es
                                                    Computer Science Department
                                              Universidad Autónoma de Madrid (Spain)
                                      e-mail: {sara.perezs, esther.guerra, juan.delara}@uam.es


   Abstract—Social networks are intensively used nowadays for            In this tool demo paper, we describe our modelling bot
both leisure and work. They have become a natural com-                 S OCIO [4] which works across several social networks like
munication mechanism which helps users in coordinating and             Twitter and Telegram. The tool interprets messages from
collaborating in their daily life activities.
   To profit from their pervasive use, we propose S OCIO: a            the social network using the Stanford NL parser [5], the
modelling assistant that seamlessly integrates across several social   WordNet [6] lexical database to identify synonyms, and an
networks, like Telegram or Twitter. S OCIO is a modelling bot          extensible set of domain requirements extraction rules [7] that
that can interpret natural language sentences and create meta-         are responsible for growing the model to reflect the messages
models out of them. It provides traceability of design decisions       information. The bot keeps track of all model changes and
and statistics of user contributions. A video showcasing the tool
is available at https://saraperezsoler.github.io/ModellingBot/.        their provenance, and provides statistics of the participation
   Index Terms—Meta-modelling, modelling bots, social net-             of each user and their percentage of model authorship. The
works, natural language processing                                     constructed models can be validated, and exported to the
                                                                       EMF format. While S OCIO has been designed to help in both
                       I. I NTRODUCTION                                modelling and meta-modelling, the current version of the tool
   Social networks are becoming an important part of our daily         only supports the creation of meta-models.
digital lives, where we use them to keep in touch with friends            The remaining of this paper is organized as follows. First,
and organize leisure activities. They are also gaining relevance       Section II describes our approach to NL processing, and Sec-
as a mechanism to disseminate information and to cooperate             tion III presents the architecture and main features of S OCIO.
and coordinate in work tasks. In particular, social media is           Next, Section IV compares with related research. Finally,
increasingly used in software engineering, e.g., to support the        Section V concludes with prospects for future work.
formation of ecosystems around particular concepts and tech-
nologies; to participate in online development communities;                                    II. A PPROACH
and to disseminate technologies and crowdsource content [1],
[2].                                                                      The goal of our tool is to provide modelling assistance
   Given the widespread use of social networks, our goal is to         integrated within widely used discussion and collaboration
exploit them for collaborative modelling. Hence, we introduce          mechanisms such as social networks. For this purpose, our
the concept of modelling bot, able to interpret natural language       modelling bot integrates seamlessly in the social network as
(NL), assist users in creating models, and which integrates            another participant, and the interaction with the bot is based
with minimum disruption into the natural communication                 on NL to keep a “sense of flow” as there is no need to
mechanism that micro-blogging based social networks – like             switch tools for discussing and modelling. Figure 1 shows
Twitter or Telegram – offer. Our approach is lightweight, as           a scheme of our approach. At any moment, users can send
it can be used in mobility and it does not require installing          messages directed to the bot. The way to address the bot varies
any dedicated modelling tool, but users can employ the social          slightly depending on the particularities of the social network:
network client they are familiar with. It can be used by teams         in Twitter, the message needs to mention the username of
of engineers, likely distributed, to create models and enhance         the bot (@ModellingBot), while in Telegram, the bot must
their global coordination. It fosters collaboration with domain        belong to the modelling group and a command starting by
experts, who might be unfamiliar with modelling tools, by              “/” needs to be issued. The bot offers a suite of commands
interpreting domain requirements expressed in NL. Finally,             for model management (create a new model, show all existing
it has the potential to facilitate the crowdsourcing of design         models, update a model, validate a model, download a model)
decisions. While bots are starting to be used to help in software      and to obtain statistics. We will explain these commands in
engineering activities like documentation or user support [3],         Section III, while in the remainder of this section we will
to our knowledge, ours is the first proposal for a modelling           focus on the handling of NL messages expressing domain
assistant bot.                                                         requirements. Messages not directed to the bot are just regular
                                                                                                                               cross
                                                   NL rules                                                                 references

                                       parse                    applicable                                  Meta-model
                                        tree                       rule                        required
 users                                                                                         updates
                                                                                                                                trace
                                                                                                                                model
                  Parse message                   Find rule                  Derive actions                Modify model


                                                                     Produce feedback                     Store traceability


                                        Fig. 1: Processing a NL message for model update


messages used for discussion and coordination within the              their effects can be undone and redone. Supported actions
modelling session.                                                    include creating and removing classes, making them abstract
   When the bot receives a message, it uses the Stanford parser       or concrete, adding and deleting features, and changing the
to produce a parse tree. Each word in this tree is tagged             type of a feature. After processing a message, the updated
with its role in the sentence, like noun (singular or plural) or      meta-model may lack some information, like the type of an
verb (past, gerund, past participle, 3rd person singular present,     attribute, or whether a feature is an attribute or a reference.
non-3rd person singular present). We have created a set of            These design decisions remain open and need to be resolved
extraction rules that detect certain phrase structures of interest    before the model is deemed valid.
in the tree and deduce domain requirements that trigger model            The message, the user issuing the message and the per-
updates. The extraction rules are based on the work by Arora          formed actions are stored in a traceability model. This allows
and colleagues [7], adapted to our context. The rule set is           keeping accurate record of the provenance and rationale of
extensible, and we currently consider the following ones:             every meta-model element, as well as generating different
                                                                      statistics. Once the meta-model and the trace model have been
  • Verb to be. These phrases may indicate a subclassing re-
                                                                      updated, the bot sends a picture of the meta-model to all users,
    lation (e.g., “users can be students or teachers”), the type
                                                                      where the impacted elements are highlighted in a different
    of a feature (e.g., “price is double”) or the abstractness
                                                                      colour.
    of a class (e.g., “course is abstract”).
                                                                         1) Example.: Figure 2 illustrates the processing of several
  • Verb to have (and synonyms). These phrases identify
                                                                      NL messages used to build a meta-model for e-learning
    features (attributes or references) of a class. We also
                                                                      systems. The first sentence triggers the rule for the verb “to
    consider the Saxon genitive.
                                                                      be”, and results in the creation of two subclasses of Course. In
  • Transitive verbs. When a phrase with a verb, subject and
                                                                      the second sentence, the user uses a transitive verb (“courses
    direct object is identified, this rule triggers the creation
                                                                      are evaluated with a test”), which yields the creation of a
    of classes for the subject and direct object (if they do not
                                                                      new class Test and a reference evaluatedWith. The bot follows
    exist yet), and a reference for the verb.
                                                                      accepted naming conventions: upper camel case for classes
  • Contain (and synonyms). These phrases signal the need
                                                                      and lower camel case for features. Moreover, it also checks
    for a composition relation between two classes (e.g., “an
                                                                      the grammatical number of the words to assign an appropriate
    e-learning platform is made of courses”).
                                                                      cardinality to features (e.g., [0..1] in reference evaluatedWith).
  • Add (and synonyms). Imperative phrases using “add”
    or a synonym verb result in the creation of classes or                                  III. T OOL SUPPORT
    features (e.g., “add name to user”).                                  We have built a modelling bot called S OCIO to support the
  • Remove (and synonyms). Similar to the previous rule,
                                                                      presented approach. It works on Telegram and Twitter, though
    but for removing elements.                                        it is designed to be extensible with further social networks and
   Each rule has a priority, equal to its position in the previous    NL rules. The bot stores meta-models in Ecore format, and the
list. In this way, if several rules are applicable, only the one      traceability data as EMF models. The pictures of meta-models
with the highest priority is selected. Then, the selected rule        are generated with PlantUML. A video showcasing its use and
checks the state of the meta-model and produces the necessary         some examples are available at https://saraperezsoler.github.io/
meta-model update actions. In this step, rules make use of            ModellingBot/.
WordNet to detect synonyms, and take into account gram-                   Figure 3 shows some screenshots in the interaction with
matical number to allow flexibility when referring to existing        S OCIO to build and validate a meta-model for e-learning
classes (e.g., an existing class “Teacher” can be referred later      systems. In the first place (not shown), a Telegram group that
as “Instructors”). The actions are generated explicitly so that       includes the participants and the bot needs to be created. In
                          “courses                                       “courses are
                           can be                                          evaluated
                           free or                                        with a test”
                        paid courses”




                            Fig. 2: NL interaction sequence, and corresponding meta-model updates


Figure 3a, the bot shows all available commands, and then,          on platforms like Eclipse, which requires technical expertise.
one participant creates a modelling project using the /newproject   Instead, our approach integrates a modelling bot within a
command.                                                            social network, so that users do not need to switch between
   In Figure 3b, a participant sends a NL message to the bot        discussion, coordination and modelling tools.
using the command /talk. The bot interprets the message to             Social networks have been recognised to have a high-impact
deduce domain requirements, updates the current meta-model          research potential in software engineering [1], [11]. In fact,
version accordingly, and returns a picture of the updated meta-     we are witnessing an increasing use of bots to automate
model with the created and updated elements highlighted in          certain software engineering tasks, like DevOps activities or
green. Figure 3c shows a similar interaction using Twitter. In      user support bots [3]. The general goal of their use is to
this case, the bot username (@ModellingBot) and the project         improve efficiency (do things faster) and effectiveness (com-
name (#learningplatform) need to be mentioned. The created          plete tasks towards meaningful goals). S OCIO targets improving
attribute (code) is shown in green. After some interactions,        effectiveness of meta-model creation, lowering the barrier of
one participant validates the model (Figure 3d), and the bot        participation to non-technical people.
reports there is an error because the type of attribute Paid-          Several researchers have proposed different models of
Course.price is missing. At any moment, the meta-model can be       crowdsourcing for software design activities. For example,
downloaded in Ecore format using command /get (Figure 4a).          in [12], the authors use microtask crowdsourcing for parallelis-
The downloaded meta-model can then be used within Eclipse           ing the construction of morphological charts, a design tech-
(Figure 4b).                                                        nique to represent decision points and alternative solutions.
   The interaction with S OCIO is recorded in a traceability        Their experiments show the feasibility of using crowdsourcing
model. This can be used to understand the rationale of every        to generate a wide range of design solutions, though of varying
decision and analyse user contributions. In particular, S OCIO      quality. More generally, Hoang et al. [13] provide a set of
offers the following statistics: messages sent by one or all        recommendations on when to crowdsource decision-making,
users, meta-model update actions done by one or all users,          namely, when tasks can be performed through the internet, do
and percentage of meta-model authorship. They are available         not require a significant level of communication, and can be
through the /history command (see Figure 5a). As an example,        partitioned into smaller tasks. Moreover, to avoid low quality
Figure 5b shows the number of messages directed to the              outcomes, crowdsourced tasks should be easy to evaluate;
bot from all users along time, while Figure 5c shows the            in our case, live quality checks can be performed by both
percentage of authorship. In addition, it is also possible to       modelling and domain experts. Finally, platform availability is
obtain a more detailed history of the messages sent by each         also key in crowdsourced tasks; our proposal based on social
user and their consequences.                                        networks completely fulfils this requirement.
                                                                       Altogether, to the best of our knowledge, our proposal is
                     IV. R ELATED WORK                              novel as modelling assistant bots have not been proposed up
                                                                    to now.
   There are several approaches for collaborative modelling
or meta-modelling [8]. Some recent examples include Col-
                                                                               V. C ONCLUSIONS AND FUTURE WORK
laboro [9] and SPACEclipse [10]. However, these works do
not consider modelling assistants or NL as an interaction             This paper has described S OCIO, a bot for assisted modelling
mechanism, and they do not rely on social networks but              over social networks. It works over Twitter and Telegram,
                                (a) Creating a new project                                (b) Talking to the bot




                              (c) Interaction through Twitter                          (d) Meta-model validation

                                                        Fig. 3: Interaction with S OCIO


interpreting NL sentences from different users to create a                    a participatory culture in software development,” IEEE Trans. Software
meta-model in a collaborative way. The assistant seamlessly                   Eng., vol. 43, no. 2, pp. 185–204, 2017.
                                                                          [2] J. Whitehead, I. Mistrı́k, J. Grundy, and A. van der Hoek, “Collaborative
integrates within the social network and keeps track of the                   software engineering: Concepts and techniques,” in Collab. Soft. Eng.
model history and user contributions.                                         Springer, 2010, pp. 1–30.
   We are currently improving some aspects of S OCIO, e.g.,               [3] M. D. Storey and A. Zagalsky, “Disrupting developer productivity one
                                                                              bot at a time,” in FSE. ACM, 2016, pp. 928–931.
enhancing NL processing for more accurate deduction of
                                                                          [4] S. Pérez-Soler, E. Guerra, J. de Lara, and F. Jurado, “The rise of the
cardinalities, enabling meta-model instantiation, and defining                (modelling) bots: Towards assisted modelling via social networks,” in
user roles with support for collaboration protocols. We also                  ASE. IEEE, 2017.
plan to integrate other social networks and communication                 [5] M. Marneffe, B. Maccartney, and C. Manning, “Generating typed
                                                                              dependency parses from phrase structure parses,” in LREC, 2006.
mechanisms, like speech recognition using Skype bots.                     [6] G. A. Miller, “Wordnet: A lexical database for english,” Comm. ACM,
Acknowledgements. Work funded by the Spanish MINECO                           vol. 38, no. 11, pp. 39–41, 1995.
(TIN2014-52129-R) and the R&D programme of Madrid                         [7] C. Arora, M. Sabetzadeh, L. C. Briand, and F. Zimmer, “Extracting
                                                                              domain models from natural-language requirements: Approach and
(S2013/ICE-3006).                                                             industrial evaluation,” in MoDELS. ACM, 2016, pp. 250–260.
                                                                          [8] M. Renger, G. L. Kolfschoten, and G. de Vreede, “Challenges in col-
                          R EFERENCES                                         laborative modelling: A literature review and research agenda,” IJSPM,
[1] M. D. Storey, A. Zagalsky, F. M. F. Filho, L. Singer, and D. M.           vol. 4, no. 3/4, pp. 248–263, 2008.
    Germán, “How social and communication channels shape and challenge   [9] J. L. C. Izquierdo and J. Cabot, “Collaboro: A collaborative (meta)
                               (a) Downloading Ecore meta-model                       (b) Ecore meta-model in Eclipse

                                                   Fig. 4: Obtaining the final meta-model




            (a) Selecting statistics                         (b) Messages sent by users                        (c) Percentage of authorship

                                                        Fig. 5: Some process statistics


     modeling tool,” PeerJ Computer Science, vol. 2, p. e84, 2016.         [12] E. Weidema, C. Lopez, S. Nayebaziz, F. Spanghero, and A. van der
[10] J. Gallardo, C. Bravo, and M. A. Redondo, “A model-driven de-              Hoek, “Toward microtask crowdsourcing software design work,” in CSI-
     velopment method for collaborative modeling tools,” J. Network and         SE@ICSE, 2016, pp. 41–44.
     Computer Applications, vol. 35, no. 3, pp. 1086–1105, 2012.           [13] N. H. Thuan, P. Antunes, and D. Johnstone, “Factors influencing the
[11] A. Begel, R. DeLine, and T. Zimmermann, “Social media for software         decision to crowdsource: A systematic literature review,” Information
     engineering,” in FoSER@FSE. ACM, 2010, pp. 33–38.                          Systems Frontiers, vol. 18, no. 1, pp. 47–68, 2016.