<!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>Extended Abstract: Managing Complexity in Activity Specifications by Separation of Concerns</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Peter Forbrig</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Gregor Buchholz</string-name>
          <email>gregor.buchholz@uni-rostock.de</email>
        </contrib>
      </contrib-group>
      <abstract>
        <p>The specification of activities of the different stakeholders is an important activity during the requirements engineering phase of software development. Currently, a lot of specification languages like task models, activity diagrams, state charts, and business specifications are used to document the results of the analysis of the domain in most projects. In the paper the aspect of the separation of concerns of global cooperation and individual work by subject-oriented specifications is discussed. It will be demonstrated how task models can be used to support subject-oriented specification by so called team models and role models. This can be done in a more precise way than S-BPM specifications. Restrictions in instances of roles can be specified.</p>
      </abstract>
      <kwd-group>
        <kwd>Activity Specification</kwd>
        <kwd>Business-Process Modeling</kwd>
        <kwd>WorkflowSpecification</kwd>
        <kwd>Subject-oriented BPM</kwd>
        <kwd>Subject-oriented Task Models</kwd>
        <kwd>CooperativeTask Execution</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        Modeling seems to become more and more significant for the implementation of
interactive systems. Specification languages like UML or BPMN are very important for
academia and industry. From our point of view, modeling is an attempt to reduce the
complexity of software development. Separation of concerns in models might be
another approach. Subject-oriented specifications in S-BPM [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] can support this idea.
It can be characterized by the separation of models for different subjects and a joined
communication model. The paper is structured in the following way that the
advantages of S-BPM will be discussed first. This will be followed by an approach with
more precise specifications using task models. A summary will close the paper.
      </p>
    </sec>
    <sec id="sec-2">
      <title>Subject-oriented Business-Process Modeling</title>
      <p>
        Fleischmann et al. [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] provided an approach that allows the rapid execution of
