<!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>On Restaurants and Requirements: How Requirements Engineering may be Facilitated by Scripts</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Christoph Peylo</string-name>
          <email>christoph.peylo@telekom.com</email>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Deutsche Telekom Laboratories</institution>
          ,
          <addr-line>Berlin</addr-line>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>culty of Creating Novel Things in Time</institution>
        </aff>
      </contrib-group>
      <abstract>
        <p>Requirements engineering is a central part of software projects. It is assumed that two third of all errors in software projects are caused by forgotten requirements or mutual misunderstandings in the requirement gathering process. Due to the inherent structure of project planning and the project management process, it is very unlikely that this problem will be solved unless the process itself is changed or we develop tools that possess some intelligence to facilitate the assessment of requirements. In this paper a position for the latter approach is formulated. It is argued that it is feasible to establish a domain ontology based on meta information and explanations that are represented as scripts. It is shown that this ontology has to be constructed in a dynamic way to re ect the dynamics of the requirements engineering process. Finally, it is sketched how use cases and test cases can be derived from this ontology.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Project Requirements and Project Risks</title>
      <p>The understanding of project requirements must be reached (according to the
classical project management approach) in the very early stages of the project
(initiation stage), in order to formulate the project scope statement.</p>
      <p>The project scope statement describes the project's deliverables and the work
that is to be accomplished to create them. Frequently, it is quite a coarse grained
level of detail in which the conditions and capabilities of the intended system are
described at that time. Nevertheless, this will build the basis for further planning
during the next stages.</p>
      <p>From a business point of view, this is a quite disadvantageous setting: the
gathering and analysis of the key project deliverables and the decision of how to
supply them is in a project phase before there is a signed contract. Consequently,
the time and work in this phase is not payed by the intended customer-to-be.
It is quite common in large projects to get compensation for feasibility studies,
but this does not apply to all projects.</p>
      <p>In summary, if this stage is not performed well, it is unlikely that the project
will be successful in meeting the expectations of the stakeholders.
2</p>
      <sec id="sec-1-1">
        <title>On the Di culty to Represent Understanding with</title>
      </sec>
      <sec id="sec-1-2">
        <title>Imprecise Formalisms</title>
        <p>To understand the project requirements it is important to understand the
background, i. e. the business processes from which the need of a new product or
service has arisen. This helps to understand the stakeholder's needs, wants and
expectations and what has to be achieved to satisfy a contract.</p>
        <p>
          Alas, the setting of such a task is often quite complex. The general
background is often quite specialized and not easy to understand, business processes
are sometimes ill de ned. The terminology used by the stakeholders may di er
from the vocabulary of the requirements engineer or, even worse some terms may
be used with a slightly di erent semantics (which usually becomes apparent later
in the project). Last but not least, some terms may turn out to be not terms at
all but business processes (cf. [
          <xref ref-type="bibr" rid="ref2">2</xref>
          ]).
        </p>
        <p>
          Thus, there are numerous and well known reasons (cf. [
          <xref ref-type="bibr" rid="ref3">3</xref>
          ]) why requirements
