<!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>Flexible Modelling for Requirements Engineering</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Athanasios Zolotas</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Nicholas Matragkas</string-name>
          <email>n.matragkas@hull.ac.uk</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Dimitrios S. Kolovos</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Richard F. Paige</string-name>
          <email>richard.paigeg@york.ac.uk</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Department of Computer Science, University of Hull</institution>
          ,
          <addr-line>Hull</addr-line>
          ,
          <country country="UK">UK</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Department of Computer Science, University of York</institution>
          ,
          <addr-line>York</addr-line>
          ,
          <country country="UK">UK</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>Many applications that are developed do not completely full the requirements of their stakeholders. This can be a result of inadequate requirements elicitation and poorly de ned requirements. Many solutions, including model-driven inspired ones, have been proposed to improve the elicitation of the requirements, though many of them are not yet widely used in practice as they require training of both the employees and the stakeholders. In this paper we propose the use of exible modelling for eliciting and capturing the requirements of applications to facilitate the production of correct products that deliver on the contract de ned between clients and developers. We argue that the use of exible modelling can lower the entry barrier for use in the industry. The proposed method, called FlexRE, is applied to a scenario to demonstrate its capabilities and ways it can be extended.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        Tendered contracts [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] are very often used for the ` rst contact' between the
clients and the companies which develop applications. An initial, unstructured
set of needs is given in the form of a tendered contract to candidate
companies. Developers bid for the project by proposing an estimation on cost and
time needed for the realisation of the project. The clients pick the solution that
appears to be the most appropriate. After the agreement, business analysts,
following di erent requirements elicitation techniques (e.g. interviews, prototypes,
etc.) add more details to the requirements to let the developers have a better
understanding on the needs of the clients. Many projects that follow this process
fail to match the real client needs. Di erent studies [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ], [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ], [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] show that one of
the reasons for that problem is the ambiguity of the requirements.
      </p>
      <p>Many techniques have been developed to tackle this problem, including those
that are model-driven inspired. The Agile methodologies, were proposed to
increase the active participation of the client in the software development process,
thus in the requirements elicitation phase. The above research surveys suggest
that the problem still exists.</p>
      <p>The proposed solutions so far urge the composition of either a very structured
artefact which should conform to a rigorously-de ned metamodel or a totally
unstructured composition of requirements using text. The former are di cult to be
used by non-technical stakeholders, as they force them to follow the semantics
that are bound to a xed metamodel. Thus there is low clients' contribution to
the requirements speci cation document and high entry barrier of the
methodologies in real world. In contrast, the latter o er no or limited structure, thus
one cannot bene t from the use of model management techniques.</p>
      <p>
        This paper presents a novel approach in expressing tendered contracts that
promotes the active involvement of the clients in the composition of the
document having as primary goal to lower the entry barrier and reduce the cost of
using Model-Driven Engineering (MDE) in the requirements elicitation phase.
This approach, o ers a varying range of structure, positioning itself between the
unstructured and rigidly structured requirements methodologies. It is based on
the GraphML [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] standard and the exible modelling technique introduced in [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ].
Due to speci c interest from our industrial partner in Web applications, we
applied and tested the approach in this domain. There were no indications that it
could not be applied to other domains, like desktop or mobile applications.
2
      </p>
    </sec>
    <sec id="sec-2">
      <title>Background and Motivation</title>
      <p>
        Clients are usually domain experts; they generally can understand the
terminology and the processes that take place in the domain. By contrast, business
analysts, modellers and developers are technology experts and know how systems
are built. The lack of knowledge of the domain by technology experts and the
lack of knowledge of the technology by domain experts is termed as the
symmetry of ignorance. [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] \Contributory methods" like prototypes and scenarios, were
added to the development processes to increase the active client's involvement
and cooperation with the system's modellers. [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ].
      </p>
      <p>
        In WebML [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ], probably the current standard in modelling web
applications and their work ows, non-technical stakeholders should use elements from
a palette that they are not familiar with as these elements were de ned to
represent technical concepts, like edges that represent successful and unsuccessful
messages between actions or nodes that add/remove entries in ER Data
diagrams.
      </p>
      <p>A second problem of approaches that are based on rigorous and pre-de ned
metamodels is the fact that they restrict users of expressing requirements that
the author of the metamodel did not think about. Thus, the scope of the projects
that they can model is reduced (e.g. support for data-driven web applications
only) or clients are restricted to use speci c concepts that do not represent their
envisioned applications. This boils down to the following anecdotal quote:
\I've been in situations where I found that the modeling tool was
simply too structured to let me describe everything I needed to describe."3</p>
      <sec id="sec-2-1">
        <title>3 http://programmers.stackexchange.com/questions/55679/why-arent-we-all-doing</title>
        <p>model-driven-development-yet</p>
        <p>
          A survey conducted among 12 Business Analysts working with IBM [
          <xref ref-type="bibr" rid="ref9">9</xref>
          ]
veries this argument and summarises the advantages and disadvantages of each of
these two types of requirements elicitation approaches.
        </p>
        <p>In this paper we argue for an approach that can increase the domain experts'
contribution to the speci cation of the requirements. This approach is based on
the use of a simple drawing tool and thus it requires less training given that one
can build on familiar idioms and mechanisms reducing the cost of adaptation in
the real world. It o ers a varying range of structure, positioning itself between
the unstructured and rigidly structured requirement methodologies promoting
the use of Agile principles and processes.
3</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>Related Work</title>
      <p>
        The rst family of approaches includes those which use natural language as the
means of expressing requirements. One approach is the use of spreadsheets or
text documents for expressing the requirements. Controlled Natural Language
(CNL) techniques aim to tackle the ambiguity of such statements written in
natural language. In the same direction, Kaindl et al. [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ] proposed the
ReDSeeDS requirements language which uses dictionary de nitions attached to the
words and linking the words that refer to the same entity. These approaches can
be used by non-technical stakeholders with no speci c training increasing their
contribution in the nal de nition of the system's requirements. However, they
cannot bene t from the MDE advantages as they are not structured.
      </p>
      <p>
        Two other approaches are the Business Process Modelling Language (BPMN)4
and the Uni ed Modelling Language (UML)5. They allow business analysts to
describe work ows of an application. The Web Requirements Engineering
(WebRE) [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ] is a UML pro le speci cally built to help with the speci cation of web
applications. These diagrams are not usually used as the only way to describe the
system but as supporting to the Software Requirements Speci cation, artefacts.
The Navigational Developemnt Technique (NDT) [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ] uses a template to store
requirements. The Web Requirements Metamodel (WRM) [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ] supports the de
nition of requirements using either UML Use Case Scenarios or NDT templates.
All these approaches o er some structure, like links between the stakeholders
and their needs, but not structure that is related with the elements that are
used in ful lling the requirements (e.g. images, buttons, menus, lists, etc.). In
addition, training is needed to be used by non-technical stakeholders as they
require conformance to speci c concrete and abstract syntax.
      </p>
      <p>
        The Program Design Language (PDL) [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ] was the rst attempt in the
direction of using graphical interfaces to represent requirements, followed by other
approaches, like the Structured Analysis and Design Technique (SADT) [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ].
These techniques promote a very structured way in storing the requirements
and can be seen as a design of the system under development rather than a SRS
document thus can only be used by specialists. [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ]
      </p>
      <sec id="sec-3-1">
        <title>4 http://www.omg.org/spec/BPMN/</title>
      </sec>
      <sec id="sec-3-2">
        <title>5 http://www.omg.org/spec/UML/</title>
        <p>
          The closest to our approach is the one proposed in [
          <xref ref-type="bibr" rid="ref9">9</xref>
          ]. The authors, as
mentioned in the previous section, surveyed 12 Business Analysts cooperating
with IBM. As an outcome they proposed the use of a exible modelling tools in
the pre-requirements phase highlighting the advantages that such an approach
has when domain experts and non-technical stakeholders are involved. In this
paper, we propose the use of a exible modelling approach not only in the
prerequirements but through the whole requirements phase that can also be used
as a starting artefact for the other phases (e.g. coding, testing).
4
        </p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>Flexible Modelling for RE</title>
      <p>
        Our approach is based on the technical concepts of an approach called
Muddles, proposed in [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ], which employs exible modelling techniques and promotes
the use of a general-purpose drawing tool for the creation of programmatically
manageable models. Flexible modelling allows the creation of models that are
not instances of a speci c metamodel. Models are created as an example to help
the production of a rigorous metamodel that can then support MDE processes
and model management using automated tools. Such a process allows domain
experts to be actively involved in the creation of the metamodel by providing
example models that describe their envisioned metamodel [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ].
4.1
      </p>
      <sec id="sec-4-1">
        <title>The Muddles Approach</title>
        <p>
          The Muddles approach [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ] uses a exible graph de nition language, GraphML [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ],
to allow language engineers to draw models and then annotate them so they
can be accessed by model management suites. In the Muddles approach, each
GraphML Node that is created in the drawing is extended with four Data elds
attached to it (Fig. 1). The Type, is the eld where the developer declares the
type of each node. The Properties, is the eld where the developer can add
attributes to the node. For example, all the nodes of type \Web Page" have a
String property called \Title". The Default eld de nes the variable which will
be used by model management suites to access the label of the node. Finally,
the Contents eld de nes the descriptor that will be used to get all the nodes
contained within a parent node.
        </p>
        <p>Each GraphML Edge is also extended by the Type, Properties and Default
elds. In addition, elds to hold the descriptors of the \Source", \Target", the
\Role in source", the \Role in target" and their multiplicities are de ned. For
example, an edge that represents linking between two nodes, has an outgoing
relation named \linksTo" and an incoming relation called \linkedBy" with a
multiplicity of 1. The \sourcePage" and \targetPage" de ne the keywords for
the source and the taget page of the link, respectively. These keywords can be
used by a model management suite to have access to the source or target element.</p>
        <p>After the diagrams are annotated they are automatically transformed to an
intermediate model which is instance of the Muddle metamodel. A discussion on
the steps of the transformation are beyond the scope of this paper. The Epsilon</p>
        <p>Image TDyaptae Link Properties String URL = \.."
Properties String src=\..." Source source Role in sourcePage linksTo1
CDoefnatuelntts cnhaimlderen Target target Role in targetPage linkedBy1
(a) The Node Properties</p>
        <p>
          (b) The Edge Properties
platform [
          <xref ref-type="bibr" rid="ref17">17</xref>
          ] they are using o ers a driver that can consume muddle models and
allow the execution of model management programs on them.
In this work we propose the use of a drawing tool that implements the GraphML
standard to let domain experts in collaboration with business analysts, express
the requirements of applications. By using a drawing tool and exible modelling
throughout the requirements engineering phase, we argue that the drawbacks
(see Section 2) of current MDE techniques could be tackled. In addition, the
drawings that include the requirements are structured and can be consumed
by model management tools. We demonstrate this approach through a running
example. In the example, we use the yEd6 editor, the Epsilon platform [
          <xref ref-type="bibr" rid="ref17">17</xref>
          ]
for model management and the technical concepts of the Muddles approach
proposed in [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ]. An overview of FlexRE is presented in Figure 2.
        </p>
        <p>In this case study, the client is interested in having a web application that will
be used to present their Hotel company. It includes static and dynamic pages
to present the rooms, the restaurant and help customers check for the rooms
availability. A comprehensive set of the requirements are summarised in Table 1.</p>
        <p>The Manager, who is the client in this scenario, starts drawing using the
yEd editor, concepts that they are familiar with like check-in dates, check-out
dates, etc. (step 1). He does not need to follow any speci c rules and can use any
shape or image from the palette of the drawing tool that represents their
understanding of the required functionality. Business analysts can in parallel annotate
the drawings with types that can be useful for the requirement methodologies
they follow, using the elds presented in Fig. 1 (step 2). As an example, assume
6 http://www.yworks.com/en/products_yed_about.html
\A page to present the rooms of the Hotel"
\A home page that will have a short introduction
of the hotel, the rooms and the sta ."
FR3 Manager, Customer Services \A contact us page."
FR4 Manager, Reservations Team \A page that will present all the available rooms
for a speci c range of dates."
FR5 Reservations Team</p>
        <p>\A page for presenting the restaurant."
that, for the \FR5" requirement, the client ends up with the drawing shown in
Fig. 3(a). The business analyst starts annotating these concepts. In the interest
of a more clear presentation, the business analyst annotations for each element
are shown in square brackets. In reality, the types are given using the Properties
window of each element (Fig. 1). In this example, all the distinct HTML elements
that the client uses are annotated as subclasses of the \HTML Element" class
that this company uses as to identify them in the development process. This is
done by using the \&gt;" symbol which is used to denote the extension relationship.
For instance, the Type property of the drawing that the client referred to as an
image is set to \Image &gt; HTML Element". These names given to the types are
conventions, used to let the elements be accessed by a model management suite.
It could be anything that ts the model-driven processes used in each company.
(a) The FR5 requirement
drawing</p>
        <p>(b) The FR4 requirement drawing</p>
        <p>Non-functional requirements, business behaviour and work ows that can't
be described using drawings can be typed in natural language. The business
analysts can then either translate this into a drawing based on their experience
or can simply attach bits of these requirements written in natural language to
parts of the drawing that it is related to. For example, assume that the client
needs to express the following requirement: \When the button is clicked, all the
available rooms between the check-in and check-out dates should be shown in
the results list.". This is part of the FR4 requirement shown in Fig. 3(b). The
work ow that cannot be drawn is expressed using plain text inside the hexagons
(see Fig. 3(b)) and can then be linked with the button that the client talks
about, the check-in/out input elds and the results list that the client refers to.</p>
        <p>The client continues drawing his understanding of the desired web
application. As soon as the client has nished developers can then prepare model
management programs or re-use those they have written in the past (step 3).
These programs can be executed against the annotated drawings (step 4) using
the technical facilities of the Muddles approach, to produce di erent artefacts
that are interested in like pieces of code, test cases, textual contracts, and many
others (step 5). Such examples are presented in the Section 5.</p>
        <p>The same process could, in principle, be supported with a more traditional
editor based on a xed metamodel (e.g., derived using EMF/GMF). An
advantage of using a exible model is that it doesn't restrict clients in expressing
concepts that the developers hadn't considered about when creating the
metamodel. In other words, it allows clients to directly formulate the language of
discourse without being restricted by a prede ned set of constructs produced by
non-experts. In addition, the drawing editor is a tool that even non-technical
stakeholder arguably are able to use with no extensive training.</p>
        <p>A rst disadvantage of using exible modelling is that it is error-prone. For
instance, typos in the de nition of the type of an element will create a new
type. Secondly, there is a possibility of leaving untyped nodes which will left out
from the model management processes. The above risks can be tackled by using
validation rules. For instance, one could write a re-usable post-processor that
calculates distance/similarity metrics for the Types. If the value for two Types
is above a speci c threshold it alerts the modellers for possible errors. Work in
this direction is being carried out.
5</p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>Application Scenarios</title>
      <p>
        As discussed in the previous section, the annotated drawing can be consumed by
programs expressed in model management languages of the Epsilon platform [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ].
In this section we present some examples on how the drawings can be used to
support di erent phases and aspects of the software development lifecycle.
5.1
      </p>
      <sec id="sec-5-1">
        <title>Validation</title>
        <p>It would be of interest to check if important rules/constraints of the domain
are being met. For example, in the web domain, all the \Link" edges must have
exactly one source and one target element. Conformance to such rules can be
achieved by applying model validation to the drawing. In our scenario we use
the Epsilon Validation Language (EVL), to validate that the above constraint
(see Listing 1.1). The \source" and \target" keywords used in the code are the
names the modellers provided in the Source and Target elements of the \Link"
properties (see Fig. 1). Similarly, the keyword \linksTo" is the identi er of the
\Role in source" property (see Fig. 1). The EVL statements, can be run against
the drawings, are written once and can be re-used for all the projects.
context
constrLaiinnkt fSourceAndTargetExist f
gmchueeascrsdkagsei::z e(:s es&gt;el="fl Lf.1i.isn)lTiknykpesedTOgoefs(. Lsosinuhkrocu)elPd aghea v.ea l le x.saicztel y==one1) saonudrce( sneol dfe. liannkdsTaot . tleaargsettPoangee . a l l .</p>
        <p>t a r g e t node"
g
g</p>
        <p>Listing 1.1. Example of EVL rule for validating the Link edges.
5.2</p>
      </sec>
      <sec id="sec-5-2">
        <title>Next Release Problem</title>
        <p>
          The Next Release Problem (NRP) is a multi-objective optimisation problem.
The best set of requirements that should be implemented into the next
software release, staying within the budget, is calculated. Burton et al. [
          <xref ref-type="bibr" rid="ref18">18</xref>
          ] o er
a tool, as part of the Capability Acquisition Technique with Multi-Objective
Search (CATMOS) methodology, that uses genetic algorithms and Pareto fronts
to identify the optimal solutions calculating the possible trade-o s between the
requirements of di erent stakeholders. The optimal solutions are visualised based
on the total cost and total satisfaction they o er. Details on how the CATMOS
suite works to nd the optimal solutions are beyond the scope of this paper.
        </p>
        <p>
          In this section we demonstrate the automatic transformation of the stored
requirements into code that can be consumed by the CATMOS capability
acquisition suite in [
          <xref ref-type="bibr" rid="ref18">18</xref>
          ] to solve the Next Release Problem.
        </p>
        <p>Based on the scenario presented above, the developers just need to add and
annotate two new types on the drawing. The rst one is of type \Cost" (see
Fig. 3) and de nes the estimated cost to implement each component. The
second is a \Dependency" edge and shows the dependency between two or more
requirements. The drawing is now ready to be consumed by a model-to-text
transformation expressed in the Epsilon Generation Language (EGL) and
automatically generate the code needed to run the CATMOS tool. The EGL script
is written once and can be then re-used.</p>
        <p>2400  1 
22020000   5 
1800 
1600 
irceP111 240860000000000      3  0  4  2 
400 
200 
0  0  0.1  0.2  0.3  0.4  Sa)s0fa.5c )on  0.6  0.7  0.8  0.9  1 
(a) The optimal solutions (b) The solution #2</p>
        <p>Fig. 4. The results of the CATMOS suite</p>
        <p>The results of running the CATMOS are shown in Fig. 4. Fig. 4(a) shows all
the possible optimal solutions for di erent budgets. The horizontal axis presents
the total satisfaction that each solution o ers, while the vertical represents, the
cost of implementing each solution. Based on the budget, clients can pick the
most appropriate solution knowing that this set of requirements is the optimal
for the amount of money they want to spent. An example is given in Fig. 4(b). In
this solution, the client can have the FR2 (Home Page), FR3 (Contact Us) and
FR5 (Restaurant Presentation) requirements developed, which is the optimal set
of requirements for a budget of 1100 units of money.
Code and test cases can be generated from the drawings. In this scenario, we use
EGL to generate code for the structural and navigational parts of the described
application. Code that implements the behavioural requirements (work ows) is
not generated, yet. Plans for this process are presented in Section 6. In addition
to that, we generate Selenium-Webdriver7 test cases directly from the speci
cation for the structural and navigational aspect of the application. The test cases
can be used as primary artefacts for a Test-Driven Development approach where
the developers create the structure and navigation from scratch.
6</p>
      </sec>
    </sec>
    <sec id="sec-6">
      <title>Conclusions and Future Work</title>
      <p>We presented a method that can be used to elicit and store requirements of
applications. The method allows non-technical stakeholders to `draw' the
requirements with no previous training o ering a low entry barrier for industrial use. It
o ers a exible structure level to the requirements document (from completely
un-structured to highly structured) without restricting the types of requirements
that can be expressed. Finally, it can be used as a starting point for a number of
MDE methodologies like code and test cases generation suites. It is highlighted
though, that this approach could be bene cial in domains where the graphical
representation of requirements adds value. In contrast, in domains where
textual representations are more appropriate, the drawing overhead of the approach
should be taken into account.</p>
      <p>In the future, we aim to connect using M2M transformations, the
