Metamodel-driven definition of a visual modeling language for specifying interactive groupware applications: An empirical study

https://doi.org/10.1016/j.jss.2012.07.049Get rights and content

Abstract

This work is framed in the area of software development for Computer Supported Cooperative Work (CSCW). These software systems are called groupware systems. The development of groupware systems is a complex task, a problem that can be addressed applying the Model Driven Engineering (MDE) principles and techniques, where the use of models is essential. However, there are no proposals to address all issues to model in this kind of application (group work, shared context, coordination, etc.) and, in particular, there are no proposals that consider the modeling of both interactive and collaborative issues. To solve this deficiency, a domain-specific language (DSL) called Collaborative Interactive Application Notation (CIAN) has been proposed. To define this DSL a metamodel has been created describing the universe of discourse of the applications supporting interactive group work. We have defined the syntax and semantics of this language. We have also implemented a tool (called CIAT) for supporting the edition and validation of models created with CIAN. This tool has been implemented using the metamodeling facilities provided by the Eclipse platform. Finally, an empirical study was conducted with the aim of verifying the suitability of this approach and the perception of software engineers about its usefulness. The results obtained show that our proposal can facilitate the development process of groupware systems.

Highlights

► Applying MDE principles facilitates Interactive Groupware Design. ► For this purpose, we propose a graphical notation, CIAN. ► Its definition is based on a metamodel. ► A tool called CIAT supports the edition and validation of CIAN models. ► Results in an empirical study show that our proposal can facilitate CSCW design.

Introduction

The use of applications framed within the paradigm of Computer Supported Cooperative Work (CSCW) is increasing. Besides, the correct development of the user interface (UI) of this kind of applications deserves special attention, since it determines, to a large extent, its acceptance by the user (Grudin, 1994, Shneiderman and Plaisant, 2010). Therefore, the design of these aspects (cooperative behaviors, human–computer interaction issues and the existence of shared information workspaces) must be properly supported (Ellis et al., 1991, Johnson, 2004, Preece et al., 2011).

Regarding the development of CSCW systems we find three main approaches: (a) the ad hoc development, in which the systems are built completely tailored to the specific problem; (b) the use of toolkits and APIs, which provide higher level implementation facilities, as Habanero (Chabert et al., 1998), Dream Team (Roth and Unger, 1998) or Groupkit,1 among others, remark; and (c) the development of CSCW systems based on components (Hummes and Merialdo, 2000, Slagter and ter Doest, 2001, Marsic, 2001) and patterns2 (Lukosch and Schümmer, 2006, David et al., 2003, Guerrero and Fuller, 1999, Isla et al., 2006), which allows the design and construction of CSCW systems by using predefined building blocks and designs that can be reused and combined. On the other hand, recently another approach is gaining attention: the design and development based on conceptual modeling of collaborative applications. This line of work can be considered as framed within the Model-Driven Engineering (MDE) paradigm (France and Rumpe, 2007). This paradigm has become widely used, achieving great importance in Software Engineering (SE). In general, we can say that a software development process incorporates the principles of MDE when this makes it possible to conceptually separate the modeling space and the implementation space. Applying the principles of MDE improves the quality of the software systems, the degree of reuse and, as a result, implicitly, the efficiency of their development (Bezivin et al., 2005). Therefore, we consider that the field of Groupware Design can consequently benefit from the application of MDE techniques and methods. We intend to demonstrate it in this paper.

Studying the existing alternatives for CSCW systems modeling (Molina et al., 2009a) we noticed certain deficiencies in modeling collaborative aspects. These problems arise specially in proposals that combine both group work application aspects and interactive aspects. These problems confirm the lack of an appropriate notation for designing (and modeling) interactive and collaborative applications. To try to solve the problems pointed out we took under consideration the definition of a notation that would allow specifying the most important aspects of an interactive groupware system as fully as possible, taking into account different perspectives. In the definition of that visual language we try to follow the principles of MDE. As for the developing of modeling languages, MDE proposes two alternatives: the use of General Purpose Languages (for example, UML), which can be used to solve a wide variety of problems, or the use of Domain Specific Languages (DSLs). The latter has been the approach chosen because of the expressiveness of DSL in contrast to General Purpose Languages.