are left out or not fully understood:
{ Business processes are ill de ned. A business process may consist of several
sub-processes which may be too trivial for the stakeholders to mention.
{ Terms are used with (slightly) di erent semantics.
{ Business processes of a new (innovative) setting are ill de ned.
{ Novel business processes may interfere with existing business processes.
{ There are contradictionary processes involved.
        </p>
        <p>It would be necessary to describe the system and its background in a
comprehensive and almost complete way to eliminate all sources of those mistakes. There
are hardly any projects where there is time and budget for such a comprehensive
approach. It is important to remember that in the initiation phase of a project a
contract is not signed, i. e. there is no or insu cient compensation for an in-depth
approach available.</p>
        <p>
          Consequently, it is quite common to concentrate on the representation of
the functional requirements with use cases. A use case describes the interaction
between a system and a request that originates from outside of that system.
Use cases represent that interaction as a sequence of single steps and events to
achieve a speci c goal. There are several representation schemes (most common:
the Uml use case diagram in various versions) to graphically express this kind
of interaction. The meaning (or semantics) of the use case is not represented
by the well de ned building blocks of the formalism [
          <xref ref-type="bibr" rid="ref4">4</xref>
          ], [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ], but shall constitute
itself (helped by various annotations) in the mind of the reader. This approach
is quite common but prone to misunderstandings.
        </p>
        <p>Admittedly, those representation formalisms have a certain beauty: they
represent complex interactions in a compact way that may be perceived quickly
(at least in comparison to lengthy (and often tiresome to read) de nitions in
natural language). Due to their seeming clarity and formality they are often
over-estimated. Nevertheless, they are deceptive with respect to their precision
and expressiveness. There main limitations are:</p>
        <sec id="sec-1-2-1">
          <title>1. Weak and not well de ned semantics of relations.1</title>
          <p>2. The expressiveness of graphical representation schemes is limited per se to a
fragment of rst order logic (existential quanti ed, conjunctive connected).
Trying to extend the symbology by annotations (to cover modal or second
order constructs) will increase the confusion, not the expressiveness.
3. Use cases represent the interaction in the communication between user and
system. Commonly, they refer to sub processes and documents that are
interchanged during those process steps without explaining the content in full
detail. Thus, generally, it is not possible to decide by the study of a use
case whether the process ow may lead to the desired result (i. e. the system
output may be achieved, given the set of input).</p>
          <p>After this synopsis of the requirements gathering process and the di culties
that exist in avoiding misunderstandings it is concluded that either this process
should be upvalued considerably (in terms of time and money), or tools for
facilitating this process on a more semantic level should be applied.2</p>
          <p>
            In the remaining part of this paper, an approach is sketched how existing Ai
concepts could be deployed for this purpose.
1 This is no new insight, as shown by Woods [
            <xref ref-type="bibr" rid="ref6">6</xref>
            ].
2 There are several approaches that try to support the requirements engineering
process in linking use cases to contextual scenarios (e. g. [
            <xref ref-type="bibr" rid="ref7">7</xref>
            ] and [
            <xref ref-type="bibr" rid="ref8">8</xref>
            ]). But the
representation of scenarios is done in natural language and su ers from the known problems
connected with that approach (cf. sec. 2 and sec. 4).
          </p>
        </sec>
      </sec>
      <sec id="sec-1-3">
        <title>Contributions from AI</title>
        <p>
          How can Ai facilitate the requirements engineering process, and, more speci
cally, how can Ai contribute to avoid misunderstandings? From an Ai
perspective, the problem is situated in the context of formalizing domain knowledge and
to explain and to communicate this knowledge (cf. [
          <xref ref-type="bibr" rid="ref9">9</xref>
          ], [
          <xref ref-type="bibr" rid="ref10">10</xref>
          ]).
3.1
        </p>
      </sec>
    </sec>
    <sec id="sec-2">
      <title>On Explanations and Understanding</title>
      <p>
        Explanation can be regarded as the process by which we make sense of the
world [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ]. Thus, we construct structures from which knowledge can be derived
at a later stage. Explanations seem to be linked to the process where
knowledge structures are constructed or communicated. Thus, explanations connect
phenomenon in a systematic way to make outcomes predictable. Whereas
explanations re ect the process of understanding, knowledge seems to be more about
the management of realization. Thus, knowledge can be understood as a tertiary
relation (someone assigns someone knowledge about something).3
      </p>
      <p>
        At a very basic level explanation equals understanding: We believe that we
understand why a person is doing what he is doing if we can point to a script
that he or she is following [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ]. A script is a structured representation describing
a stereotyped sequence of events in a particular context and forms a very basic
knowledge structure [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ]. In that sense the famous restaurant script [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ] was
used to understand the basic interactions in a restaurant. This script-type of
understanding is equivalent to making sense and is to be distinguished from
the deeper (cognitive) understanding, of course. For the purpose of this paper
making sense will do. Thus, scripts as condensed or compiled explanations may
be considered as suitable building blocks for a system with a shallow degree of
self-awareness.4
3.2
      </p>
    </sec>
    <sec id="sec-3">
      <title>The Structure of a Script</title>
      <p>
        As stated above, a script models a ow of action in a speci c setting. To
understand this setting, i. e. to interact in a limited communication [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ], it is necessary
to tag structural information to its building blocks to facilitate the semantic
processing in a computer system. The components of scripts are
{ Entry conditions that must be met before the script may be started.5
{ Results or conditions that are true once the script has terminated. Thus, a
script has a speci c setting as an entry condition and after the script
terminated, the setting (the state of a airs) is di erent from the initial setting.6
3 This holds true especially in educational contexts, see [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ].
4 A script resembles goals and scenarios in the Cosmod-Re approach of Pohl [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ].
      </p>
      <p>
        But this approach is a methodology (cf. [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ]) which does not result in a system as
proposed here.
5 In the famous restaurant script these include a restaurant that is open and a customer
that is hungry.
6 In the restaurant script e ects of the script are that the customer is not hungry and
has less money.
{ Roles as placeholders for actors or objects in actions that the individual
participants perform.
{ Scenes that re ect temporary aspects of a script. A scene works like a script
in a script. It encapsulates operations that change the state of a airs.
{ The entities involved as objects or passive parts in that script.
{ A set of well de ned actions. Actions are distinguished by the arity of the
relation (e. g. transitive verbs are a binary relation, double-transitive verbs
a tertiary relation), and a type restriction with respect to roles and entities.
Those components o er the tools, by which a lightweight understanding may
be modeled. Logically, entities may be modeled as predicates, actions may be
represented as relations on roles. Roles are variables (with type restrictions) for
entities. A state of a airs may be represented as a list of predicates that hold in
that moment.
3.3
      </p>
    </sec>
    <sec id="sec-4">
      <title>Example: the Restaurant Script</title>
      <p>
        The classic example of Schank's theory is the restaurant script. The script theory
is closely related to Schank's concept of conceptual dependencies [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ]. According
to that concept, the meaning of natural language sentences should be expressed
by using conceptual primitives. In the example given below the conceptual
dependencies are marked using uppercase letters and a typewriter font. The meaning
of these primitives is as follows:
      </p>
      <sec id="sec-4-1">
        <title>PTRANS: Transfer of the physical location of an object (i.e. go).</title>
        <p>MBUILD: Building new information of old information (i.e. decide).
MTRANS: Transfer of mental information (i.e. tell).</p>
        <p>ATRANS: Transfer of an abstract relationship (i.e. give).</p>
        <p>MOVE: Movement of a body part by its owner.</p>
        <p>ATTEND: Focusing of a sense organ toward a stimulus (e.g. listen).
The subject of the sentences is represented by S which is a role and con be
instatiated by any agent. The script consists out of four scenes:
Scene 1: Entering: S PTRANS S into restaurant, S ATTEND eyes to tables, S</p>
        <p>MBUILD where to sit, S PTRANS S to table, S MOVE S to sitting position.
Scene 2: Ordering: S PTRANS menu to S (menu already on table), S MBUILD
choice of food, S MTRANS signal to waiter, waiter PTRANS to table, S MTRANS
'I want food' to waiter, waiter PTRANS to cook.</p>
        <p>Scene 3: Eating: Cook ATRANS food to waiter, waiter PTRANS food to S, S</p>
        <p>INGEST food.</p>
        <p>
          Scene 4: Exiting: waiter MOVE write check, waiter PTRANS to S, waiter ATRANS
check to S, S ATRANS money to waiter, S PTRANS out of restaurant.
It is not compulsory to adopt the concept of conceptual dependencies to utilize
scripts. Nevertheless, it is necessary to de ne entities, roles and operations (i. e.
actions) in a way, that o ers some generality and transferability. Thus, a set of
universals with prede ned semantics and support for roles seems to be helpful.7
7 Further work will include an analysis how ongoing e orts on semantic modeling
could be integrated in this approach (cf. [
          <xref ref-type="bibr" rid="ref16">16</xref>
          ]).
3.4
        </p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>Semantic Expressiveness</title>
      <p>As sketched above, a script transforms one state of a airs into another state.
States may be modeled adequately with a fragment of rst order logic (existential
quanti ed, conjunctive connected predicates). Accordingly, entities, e. g. objects
or actors, that are referred to in a script may be formalized as well by a set of
attributes, i. e. as predicates. Generally, rst order logic is not su cient to model
the dynamic interdependencies and actions in a domain, due to the necessity of
modal, temporal or second order (quanti cation about predicates) constructs.
These language constructs have to be provided by modeling the actions and
roles accordingly. Thus, type restrictions and quanti cations on predicates or
attributes have to be considered in the process of de ning and implementing
roles.</p>
      <p>Consequently, the static aspects (situations as constellations of entities at a
given point in time) are modeled with a fragment of rst order logic. Actions,
as well as operations on entities, permit more advanced constructs like quanti
cation on predicates and additional quali ers. This augments the expressiveness
of the whole formalism considerably. A script forms a context in which the
semantics for at least one - and to avoid misunderstandings: exactly one - valid
assignment and interpretation is provided.</p>
      <p>This approach is computationally feasible, since the domain of the variables
of the predicates are restricted in most application scenarios to reasonably sized
sets of possible instantiations.
3.5</p>
    </sec>
    <sec id="sec-6">
      <title>Scripts and Ontologies</title>
      <p>
        Generally, a software system is intended to be representationally and
inferentially adequate with respect to its application area. Thus, the entities in the
software system and their real world counterparts shall be describable by the
same attributes. Inferences over attributes and entities in the system shall hold
in reality and vice versa. Thus, the conceptualization of the application domain
in the software system shall model those entities, relationships and processes
that are essential for achieving the intended level of adequacy. Such a
conceptualization may be referred to as an ontology [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ]. In this setting the role of
an ontology is twofold. It shall represent the body of knowledge from which the
deliverables of the system shall be derived and it shall provide the vocabulary
and the rules from which the interactions with the system may be described (cf.
[
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]).
      </p>
      <p>The ontology has to be dynamic: the project goals may be subject to change
and therefore the underlying ontology respectively. Since a project is an unique
endeavor we can not take some ontology from the shelf, but it is more likely
that each project (even if located roughly in the same domain) will need its own
ontology.</p>
      <p>Such an ontology will be referred to as an agreed ontology to express that it
shall represent the common understanding of the domain by all stakeholders of
the project. The term agreed implies a certain dynamics as well in the process
of de ning and re ning the ontology. It re ects the processes as mutual
understanding as the project group grows and implies that the formalism should be
mighty enough to tackle well known problems with respect to knowledge bases
(frame problem, non-monotone logic, etc.).
3.6</p>
    </sec>
    <sec id="sec-7">
      <title>The Building Blocks of an Agreed Ontology</title>
      <p>
        Accordingly, there have to be building mechanisms for both: scripts as
constituents of an ontolgy and the ontology itself. Given the inherent structure of a
script as outlined above it lies at hand that scripts can be de ned by a
contextfree grammar. Basically, a context-free grammar has four components (cf. [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ]):
{ A set of terminal symbols. These are the elementary symbols of the language
de ned by this grammar.
{ A set of nonterminal symbols or syntactic variables.
{ A set of rules, where each rule consists of a nonterminal (head) and a
sequence of terminals or nonterminals (body), by which the head may be
replaced.
      </p>
      <p>{ A designation of one of the nonterminals as start symbol.</p>
      <p>Applied to this context, it is evident that scenes, roles and actions form the
nonterminal symbols of this grammar. The terminal symbols are either domains
of the syntactic variables, such as instantiations of roles (i. e. a speci c user or a
speci c entity) or outcomes of a script, i. e. a state of a airs.</p>
      <p>
        This shall be illustrated with a scenario where a device fails, and calls for
a technician. This scenario is taken from a setting that has been accomplished
by the Deutsche Telekom Laboratories [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ]. It is situated in a context where
machine-to-machine techniques are deployed to automate facility management
processes. This scenario is built up from several scenes. The scenes of the scenario
have to be applied in a distinct order, thus the scenes are numbered.
1. A device fails. A noti cation is sent calling for the technician. His credentials
are activated, so that he may enter the room where the device is located. A
process is triggered which waits for the technician. If the technician has not
arrived during an interval, the call is sent again.
2. The technician arrives at the building. The technician has to authorize
himself with his credentials to be able to enter the room where the device is
located. This will trigger another event. This event includes a success
parameter, stating whether the door opened or not. This can generate an alarm,
should the technician enter the wrong credentials.
3. During the repair process the device has to be queried several times. Since
the technician is authorized, the conditions for a repair process are met and
no further call is sent.
4. Once the device works again and the technician is nished the authorization
lifespan will be ended. Again, an alarm is triggered if the technician fails to
authenticate himself when leaving the location. The credentials are
deactivated to ensure that the technician may enter the location only in the course
of a repairing process.
      </p>
      <p>
        The scenario is comprised of several actions that result in speci c situations,
i.e. events. The scenario is represented with a grammar in Backus-Naur form as
given below. The terminal symbols are enclosed with quotes. Head and tails of the
rules are separated by a '::=', ',' is used as concatenation and ';' as termination
symbol.
The terminal symbols in this example are placeholders for speci c instantiations
of roles, e. g. a speci c technician, location or device, or situations. A situation
s is a con guration (cf. sec. 3.4) which holds true for all state of a airs in the
system at a given point t in time.8 Thus: t s^ t 2 :s. It surely is a challenge
to model the action and role part in a way that supports explanations and
allows quanti cations. Nevertheless, although the exact de nition and modeling
of actions and roles may be demanding in speci c cases, it is considered that this
does not present an obstacle in principle to this approach. Since there are several
approaches documented and available, where this problem has been solved (c.f.
[
        <xref ref-type="bibr" rid="ref11">11</xref>
        ]).
8 For example, t may be the set of all relations in a database system at a speci c
point of time t.
3.7
      </p>
    </sec>
    <sec id="sec-8">
      <title>Constructing Agreed Ontologies</title>
      <p>Scripts form the nonterminal vocabulary of an agreed ontoloy, the terminals are
representations of outcomes of scripts. The challenge to de ne the rules for the
ontology is quite demanding, since they model the order and interdependencies
of scripts and the dynamics of the ontology depends on them.</p>
      <p>The dynamics is achieved by adding new scripts to the ontology, removing
and modifying existing scripts or changing the order of the scripts. This shall
be sketched by extending the service scenario given above with further use cases
from that domain. 9
Access and Service Control: Maintenance personnel are given key (e. g. RFID
tags, access cards) for accessing facilities and identi cation at devices to be
maintained. Tags store employee credentials, doors to be used, work orders
as well as operations carried out. The usage of doors is monitored and alerts
are generated if needed.</p>
      <p>Inventory Management: Every asset may have one or more unique identi er.</p>
      <p>This provides knowledge of the connected devices, their functionalities, and
attributes. Automatic inventory of assets using xed and handheld readers
helps locating displaced and mobile assets. Absence of a reading event can
be used to detect stolen equipment.</p>
      <p>Predictive Maintenance: Continuous monitoring of operational (e.g. load)
and non-operational (e.g. temperature) parameters using sensors to predict
breakdowns. Estimate individual maintenance intervals for di erent
equipments. Using maintenance history (data logging) to analyze tradeo s
between cost to maintain old equipment and investment in new equipment.
Remote Control: Remotely monitor and query about the status of individual
persons (in terms of location) and devices. Devices shall be recon gured
remotely.</p>
      <p>The script for access and service control was explained in detail in sec. 3.6.
The other use cases may be represented as scripts in analogous way.10 A simple
example grammar that models an ontology for this facillity management setting
is given below:11
1. FacilityManagementOntology::= InventoryManagement, PredictiveMaintenance,</p>
      <p>
        RemoteControl, AccessAndServiceControl;
2. InventoryManagement ::= establishedAutoID;
3. PredictiveMaintenance ::= establishedPMProcesses, remoteControl;
4. AccessAndServiceControl ::= establishedAASProcesses, remoteControl;
5. RemoteControl::= "establishedRemoteControl";
9 Additionally, it might be necessary to ensure global consistency of the outcomes of
the di erent scripts. The approach of assumption based truth maintenance systems
(Atms) [
        <xref ref-type="bibr" rid="ref20">20</xref>
        ] can be deployed to solve this problem. A script of this approach roughly
plays the role of an assumption in de Kleer's concept.
10 In this context use cases are subsumed by scripts.
11 The grammar is represented in BNF, terminal symbols are enclosed with quotes.
      </p>
      <p>It is obvious that the scenarios are not independent from each other but
imply an order. Thus, to enable predictive maintenance remote monitoring has
to be established. The granularity can be increased, by splitting the scenario of
access and service control in two scenarios: an access control and a service control
scenario. This leads to a change in the de nition of the inventory management
process:
1. AccessAndServiceControl ::= remoteControl, AccessControl;
2. AccessControl ::= "establishedACProcesses";
3. InventoryManagement::= AccessControl, establishedAutoId;
It is possible to change a sequence or to edit the starting conditions or the
outcome of a script. Thus, by manipulating the grammar the ontology of the
domain of interest can be managed. In addition an Atms could administer the
consistency of the general state of a airs of the model of the application domain.
Since each script a ects the state of a airs of the whole system and the changes
that have been applied by the operations of a script are recorded, each state
of a airs can be tracked down to the scripts involved. Thus, it may be easily
discovered, if starting conditions of a script never appear or if scripts lead to
inconsistencies.</p>
      <p>Since scripts not only model the interaction ow but are more detailed with
respect to the semantics of the process and the outcome, scripts may even act
as blue print for test cases. Consequently, this approach enables to transfer the
methodology of test driven development to the requirement engineering process.
As production code in this setting has to pass the prede ned test cases, new
requirements would have to be formulated as scripts and checked against the so
far agreed ontology. Consequently, it can be decided for each requirement (that
is well-formed in terms of the ontology's grammar) whether it may be derived, is
subsumed, leads to contradictions or augments the set of requirements gathered
so far.
4</p>
      <sec id="sec-8-1">
        <title>Conclusion</title>
        <p>In this paper a position was formulated that points out some general de cits in
requirements engineering. It was argued that the tools to represent functional
requirements of a non-trivial software system are commonly restricted in their
semantic expressiveness and thus inept to establish mutual understanding
concerning those processes. Misunderstandings will easily arise due to the ill de ned
semantics of the representation formalism: each stakeholder will underlay his or
her individual semantic reference system for understanding. To describe the
system`s functional requirements in a comprehensive way in natural language is
possible in theory but not feasible either. It is known from experience that large
volumes are scarcely read by their target audience.</p>
        <p>Thus, it is argued that this problem can be solved by an agreed ontology
that models the understanding of the target system in a way that explanations
on functional requirements can be given. This ontology should be implemented
in a system that forms the semantic grounding of all assumptions about the
domain of interest and the interactions within the future software system.
Misunderstandings and contradictions can be managed due to its semantic-enabled
constituents, i. e. scripts, and the internal management of the system.
5</p>
      </sec>
      <sec id="sec-8-2">
        <title>Consequences and Further Work</title>
        <p>Although the argumentation in this paper did not provide detailed examples,
it should be comprehensible, that this approach is technically feasible and will
hold true. Future work will provide comprehensive examples and esh out the
approach.</p>
        <p>Nevertheless, applying this approach to software projects will result in a
major change in the administrative setting of a project and communication between
the stakeholders that will hinder its acceptance. The biggest issue in that respect
is that presently, the documentation of all relevant organisational stipulations
is essentially paper-based. Utilizing this approach would mean to transfer an
essential part of the project documentation, i. e. the written and signed
requirements speci cation, to a di erent medium. The legal issues are no hindrance,
since a system that implements this approach could be serialized and signed with
the certi cates of the stakeholders. Nevertheless, major shifts in administrative
procedures are not done lightly. Thus, future work will have to prove that the
bene t of this approach to software engineering will outweigh the inconvenience
of changing an administrative process.</p>
      </sec>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1. Project Management Institute, ed.:
          <article-title>A guide to the project management body of knowledge: PMBOK guide. 3 edn</article-title>
          . Project Management Institute, Inc. (
          <year>2004</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Knauss</surname>
          </string-name>
          , E.:
          <article-title>Einsatz computergestutzter Kritiken fur Anforderungen</article-title>
          .
          <source>Softwaretechnik-Trends</source>
          <volume>27</volume>
          (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Wiegers</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          :
          <article-title>Software Requirements</article-title>
          . Microsoft Press (
          <year>2005</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Jeckle</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rupp</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Zengler</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Queins</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hahn</surname>
          </string-name>
          ,
          <source>J.: Uml 2</source>
          .
          <fpage>0</fpage>
          - Neue Mo
          <article-title>glichkeiten und alte Probleme</article-title>
          .
          <source>Informatik Spektrum</source>
          <volume>27</volume>
          (
          <year>2004</year>
          )
          <volume>323</volume>
          {
          <fpage>332</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Nalepa</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wojnicki</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          :
          <article-title>Using UML for Knowledge Engineering - A Critical Overview</article-title>
          . In Baumeister, J.,
          <string-name>
            <surname>Seipel</surname>
          </string-name>
          , D., eds.
          <source>: 3rd Workshop on Knowledge Engineering and Software Engineering (KESE 2007) at the 30th Annual German Conference on Arti cial Intelligence</source>
          .
          <article-title>(</article-title>
          <year>2007</year>
          )
          <volume>37</volume>
          {
          <fpage>47</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Woods</surname>
          </string-name>
          , W.:
          <article-title>What's in a Link: Foundations for Semantic Networks</article-title>
          . In
          <string-name>
            <surname>Borow</surname>
          </string-name>
          , D., Collins, A., eds.: Representation and
          <string-name>
            <surname>Understanding.</surname>
          </string-name>
          Academic-Press, New York (
          <year>1975</year>
          )
          <volume>36</volume>
          {
          <fpage>81</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Sutcli</surname>
            <given-names>e</given-names>
          </string-name>
          , A.:
          <article-title>Scenario-based requirements analysis</article-title>
          .
          <source>Requirements Engineering Journal</source>
          <volume>3</volume>
          (
          <year>1998</year>
          )
          <volume>48</volume>
          {
          <fpage>65</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Allmann</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          :
          <article-title>Situations- und szenariobasierte Entwicklung von Anforderungen in der technischen Entwicklung</article-title>
          .
          <source>Softwaretechnik-Trends</source>
          <volume>28</volume>
          (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Walton</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          :
          <article-title>Can Argumentation Help AI to Understand Explanation</article-title>
          .
          <source>Kunstliche Intelligenz</source>
          <volume>2</volume>
          (
          <year>2008</year>
          )
          <volume>8</volume>
          {
          <fpage>11</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Richter</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Logik versus Approximation</article-title>
          .
          <source>Kunstliche Intelligenz</source>
          <volume>4</volume>
          (
          <year>2004</year>
          )
          <volume>62</volume>
          {
          <fpage>64</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Schank</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kaas</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Riesbeck</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          :
          <article-title>Inside case-based Explanation</article-title>
          . Lawrence Erlbaum Associates, Inc. (
          <year>1994</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Peylo</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          :
          <article-title>Wissen und Wissensvermittlung im Kontext von internetbasierten intelligenten Lehr- und Lernumgebungen</article-title>
          . Volume
          <volume>257</volume>
          of Dissertationen zur kunstlichen Intelligenz. Akad.
          <string-name>
            <surname>Verl</surname>
          </string-name>
          .- Ges. Aka, Berlin (
          <year>2002</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Schank</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Abelson</surname>
          </string-name>
          , R.: Scripts, Plans, Goals and Understanding. Lawrence Erlbaum Associates, Hilsdale, New Jersey (
          <year>1977</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>Pohl</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sikora</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          :
          <article-title>The Co-Development of System Requirements and Functional Architecture</article-title>
          . In Krogstie, J.,
          <string-name>
            <surname>Opdahl</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Brinkkemper</surname>
          </string-name>
          , S., eds.:
          <source>Conceptual Modelling in Information Systems Engineering</source>
          . Springer, Berlin, Heidelberg, New York (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>Bramsiepe</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sikora</surname>
            , E.,
            <given-names>K.</given-names>
          </string-name>
          <article-title>Pohl: Ableitung von Systemfunktionen aus Zielen und Szenarien</article-title>
          .
          <source>Softwaretechnik-Trends</source>
          <volume>28</volume>
          (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <surname>Colomb</surname>
          </string-name>
          , R.:
          <article-title>Ontology and the Semantic Web</article-title>
          . IOS Press, Amsterdam (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <surname>Guarino</surname>
          </string-name>
          , N.:
          <article-title>Formal Ontology and Information Systems</article-title>
          . In Guarino, N., ed.:
          <source>Formal Ontology in Information Systems. Proceedings of the First International Conference</source>
          , June 6-8, Trento, Italy, Amsterdam, Berlin, Oxford, Tokyo, Washington, IOS Press (
          <year>1998</year>
          )
          <volume>3</volume>
          {
          <fpage>19</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18.
          <string-name>
            <surname>Aho</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lam</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sethi</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ullman</surname>
          </string-name>
          , J.: Compilers, Principles, Techniques, &amp;
          <string-name>
            <surname>Tools</surname>
          </string-name>
          . Addison-Wesley, Reading, Massachussets (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          19.
          <string-name>
            <surname>Krishnamurthy</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Anson</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sapir</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Glezer</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rois</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Shub</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          , Schloder,
          <string-name>
            <surname>K.</surname>
          </string-name>
          :
          <article-title>Automation of Facility Management Processes using Machine-to-Machine Technologies</article-title>
          .
          <source>In: The Internet of Things. Volume 4952 of LNCS</source>
          . Springer, Berlin, Heidelberg, New York (
          <year>2008</year>
          )
          <volume>68</volume>
          {
          <fpage>86</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          20. de Kleer,
          <string-name>
            <surname>J.:</surname>
          </string-name>
          <article-title>An assumption based truth maintenance system</article-title>
          .
          <source>Arti cial Intelligence</source>
          (
          <year>1986</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>