requirements drawn using FlexRE with other MDE suites like WebRatio, which can
perform full code generation.</p>
    </sec>
    <sec id="sec-7">
      <title>Acknowledgments</title>
      <p>This work was carried out in cooperation with Digital Lightspeed Solutions
Ltd, and was supported by the EPSRC through the LSCITS initiative and part
supported by the EU, through the MONDO FP7 STREP project (#611125).
7 http://docs.seleniumhq.org/projects/webdriver/</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Domberger</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hall</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Li</surname>
            ,
            <given-names>E.A.L.</given-names>
          </string-name>
          :
          <article-title>The determinants of price and quality in competitively tendered contracts</article-title>
          .
          <source>The Economic Journal</source>
          (
          <year>1995</year>
          )
          <volume>1454</volume>
          {
          <fpage>1470</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Abbott</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          :
          <article-title>Requirements set the mark</article-title>
          .
          <source>Infoworld</source>
          (
          <year>2001</year>
          )
          <volume>45</volume>
          {
          <fpage>46</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Epner</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Poor project management number-one problem of outsourced eprojects</article-title>
          .
          <source>Research Briefs, Cutter Consortium</source>
          <volume>7</volume>
          (
          <year>2000</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Lowe</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          :
          <article-title>Web system requirements: an overview</article-title>
          .
          <source>Requirements Engineering</source>
          <volume>8</volume>
          (
          <issue>2</issue>
          ) (
          <year>2003</year>
          )
          <volume>102</volume>
          {
          <fpage>113</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Brandes</surname>
            ,
            <given-names>U.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Eiglsperger</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Herman</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Himsolt</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Marshall</surname>
            ,
            <given-names>M.S.:</given-names>
          </string-name>
          <article-title>Graphml progress report structural layer proposal</article-title>
          .
          <source>In: Graph Drawing</source>
          , Springer (
          <year>2002</year>
          )
          <volume>501</volume>
          {
          <fpage>512</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Kolovos</surname>
            ,
            <given-names>D.S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Matragkas</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rodr</surname>
            <given-names>guez</given-names>
          </string-name>
          , H.H.,
          <string-name>
            <surname>Paige</surname>
            ,
            <given-names>R.F.</given-names>
          </string-name>
          :
          <article-title>Programmatic muddle management</article-title>
          .
          <source>XM</source>
          <year>2013</year>
          {Extreme Modeling Workshop (
          <year>2013</year>
          )
          <fpage>2</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Fernandes</surname>
            ,
            <given-names>K.J.:</given-names>
          </string-name>
          <article-title>Interactive situation modelling in knowledge-intensive domains</article-title>
          .
          <source>International Journal of Business Information Systems</source>
          <volume>4</volume>
          (
          <issue>1</issue>
          ) (
          <year>2009</year>
          )
          <volume>25</volume>
          {
          <fpage>46</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Ceri</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Fraternali</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bongio</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Web Modeling Language (WebML): a modeling language for designing web sites</article-title>
          .
          <source>Computer Networks</source>
          <volume>33</volume>
          (
          <issue>1</issue>
          ) (
          <year>2000</year>
          )
          <volume>137</volume>
          {
          <fpage>157</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Ossher</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bellamy</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Simmonds</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Amid</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Anaby-Tavor</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Callery</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Desmond</surname>
          </string-name>
          , M.,
          <string-name>
            <surname>de Vries</surname>
            , J., Fisher,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Krasikov</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          :
          <article-title>Flexible modeling tools for pre-requirements analysis: conceptual architecture and research challenges</article-title>
          .
          <source>ACM Sigplan Notices</source>
          <volume>45</volume>
          (
          <issue>10</issue>
          ) (
          <year>2010</year>
          )
          <volume>848</volume>
          {
          <fpage>864</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Kaindl</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Smialek</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Svetinovic</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ambroziewicz</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bojarski</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Nowakowski</surname>
            ,
            <given-names>W.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Straszak</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Schwarz</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bildhauer</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Brogan</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          , et al.:
          <string-name>
            <surname>Requirements Speci cation Language De nition:</surname>
          </string-name>
          <article-title>De ning the ReDSeeDS languages</article-title>
          . Institute of Computer Technology, Vienna University of Technology (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Escalona</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Koch</surname>
          </string-name>
          , N.:
          <article-title>Metamodeling the requirements of web systems</article-title>
          .
          <source>Web Information Systems and Technologies</source>
          (
          <year>2007</year>
          )
          <volume>267</volume>
          {
          <fpage>280</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12. Jose Escalona,
          <string-name>
            <given-names>M.</given-names>
            ,
            <surname>Aragon</surname>
          </string-name>
          , G.:
          <article-title>NDT. a model-driven approach for web requirements</article-title>
          .
          <source>Software Engineering</source>
          , IEEE Transactions on
          <volume>34</volume>
          (
          <article-title>3) (may-june</article-title>
          <year>2008</year>
          )
          <volume>377</volume>
          {
          <fpage>390</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Molina</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pardillo</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Toval</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Modelling web-based systems requirements using WRM</article-title>
          . In Hartmann, S.,
          <string-name>
            <surname>Zhou</surname>
            ,
            <given-names>X.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kirchberg</surname>
          </string-name>
          , M., eds.
          <source>: Web Information Systems Engineering WISE 2008 Workshops. Volume 5176 of Lecture Notes in Computer Science</source>
          . Springer Berlin / Heidelberg (
          <year>2008</year>
          )
          <volume>122</volume>
          {
          <fpage>131</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>Caine</surname>
            ,
            <given-names>S.H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gordon</surname>
            ,
            <given-names>E.K.</given-names>
          </string-name>
          :
          <article-title>PDL: a tool for software design</article-title>
          .
          <source>In: Proceedings of the May 19-22</source>
          ,
          <year>1975</year>
          , national computer conference and exposition.
          <source>AFIPS '75</source>
          , New York, NY, USA, ACM (
          <year>1975</year>
          )
          <volume>271</volume>
          {
          <fpage>276</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>Ross</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Schoman</surname>
            ,
            <given-names>K.E.</given-names>
          </string-name>
          , J.:
          <article-title>Structured analysis for requirements de nition</article-title>
          .
          <source>Software Engineering, IEEE Transactions on SE-3</source>
          (
          <issue>1</issue>
          )
          <article-title>(jan</article-title>
          .
          <year>1977</year>
          )
          <volume>6</volume>
          {
          <fpage>15</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <surname>Sommerville</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          :
          <source>Software Engineering. 6th Edition</source>
          . Addison Wesley Publishing Company Inc, Essex, England (
          <year>2001</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <surname>Paige</surname>
            ,
            <given-names>R.F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kolovos</surname>
            ,
            <given-names>D.S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rose</surname>
            ,
            <given-names>L.M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Drivalos</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Polack</surname>
            ,
            <given-names>F.A.</given-names>
          </string-name>
          :
          <article-title>The design of a conceptual framework and technical infrastructure for model management language engineering</article-title>
          . In: Engineering of Complex Computer Systems,
          <year>2009</year>
          14th IEEE International Conference on,
          <source>IEEE</source>
          (
          <year>2009</year>
          )
          <volume>162</volume>
          {
          <fpage>171</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18.
          <string-name>
            <surname>Burton</surname>
            ,
            <given-names>F.R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Paige</surname>
            ,
            <given-names>R.F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rose</surname>
            ,
            <given-names>L.M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kolovos</surname>
            ,
            <given-names>D.S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Poulding</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Smith</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          :
          <article-title>Solving acquisition problems using model-driven engineering</article-title>
          .
          <source>In: Modelling Foundations and Applications</source>
          . Springer (
          <year>2012</year>
          )
          <volume>428</volume>
          {
          <fpage>443</fpage>
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>