When designing a DSL we must identify what the DSL should express (Völter, 2009). In this sense, the use of a domain definition metamodel, which is a specification of the domain conceptualization, can be considered compulsory to obtain the notation (Kurtev et al., 2006, Henderson-Sellers, 2007, Moody, 2009). To create this metamodel, here we will revise the main conceptual frameworks in the area of CSCW and Human–Computer Interaction (HCI). Once the conceptualization identified, we will define a notation (CIAN; Collaborative Interactive Interaction Notation). Finally, and by applying the principles of MDE, we will translate this notation into a formal language and implement suitable editors to support the modeling of interactive groupware application (Völter, 2009).

The remainder of the paper is organized as follows. In Section 2 an overview of related work is provided. Section 3 presents the main aspects of the CIAN notation, including the abstract syntax (based on a metamodel), the concrete syntax (a collection of icons that constitutes the graphical language) and the constraints on the abstract syntax and the semantics. In Section 4 the tool implemented to support the edition of CIAN models is briefly described. Following, in Section 5 we explain two empirical studies carried out for assessing the acceptance of this interactive groupware requirements modeling method based on user perception. Finally, in Section 6 conclusions and future work are outlined.

Section snippets

Background and related work

This section provides a brief review of the most representative works related to the application of the principles of MDE in the areas of groupware and in the field of HCI. Below we will present a review of the main conceptual frameworks in both fields. There will be a comparative analysis of the concepts considered by each of these proposals. This analysis will facilitate the creation of the metamodel as a basis for defining our notation. Finally, we present related work in the field of

The Collaborative Interactive Application Notation (CIAN)

The next subsections summarize how our visual language (CIAN) has been developed by following the tasks defined by Feilkas (2006). First, we present the initial conceptualization built to define the universe of discourse of interactive and collaborative applications (Guizzardi et al., 2002, Guizzardi, 2005). We use UML notation to represent the metamodel, because this is appropriate to specify its two main aspects: concepts and relationships (Guizzardi et al., 2004, Li, 2005). The framework is

Supporting the edition of CIAN diagrams: the CIAT tool

In this section we introduce CIAT (Collaborative Interactive Application Tool), a model-based software tool aimed to support designers and engineers for the edition of the models in the CIAN notation. This CASE tool allows not only the edition of models in CIAN notation but also the validation of the correctness of these models (the tool implements the OCL constraints defined from the metamodel).

