<!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>Representation of Method Fragments: A Domain Engineering Approach</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Iris Reinhartz-Berger</string-name>
          <email>iris@mis.haifa.ac.il</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Anat Aharoni</string-name>
          <email>anatah@mis.haifa.ac.il</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Department of Management Information Systems, University of Haifa</institution>
          ,
          <addr-line>Haifa 31905</addr-line>
          ,
          <country country="IL">Israel</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>Abstract. The discipline of situational method engineering (SME) promotes the idea of retrieving, adapting, and tailoring fragments, rather than complete methodologies, to specific situations. In order to succeed in creating good methodologies that best suit given situations, fragment representation and cataloguing are very important activities. We introduce a visual SME approach, whose roots are in domain engineering. This approach relies on the Application-based DOmain Modeling (ADOM) approach, which provides a framework for representing both applications and domains and validating them each against the other. Furthermore, the proposed ADOM-based approach aims at supporting all the SME-related activities, while in this paper we focus only on its fragment representation and cataloguing parts. The main advantages of the approach are its expressiveness, its support for specifying, constraining, and validating fragments and fragment types, its situational cataloguing abilities, and its accessibility to both software and method engineers.</p>
      </abstract>
      <kwd-group>
        <kwd>Method Engineering</kwd>
        <kwd>Situational Method Engineering</kwd>
        <kwd>Metamodeling</kwd>
        <kwd>UML</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1 Introduction</title>
      <p>
        A development methodology provides a collection of procedures, techniques, tools,
