A metamodelling-based approach for method fragment
comparison
Massimo Cossentino1, Salvatore Gaglio1,2, Brian Henderson-Sellers3 and Valeria
Seidita2
1
Istituto di Calcolo delle Reti ad Alte Prestazioni, Consiglio Nazionale delle Ricerche,
Palermo, Italy
[email protected]
2 Dipartimento di Ingegneria Informatica – University of Palermo, Italy
[email protected],
[email protected]
3 Department of Software Engineering, Faculty of Information Technology
University of Technology, Sydney, Australia
[email protected]
Abstract. Several different approaches to Situational Method Engineering
exist. They differ in terms of the primary element of the paradigm: the method
fragment definition. Here, we introduce four method fragment definitions from
the literature and compare their metamodels according to structural and
functional criteria. The structural comparison showed a general alignment of
some concepts that are sometimes referred with different names while the study
of the compositional aspects results in evidence of substantial differences.
Keywords: Metamodelling; method engineering
1 Introduction
Method Engineering, and in particular Situational Method Engineering (SME)
[1][12][13], is based on the assumption that one development process cannot fit all
the existing problems and development contexts [4]. Rather, it allows the construction
of a specific process to meet the requirements of each particular situation by reusing
and assembling parts of existing methodologies (here used as a synonym for software
development process, SDP) called Method Fragments [12]. Many researchers have
adopted this approach for the construction of ad hoc solutions [1][6][16].
Applying the SME paradigm consists of executing the following phases:
identification, storage in a Methodbase, selection and retrieval, and assembling of
method fragments. In this process, a specific stakeholder, called the method engineer,
is responsible for building the repository of fragments (methodbase) after having
identified and extracted the pieces from existing methodologies [19] or having
generated them from a metamodel [14]; after that he/she (or another method engineer)
can select and assemble the proper fragments in order to create the new SDP.
The creation of the fragment repository, consisting of a number of adequately
described fragments, is of fundamental importance in this process; thus in this paper
we will consider SME aspects regarding the identification, description and
representation of fragments in the repository. A method fragment may often be
identified through a re-engineering process of existing methods possibly represented
through a metamodel; the metamodel itself can be useful for identifying fragments
from existing methods. In this context, a metalevel representation is very important. It
is generally used to specify the concepts and relationships that define a SDP; since a
method fragment is a part of a SDP, it can consequently be described by a
metamodel.
Here we present three of the most representative fragment metamodels found in
literature plus a proposal coming from a standardization organization in the agentoriented context. For each, we describe the main constituent elements and how they
are represented in the repository (section 2), then make a comparison (section 3) in
order to highlight their commonalities and main differences. While common elements
are used to sketch a simple model that can be seen as the common denominator of all
of them, differences will be studied, in a future work, in order to verify whether they
facilitate significant changes in the results of the following phases of SME (selection
of fragments, retrieval from the repository and assembling of a new SDP).
Such comparative knowledge will then permit not only the likely convergence of
these approaches, but also highlight various future research issues, such as a detailed
study of the optimal granularity for method fragments.
2 Existing Fragments
A metamodel deals with all the different aspects of a method. Consequently, it has an
important role to play in the analysis of method features; we use these considerations
in this section to represent different method fragments from different authors:
Brinkkemper and colleagues [1-3,13]; Rolland, Ralyté and colleagues [19-22]; the
OPEN Process Framework work [6,14,15]; and the FIPA methodology group [17].
For each, we describe in the following four subsections the metamodel in terms of
concepts it contains in relation to the definition of a fragment from each author as
well as in terms of the elements indicating the fragment representation in the
methodbase.
[Note that in each approach, we have retained the original terminology; indeed,
comparison of such names provides one element of future ontological comparisons.]
2.1 Method Fragments (Brinkkemper et al.’s approach)
Method fragments[1][3] are coherent pieces of information systems development
methods; there are two kinds of method fragments: the product fragment and the
process fragment, the former concerns the structure of a process product, representing
deliverables, diagrams, table, models and milestone documents and it can be
composed of other product fragments. The latter kind of fragment models the
development process, describing the stages, activities and tasks to be performed to
produce a product fragment. It can be composed of other process fragments and may
have relationships with other process fragments. The metamodel used here to describe
the method fragment is an ERA diagram where the terms concept, association and
property are used in place of entity, relationship and attribute. Using this metamodel,
both process and product fragments can be readily represented.
Brinkkemper et al. [2] proposed an approach to method fragment metamodelling
based on three orthogonal dimensions: perspective, abstraction level and layer of
granularity. The perspective dimension takes into account the product and process
perspective on methods providing a view on the process (stages, activities and tasks)
and the product features (deliverables etc.). The abstraction level dimension
comprises the conceptual level, the technical level and the external level. In the
conceptual level, a method fragment is considered to be a description of the process
(or part of it); for instance, it can be the description of a specific phase or of a
particular diagram. The technical level represents the executable part of a fragment;
for example, specification of implementation, tools and repositories. The external
level provides multiple views on the same method from different project roles
(analyst, programmer and so on). One conceptual method fragment can be related to
several external and technical ones in the sense that external method fragments are
derived from conceptual method fragments, which are, in turn, supported by technical
method fragments.
2.2 Method Chunks (Rolland, Ralyté and colleagues’ approach)
Ralyté et al. [19][20][22] consider a method as composed of a collection of method
fragments, although they prefer to call it method chunk in order to highlight the
consistency and autonomy of this component. The method chunk integrates two
aspects of the method fragment, the product and the process, so it represents a portion
of process together with its related product(s). Guideline, situation and intention are
the basic elements of method chunks. They are represented in Fig. 1 where the
method chunk metamodel is represented using UML notation [22].
As above, we can consider this metamodel to be composed of two parts: the
process model and the product model. As can be seen, a method is composed of
chunks. Each chunk can be a simple chunk (atomic) or an aggregate of several; a
fundamental relationship of the chunk concept is to the guideline concept, such that
each chunk is represented by a guideline that the authors describe as ‘the element that
embodies the method knowledge to guide the engineer in achieving an intention in a
given situation’ [22]. A guideline is composed of an interface, describing the
condition of chunk applicability (situation), and a body, representing the set of
indications on how to proceed to achieve an objective (intention). The former
represents the chunk input while the latter is the goal that the chunk aims to achieve.
Both have a relationship with product, the situation (chunk input) being an aggregate
of products that is the target of the intention.
The body of a guideline can be described graphically or informally by using three
kinds of guideline: simple, tactical and strategic. A simple guideline describes in an
informal narrative form how to proceed to gain the target product. A tactical
guideline, following the NATURE process modelling formalism, proposes a tree of
context for producing a product. A strategic guideline gives a strategic view about
which intention can be achieved following another. The strategic guideline is the
most complex of the three guidelines. It is also called map, a map being a labelled
directed graph where each node is an intention and each edge between two intentions
represents the strategy to achieve that intention. Following a map, it is possible to
dynamically construct a process model [21].
Tactical
Guideline
Strategic
Guideline
Simple
Guideline
Intention
n
b elong to
Proces s
Model
1..n
1
1..n
has
Guideline
1
0..n
Interface
1
Situation
represented b y
has
Atomic
1
1
Method
Chunk
n
1
is b ased on 1
Aggregate
has
1..n
Product Model
1
Descriptor
1..n
Product Part
Reuse
Situation
Reuse Inention
1..n
target of
1..n
Fig. 1. The metamodel of the chunk (redrawn from [22])
The portion of the metamodel relating to the product aspect of the methodology is
composed of three elements: Product Model, Product Part and Guidelines (shared
with the Process Model portion). The cardinality of relationship between Method and
Product Model indicates that for each method there is at least one product. In
addition, in the metamodel the concept of guideline is related to the product part
explicitly, meaning that a guideline is also useful for producing the product as well as
suggesting the set of actions to perform in order to achieve an intention.
Another important element, in relationship to the guideline, is the descriptor,
which outlines the situation in which the chunk can be reused; it conceptually extends
the meaning of chunk interface, containing a set of attributes (ID, name, type,
application domain, etc.) useful for selection and retrieval of the chunk from the
repository.
2.3 OPF method fragments
The OPEN Process Framework [6][14] consists of a metamodel from which a large
number of method fragments are generated and stored in a repository together with a
set of construction guidelines that are considered to be parts of existing
methodologies used to construct new methodologies. The OPF metamodel is
composed of five main metaclasses [10][15]: Stages, Producers, Work Units, Work
Products and Languages (Fig. 2); when instantiated, each metaclass produces a
method fragment.
Guidelines
Stages
Provide macro
organization
Process
Components
WorkUnit
perform
create/evaluate/
iterate/mantain
Producers
WorkProduct
produce
Language
are documented
using
Fig. 2. OPF MetaModel (redrawn from [6])
Producers, Work Products and Work Units are the main metaclasses in the OPF;
they are the main elements (process components) of a development process.
Producers are responsible for Work Products. They can perform actions such as
creating, maintaining, iterating and evaluating on one or more Work Products;
Producers in OPF are organizations, teams, persons, tools and roles.
Work Products are things produced during the development process by Producers
performing a Work Unit. They are used as input for another Work Unit or delivered
to clients. Work Products are, for instance: documents, models and diagrams.
Work Units are functionally cohesive operations performed by Producers during
the development process. OPF distinguishes three main classes of Work Unit:
Activity, Tasks and Technique. Both Activity and Task describe what is to be done in
the development process but, whereas Activity represents a long term Work Unit of
certain duration and is composed of a set of tasks, a Task gives more detailed
information on the Work Unit being the smallest unit of work; Requirements
engineering and requirements elicitation are respectively examples of Activity and
Task in OPF. Technique represents the description of how a Task has to be
performed; for instance, referring to requirement elicitation, use case modelling can
be a technique to carry out this task.
Language is used to document a Work Product; for example, UML is the language
used to model a use case or an object model, an implementation language (such as
Java) specifies a code document and a natural language can be used for documents.
A Guideline helps method engineers both to instantiate the metamodel elements to
create method components and to choose the best method components (from the
method repository) in order to create the method itself; in addition, guidelines are
provided to select work products, producers and work units and to provide guidance
on how to allocate tasks and associated techniques to producers and how to group the
tasks into activities. Finally, stages (including phases and lifecycles), providing the
organization to the process in terms of duration or point in time (phase, build,
milestone and cycles), are chosen. This may be a Phase, a long stage occurring once
during a process, or a Build, a short stage repeated during the process lifecycle,
generally resulting in a system prototype.
The OPF metamodel, as currently being realigned with embryonic international
standards, can be divided into the two main parts that a methodology must include:
process and product. Process elements, as already described, are shown in Fig.3
together with their relationships while in Fig.4 Work Products elements are detailed.
WorkUnit
Stage
isPerformedIn
1
Build
Activity
Task
*
Technique
*
*
Phase
Fig. 3. WorkUnit (process) elements (redrawn from [11])
Fig.3 deals strictly with the process perspective – in summary, what is to be done,
when and how, through Work Unit and Stage; a Work Unit (what) can be an Activity
which is composed of several Tasks, the detailed execution of each being described
by a Technique (how), each Activity being performed during a Stage (when) and
classified depending on its duration and aim.
depicts
WorkProduct
*
*
*
uses
ModelUnit
*
*
Document
Model
*
*
*
1
WorkProductKind
1
ModelUnitKind
1
ModelKind
1
DocumentKind
*
include
uses
*
uses
1
Language
*
Notation
Fig. 4. Work Product elements (redrawn from [11]).
In Fig.4, the Work Product element is described in detail. It has two subtypes,
Model and Document. The former is the conceptual entity representing the object of
the development process, the latter is composed of texts, diagrams etc. Also, each
document represents a work product (the many-to-many association). Each Model
uses one or more ModelUnits that represent basic components of a Model, for
example a Class is a kind of ModelUnit to represent static concepts. There are many
kinds of ModelUnit represented by the one–to-many relationship between ModelUnit
and ModelUnit Kind, as well as between WorkProduct and WorkProductKind,
Document and DocumentKind and Model and ModelKind.
Each DocumentKind uses a particular Notation and each ModelKind uses a
Language that relates to groups of ModelUnitKinds concerning the same application
context; Notation and Language are two aspects of modelling language, in that they
share the same difference of syntax and semantic.
Instances of classes and sub-classes of these two metamodels are process
components that can be stored in the repository. The OPF repository already contains
a large number of components - there are about 30 predefined instances of Activity,
160 instances of Task, 200 instances of Techniques, and 76 instances of Role.
Applying the SME paradigm to the OPF repository consists of selecting
appropriate process components from the repository and combining them to form an
actual process within the methodology. This construction process depends on many
factors relevant to the particular organization developing the new process, including
CMM level of organization maturity, existing resources (people, tools, skills etc.).
2.4 FIPA method fragments
FIPA (Foundation for Intelligent Physical Agents) in late 2005 entered the IEEE
Computer Society Standards Committee with the mission of promoting agent-based
technology and the interoperability of agents with other technologies. It is actually
going through a re-organization phase that involves all of its previous activities,
working groups and technical committees (TC) in order to cope with the IEEE
structure. One of the technical committees of the old structure (now in the restructuring phase) was the Methodology TC whose scope was to define a proposal of
standardization for agent-oriented design methodologies that adopted the SME
paradigm. The definition of method fragment we report in this subsection is the result
of that committee work and has been adopted by its members in several papers
[5][7][8][9] although it is not (yet) part of the FIPA specification body.
The FIPA method fragment is based on the model of process description (the socalled process metamodel) shown in Fig. 5.
According to this metamodel (derived from the OMG Software Process
Engineering metamodel, SPEM [18]), a process is composed of a set of activities
performed by some active entities called Process Role whose task is to produce a
well-defined state of an Artifact; each Process Role is responsible for one or more
activities that produce/consume artifacts as output/input. According to this model, a
process is strongly oriented to the production of products. However, although not
intended nor likely to occur, it is possible for a role to be responsible for an artefact
that is created as an output of an activity yet for the role to have no association to that
activity 1 .
Starting from the previous description, the FIPA Methodology TC defined a
method fragment[17] as a reusable part of a design process composed of two
elements: the structure of the product (the artifact resulting from the developer
1
As pointed out by one of the anonymous reviewers.
activity) and the procedures necessary to construct the artifact, as illustrated by the
metamodel shown in Fig. 6
In order to analyse this metamodel we divide it in three areas, the first concerning
the description of the fragment in the sense of process (activities), process role and
work product, the second illustrating the conditions for fragment reusability and the
third describing the fragment as it is represented in the methodbase.
Performs
Activity
0..*
Role
1
0..*
0..*
1
Produces /
Consumes
IsResponsible
Artifact
0..*
Fig.5. Process description metamodel
Considering the first area, a fragment can be depicted as being composed of a
Process Description, that is the specification of what it is to be done and in what
order. It aggregates activities describing a piece of work performed by one Role
Actor (the performer of the described activity or even the assistant in the activity);
activity has an input and an output of MAS Model element type and an activity
product of Work Product type. A Work Product is everything produced, consumed or
modified by a fragment (for instance, a Text Document or a Diagram like a UML
diagram); a Work Product may be associated with a Role Actor responsible for its
production. The FIPA Methodology TC focuses on the identification of a
methodology for developing multi-agent systems so a fragment refers to a MAS
metamodel and its aim is to refine/define MAS MetaModel elements that are the
constituent part of Work Products.
The second area describes the elements required for fragment reusability and
assembly; a fragment includes a glossary and a list of terms that facilitate the
understanding of fragment concepts when applied to a context different from the one
from which it was extracted. The aspect is useful to detect the field of fragment
application, for instance a tool to be used to aid in the performance of an activity, a
specific platform for system implementation etc.. An aspect has the form of a textual
description. A method fragment has two kinds of guidance to indicate its own
purpose; guideline relates to the fragment as a portion of a process i.e. a set of rules
providing a detailed description on how to perform an activity, a composition
guideline describes the context from which it is extracted, indicating the reuse
possibility for the fragment.
The fragment dependency, in the third area, is the only element belonging to the
methodbase; it is composed of a list of dependee and dependant fragments useful for
composing different fragments. As noted above, the FIPA Methodology TC proposes
the use of SPEM as modelling language for the description of the process aspect of
fragments in the methodbase; in particular SPEM activity diagrams are used to
describe the activities to be done in creating a specific product and the role that is
involved and is used de facto to represent the core of FIPA fragment.
Several well known agent design methodologies (Adelfe, Gaia, PASSI, Tropos)
have been described usingthe FIPA Methodology TC’s approach and the fragments
extracted from all of them can be found in the working page of the Methodology TC 2 .
Fragments dependency
Guideline
Guard Condition
condition : String
Composition
Guideline
1
1
precondition
dependee
Constraint
1..*
Fragment
dependant
fragment_name : String
1..*
artifact_element
deliverable
M asM odelElementType
Glossary
Aspect
activity_product
title : String
file : URL
1
M ASM odel
Entity
M ASM odel
Relationship
Process
Description
1..*
Work Product
defines/refines
involved roles
Role Actor
0..*
ref
Activity Data
role_name : String
Text Document
template : URL
Diagram
Notation
adopted notation
activity _input
process activities
0..*
1..*
Activity
activity_output
activity _name : String
descrip tion : String
activity _role : Role Actor
guideline : String
p erforms
UM L Diagram
xmi_content : String
1..*
Fig. 6. The metamodel of the FIPA method fragment
3 Comparison
In this section, we present the result of a comparison between the different method
fragments on the basis of both a structural and (less rigorously) a functional
viewpoint. For the structural comparison, we examined the metamodel of the
fragment highlighting differences among elements and underpinning concepts. In
particular, we analyzed the kind of elements contained in each metamodel, whether
different elements (with different names) have the same meaning or whether the same
elements (with the same name in different metamodel) have a different meaning
(Table 1).
A Process is essentially composed of four principal elements: who does what, how
and when. These elements are reported in the rows of Table 1 while in the columns
the different method fragments are represented. We explicitly consider two different
aspects of fragment: the process and the product, consistent with the previous
discussion. With regard to the process, there is also a row relating to the reuse support
of the fragment itself, as offered by each specific approach.
As can easily be seen, while three metamodels specify the elements related to the
work to be performed (sometimes at different levels of details, for instance: Activity,
Tasks and Steps), only the method chunk metamodel does not present this element
because in its metamodel the chunk element itself represents the work to be
performed during the development process providing a detailed set of guidelines (the
2
http://www.pa.icar.cnr.it/cossentino/FIPAmeth/metamodel.htm
row How in the table). Input and output to the activities are described in different
ways: in the method chunk they are part of the chunk interface; in the FIPA fragment
they are instances of the MAS metamodel (represented through work products); in the
case of method fragment a work product is an input or output of each activity.
Similarly, in the OPF, Work Products are seen as input/output to Work Units, notably
Tasks.
Information on temporal distribution of the work is present only in the OPF
metamodel (the row When) whereas in the method chunk and in the FIPA fragment
this element is implicit in the description of the fragment itself in the repository in the
form of a graph, in the first case, and of a SPEM activity diagram, in the second one.
From our analysis we can point out that all of the fragments presented in this paper
are basically defined from the different authors in a similar way: they are meaningful
constituents or parts of a (software development) process which we defined at the
beginning of this section; the presence of a stakeholder element (who performs the
work) in only two of the metamodels highlights that only the two referring fragments
are really based on that process definition (OPF and FIPA fragment) while the other
two are limited to modelling the process and product aspects.
Another important point that the table highlights is that all the metamodels contain
one or more elements related to the possibility of reusing and assembling the
fragments in order to create a new process. Sometimes they use different names and
present different features; for instance in the method chunk we can find a Descriptor
element, which possesses attributes like ID, name, application domain and provides a
narrative description of chunk objectives; OPF and FIPA fragments respectively
present Guideline and CompositionGuideline. In addition, in the FIPA metamodel
there is a Glossary of terms and FragmentDependencies in the form of a SPEM
dependency diagram, which can be logically associated to the “relationships with
other fragments” of the method fragment metamodel.
With regard to Product aspects, the WorkProduct obviously is a central element in
all the four metamodels some of which also specify the modelling language.
Finally, as an example of elements sharing the same name but with different
meaning; Guideline is defined, in the method chunk and in the FIPA metamodels, as
something guiding a stakeholder to perform its work during the development process
while in the OPF metamodel this meaning is associated with the Technique element
whereas Guideline refers to the way of composing the fragments.
The second kind of comparison we carried out (the functional one) started from the
consideration that, in the situational method engineering context, a development
process is constructed by assembling method fragments extracted from a methodbase
in order to obtain the best process for a specific need/problem; thus the repository
creation becomes an important phase that cannot be neglected; each fragment stored
in the repository may be gleaned from existing development processes, through a
decomposition and reengineering process, or may be created from scratch.
The fragment extraction or fragment creation phases are guided by the particular
philosophy on concepts/elements one wants to represent through the fragment so we
now compare the presented metamodels with the aim of discovering which of their
features are essential to lead the engineer in the construction of method fragments; we
called this process functional comparison referring to the possibility of specifying an
element that characterizes a particular functionality of the fragment capable of
serving the purpose of creating a new process.
For instance, the Ralyté approach for the construction of a method chunk considers
both the process and the product aspects in the decomposition of an existing process;
in addition, she uses an ad hoc approach in creating new fragments focussing only on
some specific intention and specific situation [19]; the method fragment [1][13] uses
the same rationale - it can be inferred from the process construction rules presented in
[3], which allow us to say that a method fragment depends on the process or on the
product one wants to construct, that a product fragment should be produced by a
corresponding process fragment and principally that, since the method fragments are
hierarchically modelled and classified, the construction of a method at a particular
level implies its successive assembly with another one of the same level.
Table 1. The structural comparison of metamodels
Method
Fragment
What
Situation
(input),
Intention
(output)
Guideline,
Interface
How
Who
Product
FIPA Fragment
Activity
ActivityData
(input/output)
Technique
Guideline
Stage, Build,
Phase
When
Reusability
and
Assembly
OPF Fragment
Activity, Task
Stage,
Activity, Task
and Steps
Input/
output
Process
Method
Chunk
Relationship
with other
fragments
Descriptor
(ID, name,
type,
application
domain)
Deliverables,
Milestones
Documents,
models and
diagrams
ProductPart
Guideline
Producer
(directly,
undirectly)
Guideline
WorkProduct
Model
Document
ModellingLanguage
(Notation,
Language)
RoleActor
(Perform,Assist)
Glossary,
Aspect,
CompositionGuideline,
FragmentDependencies
WorkProduct
MMMElements
In the FIPA Methodology TC proposal, method fragment construction is Work
Product-oriented in the sense that a method engineer identifies the work product
he/she wants to deliver and then he/she extracts the portion of process dealing with it.
In this context, a method fragment is considered as being strictly linked to a product it must deliver a product. However, referring to the previous definition of this
fragment, an output is not necessarily a WorkProduct; the FIPA method fragment
stands at a work product level of granularity.
Actor
(Who does it )
Performs
Activity
(What is to be done)
Guides in
Guidance
(How to do)
Is input of
Produces
Artifact
(What is the result)
Is responsible for
Fig. 7. General metamodel summarizing the fundamental elements of the approaches studied
OPF fragments are constructed as an instance of metamodel concepts so they are
derived from existing processes or created from scratch considering one concept at a
time; in so doing the fragments are constructed at a relatively low level of granularity,
for example there are Task fragments, Technique fragments and Role fragments.
There is no element of the metamodel that principally leads to the method fragment
construction, they are created to populate a repository (= methodbase) from which
they are taken out to construct a process that is primarily WorkUnit oriented, the
WorkProduct being conceived as being created when a process is applied.
From these analyses, we can highlight that all the fragments share the same
rationale based on the definition of fragments themselves. They are portion of
processes underpinning a metamodel of concepts related to the principal elements of a
development process, the work to be done (Activity, WorkUnit, etc), the delivered
products, the stakeholders performing the work and the guidelines for the fragments
reusability and assembly. All the fragments may be composed from other fragments.
The conclusion of this study is that a kind of higher level metamodel could be
drawn that summarizes the different approaches and highlights their differences
(when it is not possible to reconcile them). This would probably include (see Fig. 7)
such general elements as the activity to be done, the guidance that can be applied, the
stakeholder/process role involved in doing it and the resulting artefact. Pre- and postconditions, composition features, notation languages and so on can be further added
in specializing the model towards the different analysed proposals.
4 Conclusions and future work
In this paper, we have compared four different approaches to the definition of the
fundamental brick of method engineering: the method fragment. Three of the
definitions we considered come from well known authors in the field and the last one
is from a standardization attempt that has been carried out within the FIPA
(Foundation for Intelligent Physical Agents) organization, now part of the Standards
Committee of the IEEE Computer Society.
After presenting the different definitions we compared them considering their
structure and their ‘functional’ aspects (with this we mean the attitude presented by
each contribution for a specific perspective in fragment extraction from an existing
methodology and the following composition process).
The results are quite interesting since despite a general similarity (similar concepts
are reported in almost all the definitions although sometimes with different names),
we identified several differences in the details. As a final contribution, we drew a
synthesis of all the approaches in the form of a simple model that unifies all the
common denominators of the different method fragments and that could be referred
as a central core for all of them.
These results provide knowledge and understanding of the various approaches
currently utilized for the definition and description of method chunks/fragments.
Without this knowledge, users of repositories based on the various fragment models
will not appreciate the differences and therefore how to use the repositories
effectively. This understanding also lays the groundwork for future merging of the
repositories so that industry will have an agreed “standard” (metamodel, terminology
and repository contents) thus facilitating interoperability of design support systems
(CAME/CASE tools) in the future (a topic of significant current interest [23].
This work is also one step in a more extensive research plan in which we aim to
compare the different fragments ‘at work’; this will consist in a comparison of the
actual results of an extraction process of fragments belonging to different definitions
from a closed set of existing methodologies. The resulting methodbase will then be
used with the aim of verifying whether fragments coming from different approaches
can be intermixed in a new methodology or if the differences in their initial
specification inhibit such interoperability.
References
1. Brinkkemper, S. Method engineering: engineering of information systems development
methods and tools. Information and Software Technology. 38(7) (1996) 275-280
2. Brinkkemper, S., Saeki, M. and Harmsen, F. Assembly techniques for method engineering.
Advanced Information Systems Engineering. Procs. 10th International Conference,
CAiSE'98, Springer-Verlag, LNCS1413 (eds. B. Pernici and C. Thanos) (1998) 381-400
3. Brinkkemper, S., Saeki, M. and Harmsen F. Metamodelling based assembly techniques for
situational method engineering. Information Systems, 24(3), (1999).209-228
4. Cockburn, A. Selecting a project’s methodology, IEEE Software, 17(4) (2000) 64-71
5. Cossentino, M. and Seidita, V. Composition of a new process to meet agile needs using
method engineering. Software Engineering for Large Multi-Agent Systems Vol. III. LNCS
Series, vol.3390. Springer-Verlag GmbH (2005)
6. Firesmith, D. and Henderson-Sellers, B. The OPEN Process Framework — An Introduction.
Addison-Wesley: Harlow, UK (2002)
7. Fortino, G., Garro, A. and Russo W. From modeling to simulation of multi-agent systems: an
integrated approach and a case study. In G. Lindemann, J. Denzinger, I.J. Timm, R. Unland
(eds.), Multiagent System Technologies, LNAI 3187, Springer-Verlag (2004) 213-227
8. Garro, A. and Palopoli, L. An XML multi-agent system for e-learning and skill management.
In Ryszard Kowalczyk, Jorg P. Muller, Huaglory Tianfield, Rainer Unland, editors, Agent
Technologies, Infrastructures, Tools, and Applications for E-Services , LNAI 2592,
Springer-Verlag (2003) 283-294
9. Garro, A., Terracina, G. and Ursino, D. A multi-agent system for supporting the prediction
of protein structures. Integrated Computer-Aided Engineering (ICAE), 11(3) IOS Press,
Amsterdam, The Netherlands (2004), 259-280
10. Gonzalez-Perez, C., McBride, T. and Henderson-Sellers, B. A metamodel for assessable
software development methodologies. Software Quality Journal, 13(2) (2005) 195-214
11. Gonzalez-Perez, C. and Henderson-Sellers, B. A powertype-based metamodelling
framework. Software & System Modeling. 4(4) (2005) 1–19
12. Harmsen A.F., Situational Method Engineering. Moret Ernst & Young (1997)
13. Harmsen A.F., Brinkkemper, S. and Oei, H. Situational method engineering for information
system projects. In Olle T.W. and A.A. Verrijn Stuart (Eds.), Methods and Associated Tools
for the Information Systems Life Cycle, Proc. of the IFIP WG8.1 Working Conference
CRIS'94, North-Holland, Amsterdam, (1994) 169-194
14. Henderson-Sellers, B. Process metamodelling and process construction: examples using
the OPEN Process Framework (OPF). Ann. Softw. Eng. 14(1-4) (2002) 341-362
15. Henderson-Sellers, B., Serour, M., McBride, T., Gonzalez-Perez, C. and Dagher, L.
Process construction and customization, Journal of Universal Computer Science, 10(3),
online journal accessible at http://www.jucs.org (2004)
16. Kumar, K. and Welke, R.J. Methodology engineering: a proposal for situation specific
methodology construction. In Challenges and Strategies for Research in Systems
Development (eds. W.W. Cotterman and J.A. Senn), J. Wiley, Chichester (1992) 257-269
17. Method fragment definition. FIPA Document,
http://www.fipa.org/activities/methodology.html, (Nov 2003).
18. OMG. Software Process Engineering Metamodel Specification, Version 1.0, Object
Management Group, formal/02-11-14 (Nov 2002)
19. Ralyté, J. Towards situational methods for information systems development: engineering
reusable method chunks, Procs. 13th Int. Conf. on Information Systems Development.
Advances in Theory, Practice and Education Vilnius Gediminas Technical University,
Vilnius, Lithuania (2004) 271-282
20. Ralyté, J. and Rolland, C. An assembly process model for method engineering, Advanced
Information Systems Engineering), LNCS2068, Springer (2001) 267-283
21. Ralyté J. Reusing scenario based approaches in requirement engineering methods: CREWS
method base. Proc. of the 10th Int. Workshop on Database and Expert Systems Applications
(DEXA'99), 1st Int. REP’99 Workshop, Florence, Italy (1999)
22. Ralyté, J. and Rolland, C. An approach for method reengineering. 20th International
Conference on Conceptual Modeling (ER2001) LNCS 2224, Springer (2001) 471-484
23. Konstantas, D., Bourrières, J.-P., Léonard, M. and Boudjlida, N. (eds.), Interoperability of
Enterprise Software and Applications, Springer, London (2006) 466pp