CIAT has been developed by using the plug-ins in the Eclipse Modeling Project (Moore et al., 2004,

Two empirical studies with CIAN

In order to empirically validate the proposed notation, two experiences were carried out in the Computer Science Faculty at the University of Castilla-La Mancha, in Spain. In this section the details of these empirical studies are described and discussed.

Conclusions and future works

Building software, and particularly groupware, is a complex task. In order to make it easier, one of the paradigms that is gaining ground is Model-Driven Engineering. The MDE paradigm is based on the use of models. Reviewing the approaches that deal with modeling of user interfaces supporting collaborative tasks, we have detected that there is no proposal linking both interactive and collaborative characteristics. The aim of the work presented in this paper was to propose a graphical language

Acknowledgments

This work has been partially supported by the INTEGroup, GITE-LEARN e iColab projects, funded by the Junta de Comunidades de Castilla-La Mancha (Spain). We thank Pedro Pablo Sánchez Villalón for his selfless help in reviewing the English language and the students and professionals who participated in the two empirical studies.

Ana I. Molina, MSc and PhD in Computer Science, belongs to the Computer Human Interaction and Collaboration (CHICO) Research Group and works as Associate Professor at the University of Castilla-La Mancha (Spain). Her research interests are, among others, Model-Based User Interface Development, Human-Computer Interaction, Computer-Supported Cooperative Work (CSCW) and collaborative learning. She is author of numerous publications in several national and international conferences and journals.

References (112)

  • P. Antunes et al.

    Multiuser Interface Design in CSCW Systems

    (1994)
  • J. Bezivin et al.

    Principles, standards and tools for model engineering

  • S. Carlsen

    Action port model: a mixed paradigm conceptual workflow modeling language

  • A. Chabert et al.

    Java object-sharing in HABANERO

    Communications of the ACM

    (1998)
  • M. Cortes et al.

    DCWPL: a programming language for describing collaborative work

  • M. Cortes

    Coordination language for building collaborative applications

    Computer Supported Cooperative Work: CSCW: An International Journal

    (2000)
  • K. Cox et al.

    User Interface Design

    (1993)
  • E. Clayberg et al.

    Eclipse: Building Commercial-Quality Plug-ins

    (2006)
  • K. Crowston et al.

    Coordination theory

  • B. David et al.

    Patterns in collaborative system design, development and use

  • S. de Cesare et al.

    Business Modelling with UML: Distilling Directions for Future Research

    (2002)
  • S. de Cesare et al.

    Collaborative modeling using UML and business process simulation

  • D. Diaper et al.

    The Handbook of Task Analysis for Human–Computer Interaction

    (2004)
  • P. Dillenbourg et al.

    The evolution of research on collaborative learning

  • R.M. Dijkman et al.

    An approach to relate viewpoints and modeling languages

  • A. Dix

    Human–Computer Interaction

    (1993)
  • P. Dourish et al.

    Awareness and coordination in shared workspaces

  • C.A. Ellis et al.

    Groupware: some issues and experiences

    Communications of the ACM

    (1991)
  • H.E. Eriksson et al.

    Business Modeling with UML

    (2000)
  • Favre, J.M., 2005. Foundations of meta-pyramids: languages vs. metamodels, episode II: story of Thotus the Baboon1,...
  • R. France et al.

    Model-driven development of complex software: a research roadmap

  • M. Feilkas

    How to represent models, languages and transformations?

  • N. Fenton et al.

    Software Metrics: A Rigorous Approach

    (1997)
  • D.S. Frankel

    Domain-specific modeling and model driven architecture

    MDA Journal

    (2004)
  • Garrido, J.L., 2003. AMENITIES: Una metodología para el desarrollo de sistemas cooperativos basada en modelos de...
  • J.L. Garrido et al.

    Modelling Dynamic Group Behaviours. Design Specification and Verification of Interactive Systems DSVIS 2001

    (2001)
  • J.L. Garrido et al.

    Requirements Engineering in Cooperative Systems. Requirements Engineering for Sociotechnical Systems

    (2005)
  • L.A. Guerrero et al.

    Design patterns for collaborative systems

  • G. Guizzardi

    Ontological Foundations for Structural Conceptual Models

    (2005)
  • G. Guizzardi et al.

    On the role of domain ontologies in the design of domain specific visual modeling languages

  • G. Guizzardi et al.

    An ontologically well-founded profile for UML conceptual models

  • J. Grudin

    Groupware and social dynamics: eight challenges for developers

    Communications of the ACM

    (1994)
  • R. Harstson et al.

    Temporal aspects of tasks in the user action notation

    Human Computer Interaction

    (1992)
  • B. Henderson-Sellers

    On the challenges of correctly using metamodels in method engineering

  • J. Hummes et al.

    Design of extensible component-based groupware

    Computer Supported Cooperative Work: CSCW: An International Journal

    (2000)
  • J.L. Isla et al.

    Supporting social organization modelling in cooperative work using patterns

  • ISO/IEC

    ISO/IEC 9126-1: Software Engineering-Software Product Quality—Part 1: Quality Model

    (2001)
  • R. Johansen

    Groupware: Computer Support for Business Teams

    (1988)
  • P. Johnson

    Interactions, collaborations and breakdowns

  • Cited by (20)

    • A domain-specific visual language for modeling metacognition in intelligent systems

      2015, Biologically Inspired Cognitive Architectures
      Citation Excerpt :

      A practical experiment was conducted in order to verify the potential usefulness and usability of M++ for modeling metacognition. The experimental study was developed based on design parameters of software engineering experiments described in the works of (Molina, Gallardo, Redondo, Ortega, & Giraldo, 2013; Wohlin et al., 2000; Sjøberg et al., 2005). The goal of the experiment was to evaluate the notation of M++ with regard to the ease of use, usefulness and intention to use of the models in the context of the design of metacognition in intelligent systems.

    • Model-driven development of interactive groupware systems: Integration into the software development process

      2014, Science of Computer Programming
      Citation Excerpt :

      The conceptual framework is used as the basis for the definition of a notation, called CIAN [16], for specifying interactive groupware applications. The usefulness and usability of this graphical notation has been assessed in several empirical studies (with undergraduate students and with professionals in software development) [66], obtaining positive results. The methodological framework (CIAM) guides the engineers through several modeling stages starting from the analysis of the context of the group work until obtaining the interactive task model (Fig. 2).

    • A model-driven and task-oriented method for the development of collaborative systems

      2013, Journal of Network and Computer Applications
      Citation Excerpt :

      The CTT model obtained in the last stage of CIAM can be used as input to a MBUID process such as the one described in Molina et al. (2012), which allows the final user interface to be obtained automatically or semi-automatically (Meixner et al., 2011). The conceptual framework is used as the basis for the definition of the notation (CIAN: Collaborative Interactive Application Notation) used in the several stages of the methodology (Molina et al., in press). In Table 2, we summarize the specification techniques used in the different stages of CIAM, the notation used and the product obtained in each stage.

    • Modeling Awareness Requirements in Groupware: From Cards to Diagrams

      2024, IEEE Transactions on Human-Machine Systems
    • Co-CIAT: Collaborative Environment for Modeling with CIAN Notation

      2022, ACM International Conference Proceeding Series
    View all citing articles on Scopus

    Ana I. Molina, MSc and PhD in Computer Science, belongs to the Computer Human Interaction and Collaboration (CHICO) Research Group and works as Associate Professor at the University of Castilla-La Mancha (Spain). Her research interests are, among others, Model-Based User Interface Development, Human-Computer Interaction, Computer-Supported Cooperative Work (CSCW) and collaborative learning. She is author of numerous publications in several national and international conferences and journals.

    Jesús Gallardo is Assistant Professor at the Department of Computer Science and Systems at the University of Zaragoza (Spain). His research interests include, among others, model-driven development of collaborative systems, awareness and collaboration protocols. He received his Ph.D degree in Computer Science in 2010 from University of Castilla-La Mancha.

    Miguel A. Redondo has a PhD in Computer Science (2002) and is Associate Professor at the Department of Information Technologies and Systems at the University of Castilla – La Mancha (Spain). His research interests focuses on the fields of new Information Technologies applied to Education and Computer-Human Interaction. He is responsible of different research projects about development of mobile applications and groupware systems for learning programming.

    Manuel Ortega is Full Professor at the Escuela Superior de Informática (College of Computer Science and Engineering) at the University of Castilla - La Mancha (Spain). He received his BSc (1982) and PhD (1990) degrees from Universidad Autónoma de Barcelona (Spain). He is the director of the Computer Human Interaction and Collaboration (CHICO) Research Group and is the Editor of the Iberoamerican Journal on Computers on Education IE Comunicaciones. His main interests are in the field of New Information Technologies applied to collaborative learning and Human-Computer Interaction.

    William J. Giraldo is Associate Professor at the University of Quindío (Colombia). He received his PhD in Computer Science (2010) from the University of Castilla-La Mancha (Spain). His research interests include Human-Computer Interaction, Model-Driven Development and CSCW. As a result of this research, he is author of papers in several international conferences and journals.

    View full text