and documentation aids for helping developers in their efforts to implement a system
correctly, on time, and within budget [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. Although sticking to an individual
methodology has potential advantages, such as reducing learning and training times
and improving the expertise of developers in the chosen methodology, there is no
single methodology that can be uniquely pointed as “the best". Hence, different types
of "local" adaptations and modifications have to be made in order to adjust a
methodology to the specific requirements and constraints of a project. Two areas have
emerged for creating and maintaining methodologies: method engineering [
        <xref ref-type="bibr" rid="ref18 ref2">2, 18</xref>
        ]
aims at providing effective solutions for building, improving, and supporting
evolution of development methodologies, while Situational Method Engineering
(SME) [
        <xref ref-type="bibr" rid="ref13 ref9">9, 13</xref>
        ] mainly deals with customizing and tailoring methodologies to a
specific situation (case). These approaches refer to fragments, the building blocks of
methodologies, rather than to complete methodologies. They offer ways to represent
fragments, catalogue them according to different features, retrieve the most
appropriate ones, and customize and tailor them to complete methodologies. The
quality of fragment representation and cataloguing may significantly affect the quality
of the reusing and assembling processes and consequently the quality of the resultant
situational methodologies. Hence, these activities are essential and are the focus of
this paper, which presents a domain engineering-based approach that allows
expressing a large variety of fragments and fragment types, constraining the structure
and behavior of fragments, and specifying situational cataloguing information that
changes according to the fragment type. These are done using well-know modeling
languages and techniques, increasing its accessibility to various users and potentially
enhancing user involvement and commitment to the resultant situational
methodologies.
      </p>
      <p>The structure of the rest of the paper is as follows. Section 2 introduces and
exemplifies the approach, while Section 3 presents its supporting CASE tool. Section
4 analyzes the proposed fragment representation approach in the light of other
relevant works. Finally, Section 5 concludes and refers to future research plans.
2</p>
    </sec>
    <sec id="sec-2">
      <title>A domain</title>
      <p>
        representation
engineering-based
approach
for
fragment
The proposed domain-engineering approach is a holistic, visual approach for
managing, representing, retrieving, customizing, and tailoring method fragments in
order to create new methodologies that best suit a situation at hand. Its fragment
representation part provides the ability to express different types of methodologies
and their fragments, their associated characteristics and values, their pre- and
postconditions, and other fragment-related requirements, such as mandatory participants,
recommended (optional) participants, triggers, etc. We apply the Application-based
DOmain Modeling (ADOM) [
        <xref ref-type="bibr" rid="ref14 ref17">14, 17</xref>
        ] and the standard notation of UML 2.0 [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ] for
these purposes.
      </p>
      <p>
        As opposed to other domain engineering [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] and product line software engineering
[
        <xref ref-type="bibr" rid="ref12">12</xref>
        ] approaches, which are concerned with developing separate techniques and tools
for building reusable assets and components that fit to families of applications,
ADOM perceives that applications and domains are similar in many aspects, thus it
enables modeling domains with regular software engineering techniques. ADOM is
based on a three layered architecture: application, domain, and language. The
application layer consists of models of particular applications, including their
structure and behavior. The language layer includes meta-models of modeling
languages, such as UML. The intermediate domain layer consists of specifications of
various domains (i.e., application families). These specifications describe the
commonality as well as the variability allowed among applications in the domain. The
application models use domain models mainly for creation (instantiation, reuse) and
validation purposes.
      </p>
      <p>
        ADOM is a quite general architecture and can be applied to different modeling
languages, but when adopting ADOM with a specific modeling language, this
language is used for both application and domain layers, easing the task of application
validation by employing the same constructs in both application and domain layers.
ADOM-UML, in which ADOM is used in combination with UML 2.0 [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ], was
chosen in the context of this research due to the familiarity and establishment of UML
in the software engineering area. Section 2.1 briefly reviews the principles of
ADOMUML, more elaborated in [
        <xref ref-type="bibr" rid="ref14 ref17">14, 17</xref>
        ], while the rest of the section focuses on its
applicability for representing, cataloguing, and tailoring method fragments.
2.1
      </p>
      <sec id="sec-2-1">
        <title>ADOM-UML</title>
        <p>In ADOM-UML, UML stereotypes are used both for classifying application elements
according to their relevant domain elements and for specifying the allowed variability
among applications in the domain.</p>
        <p>In the language layer, a new &lt;&lt;multiplicity&gt;&gt; stereotype is defined in order to
represent how many times a model element of this type can appear in a specific
context. This stereotype has two associated tagged values, min and max, which
respectively define the lowest and upper most multiplicity boundaries. For clarity
purposes, four commonly used multiplicity groups are defined on top of this
stereotype, as summaries in Table 1.
&lt;&lt;mandatory</p>
        <p>many&gt;&gt;
&lt;&lt;mandatory</p>
        <p>
          single&gt;&gt;
In the domain layer, the main concepts of the domain and the relations among them
are specified using UML. The allowed variability within the domain is also specified
in this layer by attaching multiplicity stereotypes to the various domain concepts and
by employing the Object Constraint Language (OCL) [
          <xref ref-type="bibr" rid="ref10">10</xref>
          ] (e.g., "or" constraints can
be used to denote variations and "exclusive or" constraints can be used to denote
alternatives).
        </p>
        <p>In the application layer, the stereotype mechanism is used in order to classify the
application elements according to the pre-defined domain elements. The classified
application elements are required to fulfill the constraints induced by their classifying
domain elements at the domain layer. In addition, the ADOM approach allows adding
to application models non-classified elements which are specific to the application at
hand and, hence, do not appear in the domain model. These additions are allowed as
long as they do not violate the domain constraints.
2.2</p>
      </sec>
      <sec id="sec-2-2">
        <title>Representing and cataloguing fragments in ADOM-UML</title>
        <p>
          The structure and guidelines of fragments are described within the domain layer of
ADOM, while their instantiations, which specify particular situational methodologies,
are defined in the application layer. In these two layers, structural methodological
parts, terms product fragments, are described by UML class diagrams, while
behavioral methodological parts, termed process fragments, are described by UML
activity diagrams. Furthermore, the different features that characterize each fragment
are represented and associated to the fragment models as UML templates, which are
parameterized elements that can be used to generate other model elements using
binding relationships. The exact lists of features that characterize the different types
of fragments can be derived from works that have been done in the area of SME, such
as [
          <xref ref-type="bibr" rid="ref7 ref8">7, 8</xref>
          ], and from practitioners.
Figures 1 and 2 respectively exemplify process and product fragments taken from the
Rational Unified Process (RUP) [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ]. Figure 1 describes the "extracting requirements"
workflow, including its optional inputs, required participants, expected deliverables,
skeletal steps and flow of control. Figure 2 specifies a "requirement document", which
is a special type of product fragments, called artifacts, constraining its general
structure and possible (allowed) variability. A requirement document, for example,
may relate to several business models and business domain glossaries, which are also
artifacts. Note that although constrained, ADOM in general and ADOM-UML in
particular allows additional organization-specific features (e.g., attributes or relations)
in the requirement classes as long as they do not violate the domain constraints.
Figure 2 also specifies the situations in which the usage of requirement documents is
desirable: the project life cycle is at least one year, the project size is at least two sub
systems, and the flexibility to change is low. As the relevant feature list may become
very long, the approach enables specifying the cataloguing information in a separate
XML file. However, due to space limitations, we will not elaborate on this option
here.
        </p>
        <p>All the stereotypes that are used in these diagrams, except from the multiplicity
stereotypes taken from ADOM's language layer, are meaningful concepts in the
method engineering area in general and in SME in particular. Hence, they can be (and
are) generalized and constrained as more general domain models in ADOM-UML,
which capture the knowledge required for specifying particular method fragments in a
uniform way. Figure 3, for example, presents a partial model of an artifact. As can be
seen, this meta-model is in yet a more abstract level than the fragment models
depicted in Figures 1 and 2, allowing its usage for different kinds of artifacts, e.g.,
business models, domain glossaries, and requirement documents. Figure 2 uses the
stereotypes defined in Figure 3 and fulfills all the constraints imposed by this figure,
including the requirement document attributes and structural relations to other
concepts (classes).
2.3</p>
      </sec>
      <sec id="sec-2-3">
        <title>Tailoring methodologies in ADOM-UML</title>
        <p>
          For completeness, we will only demonstrate how the fragment representation and
cataloguing activities in ADOM-UML support the consecutive SME processes, or
more precisely the tailoring operation. The example shows a simple fragment
tailoring which is needed for creating a methodology that is suitable for the Obsert
Oglesby case [
          <xref ref-type="bibr" rid="ref16">16</xref>
          ].
Obsert Oglesby is an art dealer who requests an information system to assist him in
buying and selling paintings for his gallery. After consulting with an independent
consultant, Obsert decided to turn to a well-known development company to buy a
system which will enable him calculating the minimal and maximal prices of a
painting and will also serve in detecting new trends in the art market as soon as
possible. The development company which was chosen is familiar with the art world
and developed similar systems. It mainly works with XP [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ] for small projects which
need to be developed quickly in an environment of rapidly changing requirements and
with RUP [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ] for complex projects. Since Obsert's case does not completely fit to any
of these options, the development team decided to use suitable fragments from both
methodologies and to tailor them for the particular case. The process fragments which
were found as relevant to the early development stages of the requested system are
"extract requirements" and "build a business model" from RUP and "on-site
customer" from XP. These fragments were found by matching the characteristics of
the situation (Obsert's case) and his requests to the fragment characteristics. Figure 4
presents a part of the resultant (situational) methodology that tailors the three
retrieved process fragments. The "build a business model" and "extract requirements"
fragments are tailored one after the other due to the requirement document, which is
an optional input of "build a business model" and the outcome of "extract
requirements". The "on-site customer" fragment was tailored in parallel to the two
other fragments, due to the absence of common pre- and post-conditions between
them. This resultant methodology part belongs to the application layer of
ADOMUML and satisfies all the constraints imposed by the domain models of the
composing fragments. The "Obsert requirements elicitation" activity, for example, is
an "instantiation" of the "extract requirements" fragment that is detailed in Figure 1.
As such, it gets "Obsert Oglesby" as its both client and future user, the "analyst" as its
both team member and system analyst, and the "independent consultant report" as its
client initial information. It also outputs an "initial requirement comprehension"
object as its requirement document and a "settled connection contract" as its contract.
However, the internal structure and flow of this "Obsert requirements elicitation"
fragment is not shown in Figure 4, as it is irrelevant for tailoring.
        </p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>The supporting CASE tool</title>
      <p>Our approach is planned to be accompanied with a CASE tool for managing the
aforementioned activities. Figure 5 is an initial design of the main user interface of
this tool. The upper part of the interface gets from the user the situation he/she is
facing. It includes sections that refer to the project and organization characteristics, as
well as a section for additional constraints, such as the type of methodologies from
which the retrieved fragments can be taken. The characteristics list will be
dynamically modified, depending on the selected fragment type and previous
selections of the user. In the lower left part of the interface, the relevant retrieved
fragments are presented. Each fragment is accompanied with a number between 0 and
1 which reflects the distance between the retrieved fragment and the given situation in
terms of their exhibited characteristics.</p>
      <p>The user will be able to view the different fragments and their characteristics and to
select the most appropriate ones. The tool includes a user-friendly editor which
basically allows operations supported by UML activity and class diagrams for
defining and representing the fragments and their characteristics. It will also support
customization and tailoring operations in the context of the new situational
methodologies.</p>
    </sec>
    <sec id="sec-4">
      <title>Analyzing the proposed ADOM-based approach</title>
      <p>
        The ADOM-based approach represents both process and product fragments in
different granularity levels. The abilities to zoom into activities and to decompose
classes in UML are employed in order to specify particular fragments to the required
level of details without losing the "big picture" of the fragment as a whole. Weerd et
al [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ] have already proposed class and activity diagrams for supporting web-based
content management system development. However, our approach refers also to
fragment types, such as artifacts and workflow fragments, and allows representing
them in domain models that capture the relevant knowledge and formally constrain
the creation of specific fragments of those types. The particular fragments are
required to fulfill the constraints imposed by the relevant fragment types.
Furthermore, the usage of fragment types may help integrate, tailor, customize, and
assemble particular fragments in a more correct and convenient way.
      </p>
      <p>
        The separation of fragments into different specifications enables using the same
fragment in several contexts, while preserving autonomy of each part. Works which
tightly connect product and process fragments into chunks (e.g., [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ]) may fall short
in (re)using the same fragment in different contexts (e.g., a product that is used by
two processes).
      </p>
      <p>
        In oppose to other works in the area, such as [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] that does not clarify at all
(empirically or in other ways) which fragments are suitable and useful for specific
situations, the ADOM-based approach supports comprehensive and dynamic
definition of organizational, human-related, and project-related characteristics that
may be used latter for retrieving and assembling the fragments. These characteristics
can be taken, for example, from the reuse frame suggested by [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] which aggregates
various works made on methodology aspects. However, since the lists of relevant
characteristics may vary between one fragment type to another, our approach allows
associating different characteristics to each fragment type, while a specific fragment
gets only the relevant characteristics according to its type. Other works in the area,
such as [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] and [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ], use static, pre-defined lists of characteristics that may be used for
all fragments, making the approaches concentrate on only few important
characteristics or reducing the ability to control and maintain these lists in the context
of a specific fragment.
      </p>
      <p>We chose to specifically use UML in our approach, although the approach can be
applied to other modeling languages as well, due to its accessibility to different types
of users, including software engineers and managers with technical background. This
way we hope to increase the probability of using the resultant situational
methodologies and to make the processes of learning and using the fragment
representation method easy.</p>
    </sec>
    <sec id="sec-5">
      <title>Conclusions and future work</title>
      <p>As there is no (and probably will not be) a single universally applicable methodology,
the importance of SME in general and fragment representation approaches in
particular has been increased. We introduced an ADOM-based approach, whose roots
are in domain engineering, in order to overcome on some of the main drawbacks of
existing fragment representation approaches. In particular, the suggested approach
helps identify a wide variety of fragments and fragment types in a uniform way; it
supports comprehensive and dynamic definition of cataloguing characteristics; it
guides and validates the creation of different types of fragments; and it is accessible to
different potential stakeholders, such as software engineers, and not just to method
engineers.</p>
      <p>As for the future, we plan to define evaluation criteria for all SME activities, specify
how the ADOM-based approach supports them in a semi-automatic manner, and
compare it to other method engineering and SME approaches. We will also
completely develop the supporting CASE tool and examine its usage in industrial
companies.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Avison</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Fitzgerald</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          <article-title>Information systems development: Methodologies, Technique and Tools</article-title>
          .
          <source>Second Edition</source>
          , Higher Education,
          <year>2002</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Brinkkemper</surname>
          </string-name>
          , S. Method Engineering:
          <article-title>Engineering of information systems development methods and tools</article-title>
          .
          <source>Information and Software Technology</source>
          ,
          <volume>38</volume>
          (
          <issue>4</issue>
          ), pp.
          <fpage>275</fpage>
          -
          <lpage>280</lpage>
          ,
          <year>1996</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Brinkkemper</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Saeki</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Harmsen</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          <article-title>Assembly techniques for method engineering</article-title>
          ,
          <source>CAiSE'98, Lecture Notes in Computer Science 1413</source>
          , pp.
          <fpage>381</fpage>
          -
          <lpage>400</lpage>
          ,
          <year>1998</year>
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4. Carnegie Mellon Software Engineering Institute. Domain Engineering:
          <string-name>
            <given-names>A</given-names>
            <surname>Model-Based</surname>
          </string-name>
          <string-name>
            <surname>Approach</surname>
          </string-name>
          , http://www.sei.cmu.edu/domain-engineering,
          <year>2002</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <given-names>Extreme</given-names>
            <surname>Programming Web Site</surname>
          </string-name>
          , http://www.extremeprogramming.org,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <given-names>IBM</given-names>
            <surname>Web</surname>
          </string-name>
          <string-name>
            <surname>Site</surname>
          </string-name>
          , Rational Unified Process, http://www-306.ibm.com/software/awdtools/rup/,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Mirbel</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          <article-title>Rethinking ISD methods: Fitting project team members profiles</article-title>
          .
          <source>I3S technical report I3S/RR-2004-13-FR</source>
          ,
          <year>2004</year>
          . Available from http://www.i3s.unice.fr/~mirbel/publis/im-isd-
          <volume>04</volume>
          .pdf,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Mirbel</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          ,
          <article-title>Method chunk federation</article-title>
          . Available at http://www.i3s.unice.fr/~mh/RR/2006/RR-06.
          <fpage>04</fpage>
          -I.MIRBEL.pdf,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Mirbel</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ralyté</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          <article-title>Situational method engineering: combining assembly-based and roadmap-driven approaches</article-title>
          .
          <source>Requirements Engineering</source>
          <volume>11</volume>
          (
          <issue>1</issue>
          ), pp.
          <fpage>58</fpage>
          -
          <lpage>78</lpage>
          ,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>OMG</surname>
          </string-name>
          ,
          <article-title>"Object Constraint Language"</article-title>
          ,
          <source>Version 2.0</source>
          ,
          <year>2005</year>
          , http://www.omg.org/docs/formal/06-05-01.pdf.
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>OMG</surname>
          </string-name>
          ,
          <article-title>"Unified Modeling Language: Superstructure"</article-title>
          ,
          <source>Version 2.0</source>
          ,
          <year>2005</year>
          , http://www.omg.org/docs/formal/05-07-04.pdf
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Pohl</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Böckle</surname>
          </string-name>
          , G. and
          <string-name>
            <surname>van der Linden</surname>
            ,
            <given-names>F. J.</given-names>
          </string-name>
          <string-name>
            <surname>Software Product</surname>
          </string-name>
          Line Engineering: Foundations,
          <source>Principles and Techniques. Springer. 1st Edition</source>
          ,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Ralyté</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Deneckere</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rolland</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <article-title>Towards a generic model for situational method engineering</article-title>
          ,
          <source>CAiSE</source>
          <year>2003</year>
          , LNCS 2681, Springer, pp.
          <fpage>95</fpage>
          -
          <lpage>110</lpage>
          ,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>Reinhartz-Berger</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sturm</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          <article-title>Behavioral Domain Analysis - The Application-based Domain Modeling Approach</article-title>
          , UML'
          <year>2004</year>
          , LNCS 3273, Springer, pp.
          <fpage>410</fpage>
          -
          <lpage>424</lpage>
          ,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>Rolland</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Plihon</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ralyté</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <article-title>Specifying the reuse context of scenario method chunks</article-title>
          ,
          <source>Proceedings of the 10th International Conference on Advanced Information Systems Engineering (CAiSE'98)</source>
          ,
          <source>LNCS 1413</source>
          , Springer, pp.
          <fpage>191</fpage>
          ,
          <year>1998</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <surname>Schach</surname>
            ,
            <given-names>S. R.</given-names>
          </string-name>
          <string-name>
            <surname>An</surname>
          </string-name>
          <article-title>Introduction to Object-Oriented Analysis and Design with UML and the Unified Process</article-title>
          .
          <source>McGraw-Hill/Irwin</source>
          , pp.
          <fpage>56</fpage>
          ,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <surname>Sturm</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Reinhartz-Berger</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          ,
          <article-title>Applying the Application-based Domain Modeling Approach to UML Structural Views</article-title>
          , ER'
          <year>2004</year>
          , LNCS 3288, Springer, pp.
          <fpage>766</fpage>
          -
          <lpage>779</lpage>
          ,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18.
          <string-name>
            <surname>Tolvanen</surname>
            ,
            <given-names>J. P.</given-names>
          </string-name>
          <string-name>
            <surname>Incremental Method</surname>
          </string-name>
          <article-title>Engineering with Modeling Tools: Theoretical Principles and Empirical Evidence</article-title>
          . Available at http://www.cs.jyu.fi/~jpt/doc/thesis/ime.html,
          <year>1998</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          19.
          <string-name>
            <surname>Weerd</surname>
            ,
            <given-names>I</given-names>
          </string-name>
          , Brinkkemper,
          <string-name>
            <given-names>S.</given-names>
            ,
            <surname>Souer</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            ,
            <surname>Versendaal</surname>
          </string-name>
          ,
          <string-name>
            <surname>J.</surname>
          </string-name>
          <article-title>A situational implementation method for web-based content management system-application: method engineering and validation in practice</article-title>
          .
          <source>Software process: improvement and practice 11</source>
          <volume>(5)</volume>
          :
          <fpage>521</fpage>
          -
          <lpage>538</lpage>
          ,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>