<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Focusing on Two Di erent Aspects of Collaboration in Software Engineering: Supporting Collaborative Modeling and Speci cations of Collaborative Activities</article-title>
      </title-group>
      <contrib-group>
        <aff id="aff0">
          <label>0</label>
          <institution>University of Rostock</institution>
          ,
          <addr-line>Rostock</addr-line>
          ,
          <country country="DE">Germany</country>
        </aff>
      </contrib-group>
      <fpage>64</fpage>
      <lpage>72</lpage>
      <abstract>
        <p>The paper discusses two aspect of collaboration in software engineering. The rst one focusses on methodological support for collaborative modelling and the second one on the speci cation of collaborative activities and their simulation. For both aspects links to the literature are provided and existing tool support is discussed. The language CoTaL and their simulation environment CoTaSE are shortly introduced.</p>
      </abstract>
      <kwd-group>
        <kwd>collaborative modelling</kwd>
        <kwd>collaborative activities speci ca- tion</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>
        Professional software development is most of the time a collaborative activity.
Only in very rare situations software is developed by one person only. There
are several studies on collaborative programming like [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] and [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]. Rittgen [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ]
focusses on collaborative modelling that is less studied. Renger et.al. [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ] provide
a literature review about collaborative modeling. With new technologies like
table tops the question arises how collaborative modeling can be supported.
      </p>
    </sec>
    <sec id="sec-2">
      <title>Collaborative Modelling with Class Diagrams</title>
      <p>
        This section describes a study [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] that was conducted on supporting collaborative
software design sessions. Several groups of software designers were observed while
performing certain design tasks. The study included an initial analysis of manual
collaborative modelling sessions each with 3 participants (Fig. 1). Paper was used
to represent classes and associations. Based on this analysis, a software prototype
for interactive table tops was developed that support teams up to 3 designers in
modeling with class diagrams (Fig. 2). The software considers di erent spaces
on its graphical interface. Based on the analysis, these spaces can be grouped
into personal spaces for each designer and one group space for all designers.
      </p>
      <p>Di erent class diagram designs can be re ected at runtime to compare
alternatives for certain design solutions. Ongoing investigation is made on improving
design processes by supporting teams with di erent strategies. One strategy can
be to guide sessions for structuring processes at all. However, tool support for
multiple designers of collaborative teams di ers from tool support for single
designers.</p>
      <p>Software that can be used for collaborative design sessions must satisfy needs
of persons and groups as well. The analysis (Fig. 1) has shown that software
requirements exist not only for collaborative but also for individual support.
This results in a user interface that is shown in Fig. 2. Individual designers have
their own personal spaces for editing classes, relations, and notes of models.</p>
      <p>All personal spaces are equipped with toolbars and software keyboards that
support making edits. The group space shows designed class diagrams and allows
designers to adapt layouts. Classes, relations, and notes of diagrams can be
blocked by designers that select them in the group space. This strategy helps to
avoid con icts when editing elements.</p>
      <p>Individual support for designers is integrated to the user interface of this
software prototype. Personal spaces could also be provided on di erent devices
what is part of other studies. However, the problem of merging models that come
from more than one participating designer arises when targeting the functionality
of how to deal with con icting model elements. The same problem arises when
designers try to merge di erent forks of alternative models designs. Solutions
for this problem are parts of ongoing studies. However, the process of designing
models with class diagrams also is a ected by the expertise of participating
designers.</p>
      <p>Design sessions can be structured in di erent ways. Most of the time designers
are on their own and the problem can arise that the design process is getting
unstructured. Moderators can facilitate design sessions in a way that they guide
the process to open up unknown domains in a more structured way. However,
also moderators must have a certain expertise to help participants in designing
domain-speci c models. Another solution can be to make rules for designers on
how to behave in collaborative design sessions. These rules need to be identi ed
by comparing the results coming from structured and unstructured sessions,
what is part of ongoing studies.
3</p>
    </sec>
    <sec id="sec-3">
      <title>Specifying Collaborative Activities</title>
      <p>
        The software under development often has to support collaborative activities as
well. Therefore, it is necessary to have precise speci cations for these activities.
Some of our studies recognized that current task models and business process
speci cations [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] are not precise enough [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ].
3.1
      </p>
      <sec id="sec-3-1">
        <title>A Language for Specifying Cooperative Activities</title>
        <p>
          Based on the concept of task models [
          <xref ref-type="bibr" rid="ref4">4</xref>
          ], a language CoTaL [
          <xref ref-type="bibr" rid="ref1">1</xref>
          ] was developed to
allow dynamic variable binding for variables. In this way context dependencies
can be speci ed in an easy way. It is e.g. possible to specify that the doctor who
diagnosed a patient also has to perform the treatment.
        </p>
        <p>
          Besides the language CoTaL an environment CoTaSE [
          <xref ref-type="bibr" rid="ref3">3</xref>
          ] was developed that