business-process specifications. It is called Subject-oriented Business Process Modeling
and is supported by a language that is called S-BPMN [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. This approach perfectly fits
to the idea of separation of concerns. There is no unified model of all activities but an
overview by a communication model and separated process models for all subjects
involved. These subjects are most of the time humans.
      </p>
      <p>For S-BPM it is suggested that you start with modeling the communication of
subjects via messages first. In this way, the big picture is specified. Later, the dynamic
behavior of each subject is specified by finite automata. The available symbols of
SBPM are presented in Fig. 1.</p>
      <p>Requirements are the basis of a communication model that itself is the basis for
the implementation. There are only two subjects in Fig. 2. They also exchange only
one message. The subject Customer sends an Order to subject Supplier.</p>
      <p>The details of the behavior of the subjects are defined by specific models. These
models specify how subjects react on messages and under which condition they send
messages.</p>
      <p>
        “An employee fills 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-off in the holiday file.” ([
        <xref ref-type="bibr" rid="ref2">2</xref>
        ], p. 220)
      </p>
      <p>The specification of the behavior of an employee is presented in Fig. 3. It provides
details of the business process from the perspective of the subject Employee. It
specifies the behavior of an employee. This includes the communication with the subject
Manager. It can be seen from this specification in Fig. 3. that a function in a function
state (e.g. “Fill out Vacation request Form”) leads automatically to a message that
informs about the ending of the performance of the function (e.g. “Fill out Vacation
request form done”) and this leads to the action of “Sending it”. This action results
into a message being sent to the manager.
A S-BPM specification drastically reduces the number of elements of BPMN. It
provides an interesting combination of overview diagrams and detailed diagrams.
These detailed specifications are very much reduced in their complexity in this way.
However, there is no need to use always the S-BPM notation.</p>
      <p>
        Task models have been used for several years to develop interactive systems [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ].
We presented ideas to use task models for workflow systems [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] and we used task
models for providing assistance in smart environments [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]. For this purpose, the
specification language CTML was developed [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]. It consists of a team model, certain task
models of stakeholders (described as roles), and state machines for the specification
of the behavior of devices.
      </p>
      <p>The team model was further refined to support the subject-oriented approach. We
will show how the team model can play the role of the communication model and
how task models describe the behavior of subjects.</p>
      <p>The team model is the upper part of Fig. 4. It specifies that for processing a
vacation process the request has to be created first. Afterwards a decision has to be made
and finally the decision has to be handled. This can be done in two ways. Either a
positive or a negative decision has to be handled. In the positive case, the employee
can have holidays and do something. In parallel, the vacation has to be documented.
In the negative case, the employee has to continue his work. The middle part of Fig. 4
presents the task model for the role Employee. There can be several instances of such
a model. Currently the instance for Sheldon is shown. Leonard performs the role
Manager. Sheldon has first to ask for vacation, afterwards she can go on a vacation or
go to work. Leonard can accept or turn down the request. The lower part is the simple
model for the role HR (human resource – responsible for personal). Penny has to
archive the vacation request only.</p>
      <p>These models are already presented in an animated mode. The green cycle signals
the corresponding task can be started. Leafs of animated instances of role models can
be animated only. One cannot interact with the team model. Its state changes are
based on the other models. They provide the necessary events and conditions.
However, the team model can restrict other models. Certain task may not be able to be
executed while the team model is in a certain state.</p>
      <p>The start trigger of the team task Create request is Employee.oneInstance.Ask.start,
which means that it is started when any instance of Employee started Ask. The end
trigger might be Employee.oneInstance.Ask.end. The language for the conditions is a
kind of simplified predicate logic in the notation of OCL. Currently, one can specify
oneInstance or allInstances in the conditions. According to our experience, there is no
urgent need for more expressive expressions.</p>
      <p>The specified conditions for the team model fit to our mental model if only one
instance of the role Employee exists. Otherwise, start and end could be executed by
different instances. This might not be the intention of the modeler. Therefore, the idea
of binding context and references to role instances was introduced. The first time an
instance provides a trigger, its identification can be stored in a variable.</p>
      <p>Assuming that for role Employee the variable E1 is define, the conditions can
change to E1.Ask.start and E1.Ask.end. In this case, the same instance is referred to.
The same can be specified for the role Manager. The same manager that starts the
decision has to end it. However, this might not be necessary. Any other manager
might have the right to end the decision. For an employee it might be fine if any
manager gives the okay. Nevertheless, the employee that is allowed to go on vacation has
to be the same as that who asked for vacation.</p>
      <p>These details can be seen in the specification below. This is a more precise
specification than the S-BPM model presented above. S-BPM does not allow specifying
such details. It is simply assumed that always the same instances are involved.
However, this might not always be the case.</p>
      <p>The main part of the team model looks like this:
&lt;task name="Process request" bindingContext="C1"&gt;
&lt;roleVar role="Employee" var="E1"/&gt;
&lt;roleVar role="Manager" var="M1"/&gt;
&lt;roleVar role="HR" var="H1"/&gt;
&lt;task name="Create request" operator="enabling"
startTrigger="E1.Ask.start" endTrigger="E1.Ask.end" /&gt;
&lt;task name="Make decision" operator="enabling"
startTrigger="M1.Decide.start" endTrigger="M1.Decide.end" /&gt;
&lt;task name="Handle decision"&gt;
&lt;task name="Handle Yes" operator="choice"&gt;
&lt;task name="Do something" operator="interleaving"
startTrigger="E1.GoOnVacation.start"
endTrigger="E1.GoOnVacation.end"&gt;
&lt;bindPrec source="M1.AcceptRequest" target="E1.GoOnVacation" /&gt;
&lt;/task&gt;
&lt;task name="Document Yes" startTrigger="H1.Archive.start"
endTrigger="H1.Archive.end" /&gt;
&lt;/task&gt;
&lt;task name="Handle No"&gt;
&lt;task name="Work as usual" startTrigger="E1.GoToWork.start"
endTrigger="E1.GoToWork.end" /&gt;
&lt;/task&gt;
&lt;/task&gt;
&lt;/task&gt;</p>
      <p>Recently, the interpreter for the task models was implemented in a cloud. In this
way task models can be executed via the Internet in a cooperative way. This allows a
subject-oriented development of interactive systems for different platforms.</p>
    </sec>
    <sec id="sec-3">
      <title>Summary &amp; Outlook</title>
      <p>Subject-oriented modeling of business processes allows reducing complexity by
separation of concerns. Separate models help to focus on specific details without the need
of looking at the global relations all the time.</p>
      <p>Specific task models supporting the subject-oriented specification of business
processes were introduced. The expressiveness of this approach was shown by a
simple example from the subject-oriented community. This specification is more precise
than the corresponding S-BPM specifications. The corresponding tool support of an
interpreter was implemented in Java.</p>
      <p>Some more examples have to show the appropriateness of the suggested approach.
4</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Brüning</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Forbrig</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          :
          <article-title>TTMS: A Task Tree Based Workflow Management System</article-title>
          . In: Halpin,
          <string-name>
            <given-names>T.</given-names>
            ,
            <surname>Nurcan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            ,
            <surname>Krogstie</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            ,
            <surname>Soffer</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            ,
            <surname>Proper</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            ,
            <surname>Schmidt</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            ,
            <surname>Bider</surname>
          </string-name>
          , I. (eds.)
          <article-title>BPMDS 2011</article-title>
          and
          <article-title>EMMSAD 2011</article-title>
          .
          <article-title>LNBIP</article-title>
          , vol.
          <volume>81</volume>
          , pp.
          <fpage>186</fpage>
          -
          <lpage>200</lpage>
          . Springer, Heidelberg (
          <year>2011</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Fleischmann</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          , &amp;
          <string-name>
            <surname>Stary</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          (
          <year>2012</year>
          ).
          <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>
          ),
          <fpage>125</fpage>
          -
          <lpage>150</lpage>
          , free download http://link.springer.com/article/10.1007/s10209-011-0236-x (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Fleischmann</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Schmidt</surname>
            ,
            <given-names>W.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>Stary</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          :
          <string-name>
            <surname>Open</surname>
            <given-names>S-BPM</given-names>
          </string-name>
          =
          <article-title>open innovation. In S-BPM</article-title>
          <string-name>
            <surname>ONE-Running</surname>
            <given-names>Processes</given-names>
          </string-name>
          , pp.
          <fpage>295</fpage>
          -
          <lpage>320</lpage>
          . Springer Berlin Heidelberg, (
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Fleischmann</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Schmidt</surname>
            ,
            <given-names>W.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>Stary</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          :
          <article-title>Requirements Specification as Executable Software Design - A Behavior Perspective</article-title>
          , in 0 p.
          <fpage>9</fpage>
          -
          <lpage>18</lpage>
          ,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Matulevičius</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          et al. (Eds.): REFSQ Workshop proceedings, http://ceur-ws.
          <source>org/</source>
          Vol-
          <volume>1342</volume>
          / (
          <year>2015</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Puerta</surname>
            <given-names>A. R.:</given-names>
          </string-name>
          <article-title>A Model-based Interface Development Environment</article-title>
          , IEEE Software,
          <volume>14</volume>
          (
          <issue>4</issue>
          ):
          <fpage>40</fpage>
          -
          <lpage>47</lpage>
          , July/August (
          <year>1997</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Wurdel</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          <string-name>
            <surname>Sinnig</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Forbrig</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          : CTML:
          <article-title>Domain and task modeling for collaborative environments</article-title>
          .
          <source>Journal of Universal Computer Science</source>
          <volume>14</volume>
          (
          <issue>19</issue>
          ) pp.
          <fpage>3188</fpage>
          -
          <lpage>3201</lpage>
          (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Zaki</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Forbrig</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          :
          <article-title>Making task models and dialog graphs suitable for generating assistive and adaptable user interfaces for smart environments</article-title>
          .
          <source>In: Proc. PECCS</source>
          <year>2013</year>
          , pp.
          <fpage>66</fpage>
          -
          <lpage>75</lpage>
          , Barcelona, Spain (
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>