allows the animation of the CoTaL speci cations. It can be characterized as
follows:
{ Hierarchical description of a team model and several role models.
{ Temporal relations are support. It includes instance iteration.
{ Models can be simulated.
{ Each role model can be instantiated several times.
{ Instantiation can be performed during runtime. (simulation time)
{ Triggers, preconditions and contexts can be speci ed.
        </p>
        <p>
          Speci cations can be in depth validated before implementing the software. An
overview of the language and its application to smart environments is provided
in [
          <xref ref-type="bibr" rid="ref1">1</xref>
          ]. To provide an example we picked one from the literature. It is taken from
X and based on the following natural language description.
        </p>
        <p>
          \An employee lls in a holiday application form. He/She puts in a start and
end date of his/her vacation. The responsible manager checks the application
and informs the employee about his/her decision; the holiday request might be
rejected or get approved. In case of approval the holiday data are sent to the
human resource department which updates the days-o in the holiday le." ([
          <xref ref-type="bibr" rid="ref6">6</xref>
          ],
p. 220)
        </p>
        <p>From the text one can identify three roles: Employee, Manager, and Human
Resources (HR). A task Process request is identi ed for the manager. It has to
be of type instance iterative. Otherwise, a manger would only be able to accept
one request at any time. According to the provided speci cation below, there
has to be at least one instance iteration. Additionally it is speci ed that there
is no maximal number of requests (-1 represents the in nite symbol).</p>
        <p>
          Three variables E1, M1 and H1 are declared and bound to the context C1.
In this way, the instance of the employee that requests a vacation
(bindVarTask = \E1.Ask") is stored in variable E1. This has the consequence, that
the task \GoOnVacation" is restricted to the same Person by \bindVarTask =
E1.GoOnVacation". These details are often neglected in business process
specications. They often do not specify such details. Some comparisons of business
process speci cation examples are provided in [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ].
        </p>
        <p>It seems to be obvious, that such details of speci cations are very
important for the implementation of corresponding software systems. They should be
analyzed and clari ed during the requirements analysis activities.
&lt;/t a s k &gt;
&lt;/taskmodel &gt;</p>
        <p>The initially animated models of the vacation request example are provided
by Fig. 4 and Fig. 5. Green circles signal that the corresponding task can be
executed. If a read circle is attached to the green one this means that in principle
(according to the own temporal relations) the task of the model instance could
be executed. However, certain constraints are not ful lled. For Fig. 4 human
resources has to announce rst that holidays are approaching. Employees can
ask for vacation afterwards and managers can process requests after they were
formulated.</p>
        <p>In the upper part of Fig. 4 on can the see the model that describes the
collaboration. We call it team model. It exists only once. All other models are
role models and di erent instance can exist. In the example above there are
two managers Regina and Marco. Additionally, there are two employees Mary
and Peter. For human resources there is only on instance that is called Janet.
The simulation environment CoTaSE allows the dynamic creation of further role
model instances at any time. In this way constraints can change.</p>
        <p>Let us create a further role instance for employee that is called Paul. We will
have a look at the model instances after the rst vacation request was created.</p>
        <p>Already from the team model one can imagine that in parallel to request
one there might be the next one processed in parallel. One can also see that
manager Regina made her rst decision. She accepted a request. The request
came from Mary who can go on vacation now. Regine could manage the second
request. However, there is no further request available. A request from Paul or
Peter could be processed by Regina or Marco.
3.2</p>
      </sec>
      <sec id="sec-3-2">
        <title>Summary of Specifying Collaborative Activities</title>
        <p>While analyzing existing language and tools for task models a lack of support
for specifying cooperative work was identi ed in the domain of smart meeting
rooms. A new speci cation language CoTaL was introduced that extends features
of task models in such a way that more precise speci cations are possible.</p>
        <p>Each role is speci ed by a task model. The communication between roles is
characterized by a speci c task model that is called team model. It re ects the
activities of all actors and exists only once. Each actor is associated with one or
more role model instances.</p>
        <p>The speci cation of task models specifying cooperative activities was
extended by context de nitions. Within such task context, variables can be de ned.
They allow the storing of references to instances of roles. A language CoTaL is
provided for this purpose. This language and its interpreting environment
CoTaSE were discussed.</p>
        <p>The environment CoTaSE allows the dynamic instantiation of task models
during runtime which is an important feature for the application of task model
speci cations for smart environments and cooperative work in general. It
implements the temporal operator of instance iteration. Additionally, it provides
the feature of ending and starting tasks (in contrast to executing tasks as an
atomic action, i.e. a task execution that takes place at a speci c point of time
instead of a time span t = tend tstart) which is important for simulating
parallel activities. Tasks can have preconditions, start triggers, and end triggers.
Scenarios can be created that are useful for testing the nal application or for
other duties. It is for instance possible to generate a series of scenarios that are
used to construct new versions of task models.
4</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>Summary</title>
      <p>Two di erent aspects of collaboration in software engineering were discussed.
The rst one focusses on collaborative modelling, which is not very well
understood yet. More precise methodological support seems to be necessary in
the future. This has to go together with corresponding tool support.
Additionally, speci cations were discussed that allow precise descriptions of collaborative
work. Also for this aspect more conceptual work and tool support are necessary.
It would be a challenge for the future to describe the activities in collaborative
modelling by corresponding task models.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Buchholz</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>Forbrig</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          :
          <article-title>Extended Features of Task Models for Specifying Cooperative Activities</article-title>
          .
          <source>Proc. ACM Hum.-Comput. Interact. 1</source>
          ,
          <issue>1</issue>
          ,
          <string-name>
            <surname>Article 7</surname>
          </string-name>
          (
          <year>June 2017</year>
          ), pp.
          <fpage>1</fpage>
          -
          <lpage>21</lpage>
          . doi:
          <volume>10</volume>
          .1145/3095809
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2. BPMN: http://www.bpmn.org/,
          <source>last visited July 31</source>
          <year>2017</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3. CoTaSE: http://www.cotase.info/,
          <source>last visited July 31</source>
          <year>2017</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4. CTTE: http://giove.cnuce.cnr.it/ctte.html,
          <source>last visited July 31</source>
          <year>2017</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Dittmar</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Buchholz</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          , and Kuhn, M.:
          <article-title>E ects of Facilitation on Collaborative Modeling Sessions with a Multi-Touch UML Editor</article-title>
          .
          <source>In: Proceedings of the ICSESEET</source>
          <year>2017</year>
          , pp.
          <fpage>97</fpage>
          -
          <lpage>106</lpage>
          . doi:
          <volume>10</volume>
          .1109/ICSE-SEET.
          <year>2017</year>
          .14
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Fleischmann</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Stary</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          :
          <article-title>Whom to talk to? A stakeholder perspective on business process development</article-title>
          .
          <source>Universal Access in the Information Society</source>
          ,
          <volume>11</volume>
          (
          <issue>2</issue>
          ), pp.
          <fpage>125</fpage>
          -
          <lpage>150</lpage>
          , http://link.springer.com/article/10.1007/s10209-011-0236-x
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Forbrig</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>Buchholz</surname>
          </string-name>
          , G.:
          <article-title>Subject-Oriented Speci cation of Smart Environments</article-title>
          ,
          <source>Proc. 9th Conference on Subject-oriented Business Process Management, S-BPM ONE</source>
          <year>2017</year>
          , Darmstadt, Germany, March 30-31,
          <year>2017</year>
          .
          <source>ACM</source>
          <year>2017</year>
          , ISBN 978-1-
          <fpage>4503</fpage>
          -4862-1, http://dl.acm.org/citation.cfm?id=
          <fpage>3040570</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>McDowell</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Werner</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bullock</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>Fernald</surname>
            ,
            <given-names>J.:</given-names>
          </string-name>
          <article-title>The e ects of pairprogramming on performance in an introductory programming course</article-title>
          .
          <source>SIGCSE Bull</source>
          .
          <volume>34</volume>
          ,
          <issue>1</issue>
          (
          <year>February 2002</year>
          ), pp.
          <fpage>38</fpage>
          -
          <lpage>42</lpage>
          . doi:
          <volume>10</volume>
          .1145/563517.563353
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Nosek</surname>
            ,
            <given-names>J. T.</given-names>
          </string-name>
          :
          <article-title>The case for collaborative programming</article-title>
          .
          <source>Commun. ACM 41</source>
          ,
          <issue>3</issue>
          (March
          <year>1998</year>
          ), pp.
          <fpage>105</fpage>
          -
          <lpage>108</lpage>
          . doi:
          <volume>10</volume>
          .1145/272287.272333
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Renger</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kolfschoten</surname>
            ,
            <given-names>G. L.</given-names>
          </string-name>
          , and de Vreede, G.-J.:
          <article-title>Challenges in collaborative modelling: a literature review and research agenda</article-title>
          , M. Renger,
          <string-name>
            <given-names>G.L.</given-names>
            <surname>Kolfschoten</surname>
          </string-name>
          , G.-J. de Vreede,
          <article-title>Challenges in Collaborative Modeling: A Literature Review</article-title>
          ,
          <source>CIAO! 2008 and EOMAS</source>
          <year>2008</year>
          , LNBIP 10,
          <year>2008</year>
          , pp.
          <fpage>6177</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Rittgen</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          : Collaborative Modeling: Roles, Activities and
          <string-name>
            <given-names>Team</given-names>
            <surname>Organization</surname>
          </string-name>
          .
          <source>Int. J. Inf. Syst. Model. Des. 1</source>
          ,
          <issue>3</issue>
          (
          <year>July 2010</year>
          ), pp.
          <fpage>1</fpage>
          -
          <lpage>19</lpage>
          . doi:
          <volume>10</volume>
          .4018/jismd.2010070101
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>