Towards a Generic Model for Situational Method
Engineering
1
2
2
Jolita Ralyté , Rébecca Deneckère , and Colette Rolland
1
CUI, University of Geneva, 24, bd. du Général Dufour, CH-1211 Geneva, Switzerland
[email protected]
2
CRI, University of Paris Sorbonne, 90 rue de Tolbiac, 75013 Paris, France
{denecker, rolland}@univ-paris1.fr
Abstract. The work presented in this paper is related to the area of Situational
Method Engineering (SME) which focuses on project-specific method
construction. We propose a generic process model supporting the integration of
different existing SME approaches. This model shall help the method engineer
either selecting one SME approach or combining several approaches that best
fit the situation of the method engineering project at hand. The generic model
presented in this paper already contains three SME techniques: (1) to assemble
method chunks (2) to extend an existing method and (3) to generate a method
by abstraction/instantiation of a model/meta-model. The paper presents and
illustrates these three techniques and show how other SME techniques could be
integrated in the model.
1
Introduction
The need for a better productivity of system engineering teams, as well as a better
quality of products motivates the development of solutions to adapt methods to the
project situation at hand. This is known as Situational Method Engineering (SME).
Whereas SME promotes the construction of a method by assembling reusable method
fragments stored in some method base [9, 3, 18, 19, 23, 29, 26], in this paper we
propose a generic process model to capture a large variety of approaches supporting
“on the fly” method construction.
As the selection of the suitable method engineering approach for the project at
hand is not easy, our generic process model guides the method engineer in the
definition of his/her project method engineering goal and in the selection of the
approach which best allow him/her to achieve it. Besides, as in some cases a
combination of several approaches could be the most suitable engineering solution in
order to construct or adapt a method, the generic process model guides the method
engineer in selecting the appropriated set of approaches.
We use a strategic process meta-model called Map [1, 27] to represent our generic
SME process model. Map provides a representation system based on a nondeterministic ordering of intentions and strategies. A map is a labeled directed graph
with intentions as nodes and strategies as edges between intentions. A triplet <source
intention, target intention, strategy> in the map is called a section. Each section is
defined by an intention achievement guideline, which provides advice to fulfil the
target intention following the strategy given the source intention has been achieved.
J. Eder and M. Missikoff (Eds.): CAiSE 2003, LNCS 2681, pp. 95–110, 2003.
© Springer-Verlag Berlin Heidelberg 2003
96
J. Ralyté, R. Deneckère, and C. Rolland
The directed nature of the graph shows which intentions can follow which one.
Since, many strategies can be used for achieving an intention, Map allows us to
integrate different approaches as different method engineering strategies in the same
SME process model and to combine the application of these approaches in the
construction of a new method or the adaptation of a given one.
In previous papers we presented a process model for assembly based situational
method engineering [19], an approach for method extension based on the use of
patterns [5, 6] and more recently, an abstraction based approach [24] responding to
the needs of a large method engineering project in industry. All these approaches use
different techniques for method construction but their objective is the same – to
support the construction of a method matching the requirements of a given situation.
Our belief is that it will be useful to investigate the problem of integrating different
approaches in a single SME process model. This is the objective we aim at in this
paper. We propose a generic SME process model which integrates the three abovementioned approaches. We also show that this model is flexible enough to integrate
other approaches than the three that are integrated and illustrated in this paper.
The paper is organised as follows: section 2 describes our generic process model
for SME. Sections 3, 4 and 5 present and illustrate respectively three method
engineering approaches, namely Assembly-based, Extension-based and Paradigmbased, all being integrated in our generic model. Section 6 considers the similarities
and the differences of these approaches and the possibility of their parallel use in the
construction of a single method whereas section 7 draws some conclusions and
discuss about our future work.
2
Generic Process Model for Situational Method Engineering
We consider that any SME process is made of two main tasks: setting the method
engineering goal and then, constructing a method that matches this goal. In other
words, there are two core intentions that the method engineer has in mind:
1. Set Method Engineering Goal that is to identify the kind of method he/she needs,
2. Construct a Method allowing him/her to satisfy this goal.
These intentions are the nodes of the map presented in Fig.1. As shown in this
figure, the Map representation formalism allows us to propose several different
strategies to support the realisation of these intentions.
The achievement of the first intention, namely Set Method Engineering Goal,
depends on the method situation of the project at hand. In one project situation the
method engineer may perhaps consider that a specific method could be applicable but
requires some adaptations whereas in other situations, he or she may be convinced
that any of the available methods is suitable for the project. In the first case, the
method engineering (ME) goal refers to the adjustments of the selected method:
enhancement, extension or restriction. We call the corresponding strategy the Methodbased strategy. In the second case, it is necessary to construct a completely new
method and the corresponding strategy is called the From scratch strategy.
The achievement of the intention Construct a Method depends on the applied
method construction technique. Thanks to the map structure it is easy to integrate in
the same model different method construction techniques as different strategies to
reach the intention Construct a Method. The map of Fig. 1 proposes three SME
Towards a Generic Model for Situational Method Engineering
97
techniques. The first one is based on the reuse of method components extracted from
existing methods and stored in some method base. This technique helps to select and
assemble different method components in order to construct a new method or to
enrich an existing one. As a consequence, the corresponding strategy is called
Assembly-based strategy. The second technique is used for extending a method by
applying extension patterns and therefore it is referred in the map by the Extensionbased strategy. Finally, the third technique is relevant when a new fresh method must
be constructed either by abstracting from a given model or by instantiating a metamodel. This new method is based on some paradigm model or meta-model and this is
why the corresponding strategy is called the Paradigm-based strategy. It is obvious
that these three strategies can be combined in order to construct the method best
fitting the situation of the project at hand.
Once the required method has been constructed it is necessary to validate it. For
this, we propose the Evaluation strategy which implements different method
evaluation techniques. Our Generic Process Model for SME is shown in Fig. 1.
Start
"From scratch“
strategy
Comparison
strategy
Method-based
strategy
Set
Method Engineering
Goal
Extension-based
strategy
Construct
a Method
Assembly-based
strategy
Stop
Paradigm-based
strategy
Evaluation
strategy
Completeness strategy
Fig. 1. Generic Process Model for Situational Method Engineering
It is obvious, that other SME techniques could be integrated in our generic SME
process model as other strategies to achieve the intention Construct a Method. In this
paper we concentrate on the three method construction techniques introduced in the
map above and we present and illustrate them in the following sections.
3
Assembly-Based Method Engineering
Our approach for assembly-based SME aims at constructing a method ‘on the fly’ in
order to match as well as possible the situation of the project at hand. It consists in the
selection of method components (that we call method chunks) from existing methods
that satisfy some situational requirements and their assembly.
Our approach is requirements-driven, meaning that the method engineer must start
by eliciting requirements for the method. Next, the method chunks matching these
98
J. Ralyté, R. Deneckère, and C. Rolland
requirements can be retrieved from the method base. And finally, the selected chunks
are assembled in order to compose a new method or to enhance an existing one.
Intention-driven strategy
Start
Process-driven
strategy
Requirements-driven
strategy
Specify Method
Requirements
Decomposition
Evaluation
Select
Method Chunks
Stop
Completeness
strategy
Assemble
Method Chunks
Integration
strategy
Aggregation
Refinement
strategy
Aassociation strategy
Fig. 2. Assembly-Based Process Model for Situational Method Engineering
As a consequence, the three key intentions in the assembly-based method
engineering process are: Specify Method Requirements, Select Method Chunks and
Assemble Method Chunks. Fig. 2 depicts our assembly-based process model for SME.
3.1
Method Requirements Specification
The elicitation of method requirements must be done in the light of the method
engineering goal set previously (see Fig.1) that might be to adapt an existing method
or to construct a new one. We identified two different strategies for requirements
elicitation, namely Intention-driven strategy and Process-driven strategy (Fig. 2).
The first strategy is suitable for method adaptation. There are different types of
method adaptation. The method in use can be strong in terms of its product model but
weak with respect to its process model, which will be the subject of adaptation and
enhancement. The adaptation can be to simply add a new functionality to the existing
method, which is relevant in its other aspects. Vice versa, the project at hand could
not need some functionality offered by the method. In all these cases, the
requirements elicitation process is driven by the identification of the ME intentions
such as ‘add event concept’, ‘complete completeness checking step’ etc., which will
allow to complete, enhance or limit the method initially selected. For this reason, wee
call this strategy Intention-driven strategy (Fig. 2).
The second strategy is relevant in the case of a new method construction. In such
ME situation the requirements is not only to produce the list of ME intentions that
will permit to adapt the selected method but to identify the full set of engineering
intentions that shall be fulfilled by the new method. For this reason we call the
corresponding strategy Process-driven strategy.
Towards a Generic Model for Situational Method Engineering
99
Both of these strategies lead to a set of requirements expressed as a map that we
call the requirements map. More information about the guidelines supporting these
two strategies to Specify Method Requirements can be found in [21].
Actor-driven
discovery strategy
Start
Start
Elicit
Use Cases
Normal case
first strategy
Include
strategy
Stop
Actor-driven
discovery
Organisation
Elicit
Use Cases
Reuse
strategy
Abstraction
strategy
Conceptualise
Use Cases
Completeness
Extension
strategy
(a) Use case model map
Normal case
first strategy
Include
strategy
Stop
Classify
Use Cases
Rank-based
elicitation
Reuse
strategy
Rank-based
writing
Abstraction
strategy
Conceptualise
Use Cases
Completeness
Extension
strategy
(b) Requirements map
Fig. 3. Requirements Map for the Use Case Model Enhancement
As an example, let’s assume that the goal of the method engineer is to enhance the
use case approach proposed by Jacobson in [11] by some scenario classification &
authoring guidelines in order to improve the quality of use case conceptualisation.
This is a case of method adaptation and therefore, the Intention-driven strategy is the
most suitable one. This strategy supports the identification of adaptation requirements
expressed as intentions and strategies as shown in Fig. 3. The initial map for use case
construction is shown in Fig. 3 (a) whereas Fig. 3 (b) highlights the requirements for
enhancement expressed through three new sections (in colour) and the deletion of the
Normal case first strategy which is replaced by the added features.
3.2
Method Chunks Selection
Once the method requirements have been specified, the selection of the method
chunks matching these requirements can start. The Requirements-driven strategy
helps the method engineer to select the best fitting chunks. The chunk selection
queries must be formulated by giving values to the attributes of the descriptors and
interfaces of method chunks (see [15, 23]). The validation of the retrieved chunks is
supported by the Evaluation strategy which helps in evaluating the degree of
matching of the candidate chunk to the requirements. This is done by applying
similarity measures between the requirements map and the process model of the
selected chunk. More details about these similarity measures could be found in [19].
The Decomposition, Aggregation and Refinement strategies help to refine the
candidate chunk selection by analysing more in depth if the chunk matches the
requirements. If the selected method chunk is an aggregate one, i.e. it is composed of
several chunks, the Decomposition strategy drives the selection of the relevant sub-
100
J. Ralyté, R. Deneckère, and C. Rolland
chunks and the elimination of the inadequate ones. Vice-versa, the Aggregation
strategy is applicable when the retrieved chink matches partly the requirements. This
strategy proposes to look for an aggregate chunk containing the candidate one based
on the assumption that the aggregate chunk might provide a solution for the missing
requirements. The Refinement strategy proposes to search for another chunk
satisfying the same intention but providing different guidelines to achieve it. In our
example, the query for the method chunk selection will include parameters as follows:
Application domain = ‘Information System’ AND Design activity
= ‘Requirements specification’ AND Situation = ‘Use cases’
AND Intention = ‘Classify use cases’
3.3
Method Chunks Assembly
When at least two chunks have been selected, the method engineer can progress in the
assembly of these chunks following one of the two proposed strategies, namely the
Association strategy and the Integration strategy (Fig. 2).
The Association strategy is relevant when the method chunks to assemble
correspond to two different system engineering functionalities, i.e. they allow to
achieve different engineering intentions and the result of one chunk is used as a
source product by the second one. Such method chunks generally do not have
common elements in their product and process models and the assembly process is
therefore mainly dealing with making the bridge between the two chunks. More
precisely, the product models of the chunks must be connected by defining links
between their different concepts whereas the connection of their process models
consists in defining their execution order. The connection of the product model is
possible thanks to the ADD_LINK and ADD_CONCEPT operators [22]. The
MERGE_INTENTION operator is applied to connect the process models and consists
in identifying in the first chunk the intention producing the source product for the
second chunk. Some method chunk adaptation could be required before their
assembly in order to avoid concepts name ambiguity. This may be done by applying
different RENAME operators. For example, the chunk producing use cases and the
chunk constructing the system object structure can be assembled to get a method with
a larger coverage than any of the two initial ones.
The Integration strategy is relevant to assemble chunks that have similar
engineering goals but provide different ways to satisfy it. In such a case, the process
and product models are overlapping, that is containing the same or similar elements.
The assembly process consists in identifying the common elements in the chunks
product and process models and merging them. Therefore, the integration process is
mainly based on the application of different MERGE operators as MERGE_
INTENTION, MERGE-SECTION for the integration of process models and
MERGE_CONCEPT, MERGE_LINK for the integration of product models. Each of
these operators deals with the integration of similar elements belonging to the initial
chunks into a new one in the integrated chunk. The SPECIALISE and GENERALISE
operators define respectively the specialisation and generalisation links between the
concepts of the chunks product models. Their application is useful to build a model of
the integrated method chunk that is richer than those of the initial chunks.
Towards a Generic Model for Situational Method Engineering
101
Like in the previous case, the adaptation of the method chunks must precede their
integration. Besides the RENAME operators, OBJECTIFY_LINK and OBJECTIFY_
PROPERTY may be required for performing more complex transformation tasks.
Cockburn’s scope-based
classification
Cockburn’s
goal-based
classification
Actor-driven
discovery
Start
Elicit
Use Cases
Reuse
strategy
Stop
Include
strategy
Cockburn’s
goal-based
elicitation
Classify
Use Cases
Cockburn’s
template-based
writing
Conceptualise
Use Cases
Completeness
Abstraction
strategy
Extension
strategy
Fig. 4. The Enhanced Use Case Model Map.
For instance, the Integration strategy will be necessary to satisfy the method
requirements defined in Fig. 3 as the method engineering objective is to enhance the
use case conceptualisation process by new way of working. Let’s suppose that the
method engineer selects the use case conceptualisation guidelines proposed by
Cockburn [4]. This approach proposes two complementary use case classification
techniques: one is based on a three level goal hierarchy; other defines a design scope
to capture in a use case typology. These two techniques cover the section <Elicit Use
Cases, Classify Use Cases, Organisation strategy> in the requirements map. The
guidelines supporting elicitation of other use cases of the lower or higher abstraction
level are also provided by this approach and cover the section <Classify Use Cases,
Elicit Use Cases, Rank-based elicitation strategy. Moreover, this approach proposes
different templates for use case writing as well as the content guidelines depending on
the use case goal level and design scope. It covers the section <Classify Use Cases,
Conceptualise Use Cases, Rank-based writing strategy>. The obtained method (Fig.
4) will provide guidelines richer than those of each chunk used separately.
4
Extension-Based Method Engineering
Our approach for extension-based SME [5, 6] corresponds to a ME goal to adapt
locally a method to the contingency of the project at hand. The approach guides
method engineer by providing extension patterns that help identifying typical
extension situations and provide advises to perform the required extension.
Fig. 5. shows the map representing the process underlying this approach. It can be
seen that we advocate two different ways to extend a method: (a) directly through the
102
J. Ralyté, R. Deneckère, and C. Rolland
Domain-driven
strategy
Start
Pattern-matching
strategy
Stop
Select
a Meta-pattern
Extend
a Method
Pattern-based strategy
Completeness
strategy
Fig. 5. Extension-Based Process Model for Situational Method Engineering
Pattern-matching strategy or (b) by using some generic knowledge related to the
domain for which the extension is to be done through the path Select a Meta-pattern,
Extend a Method with the Pattern-based strategy. The former helps to match
extension patterns stored in a library to the extension requirements whereas the latter
selects first, a meta-pattern corresponding to the extension domain and then, guides
the method extension by applying the patterns suggested by the meta-pattern.
Both ways-of-working use a library of extension patterns but do it in different
ways. The domain centric way exploits the fact that a set of patterns and their use can
be embodied in a meta-pattern that is suitable for method extension in this domain
(e.g. temporal data structures). If the required extension does not clearly correspond to
a certain type of extension, a well-identified extension domain, then the pattern
matching approach shall be selected by the method engineer.
4.1
Domain-Driven Adaptation
This path in the process of Fig. 5 comprises to Select a Meta-pattern with the
Domain-driven strategy and then, to Extend a Method with the Pattern-based
strategy. The guideline to Select a Meta-pattern helps the method engineer in
recognising if the extension he/she has in mind corresponds to one of the so-called
extension domains. A representative example of such domain is temporal data
structures. The adaptation of a method to this domain includes different extensions
such as the integration into the method product model the selected time model
defining the appropriated calendar(s) (Gregorian, week-based, working-day-based
etc.), the integration of temporal events and temporal expressions for defining event
occurrence conditions etc. These extensions are captured in different patterns and
organised in a meta-pattern. Meta-patterns for the different domains, for which
knowledge about the extension and how to perform it has been defined, are stored in a
repository together with the corresponding patterns.
Once the method engineer has selected the meta-pattern relevant for the extension
domain at hand, the pattern-based strategy guides him/her in the systematic
application of the patterns associated to the meta-pattern. Table 1 shows the metapattern guiding method extension with temporal data structures.
Towards a Generic Model for Situational Method Engineering
103
Table 1. Meta-pattern “Extend a method with temporal concepts”
4.2
Concept
Pattern
Arguments
Temporal
Event
Extend a
method with
temporal events
Time
model
with
discrete
time point
Time
model
with
interval
Temporal
domain
Extend a
method with a
discrete time
point data
structure
Extend a
method with
temporal types
Object
history
Extend a
method with
temporal classes
for object
histories
Object
versioning
Extend a
method with
temporal classes
for object
versioning
Time
constraint
Extend a
method with
time constraint
Applications often need to trigger operations following a specific
time data. This pattern allows the insertion of temporal events in
the method. They use a time model and the temporal domains in
order to define the specific moment to trigger the operations.
Temporal databases need to use precise knowledge on events.
This pattern allows defining a time model (linear or having a tree
structure) defined as a set of time points (or instants). These
points have an asymmetric and transitive time precedence
relationship.
Some applications need to manage fuzzy or imprecise temporal
data. This pattern allows defining a time model seen as a set of
intervals. It helps to describe three temporal types: instants,
intervals, and periods, defined to manipulate the time.
Classic methods mostly use the Date, Time and Time zone
domains linked to an attribute. However, these domains are very
poor and do not allow the representation of relative or periodic
attribute. This pattern aims at supporting the generation of these
temporal domains. The time used may be valid, transaction or
user-defined [30].
Histories are sometimes required by applications in order to look
at the data evolution and to execute the replay functions required
for tracking decisional process of an organization. Therefore, the
application should provide information for each object state when
it is/was true as well as when it is/was exploitable. This pattern
permits to integrate time management into the class definition and
to group properties that evolve at the same time and that are
linked to the same temporal dimension.
Rollback operations are required in order to come back to
previous states of the database. This pattern permits the creation
of object histories supporting the application of rollback
operations without endangering the database coherency.
Documentation operations help the engineer to keep track of the
different versions.
The necessity to handle time introduces another problem that is to
constrain data evolution. Models must include concepts helping to
define which constraints are related to the time in order to keep
the data coherency. This pattern proposes two constraints
classification: (1) intra-object and inter-object constraints [7] and
(2) intra-time and inter-time constraints [2].
Extend a
method with
temporal
domains
Pattern-Matching Based Extension
The Pattern-matching strategy to Extend a Method (Fig. 5) helps in the selection of
the extension patterns which better match requirements. Therefore, the process map
representing this approach (Fig. 6) is centred around two core intentions: Specify
Extension Requirements and Select & Apply a Pattern.
The Requirement elicitation strategy helps the method engineer to construct a map
representing the method extension requirements. This map is called requirements
map. Introduce time model could be an intention (a requirement) in the requirements
map; Interval based could be a strategy to achieve this intention. Discrete time point
could be another strategy to reach the same intention. These two manners to Introduce
104
J. Ralyté, R. Deneckère, and C. Rolland
Start
Product extension
strategy
Requirements
elicitation strategy
Specify Extension
Requirement
Process extension
strategy
Select & Apply
a Pattern
Requirements
elicitation strategy
Completeness strategy
Stop
Fig. 6. Process Model for Pattern-Matching Based Method Extension
time model can be defined in two different requirements maps or can be captured in
the same map meaning that the method extension will handle both of them.
Our extension patterns are divided into product extension patterns and process
extension patterns. The former indicate how to extend a product model whereas the
latter deal this the process model extension. This is reflected in the map of Fig. 6 by
two strategies to Select & Apply a Pattern namely the Product extension strategy and
the Process extension strategy. Both of them are supported by the guidelines which
help to match the requirements map intentions and strategies with the pattern
situation. Some of the similarity measures introduced in section 3 are applicable here
to help in finding the ‘best’ fit between the requirements and the pattern situation.
5
Paradigm-Based Method Engineering
This approach uses meta-modelling as its underlying method engineering technique. It
is the most generic of the three approaches to Construct a Method that we propose in
our generic model shown in Fig. 1. The hypothesis of this approach is that the new
method is obtained either by abstracting from an existing model or by instantiating a
meta-model. We call this starting model the paradigm model.
Meta-modelling is known as a technique to capture knowledge about methods. It is
a basis for understanding, comparing, evaluating and engineering methods. One of the
results obtained by the meta-modelling community is the definition of any method as
composed of a product model and a process model [16]. The product model defines
the set of concepts, their properties and relationships that are needed to express the
outcome of the process. The process model comprises the set of goals, activities and
guidelines to support process goal achievement and action execution. Therefore,
method construction following the meta-modelling technique is centred on the
definition of these two models. This is reflected in the paradigm-based process map
by the two core intentions Construct a Product model and Construct a Process model
(Fig. 7). A number of product meta-models [8, 10, 17, 28] as well as process metamodels [12, 25, 27] are available and our approach is based on some of them.
Towards a Generic Model for Situational Method Engineering
Start
Abstraction
Adaptation
Instantiation
Utilization
Construct a
Product Model
Refinement
strategy
Stop
105
Simple strategy
Context-driven
Completeness
strategy
Construct a
Process Model
Strategy-driven
Pattern-driven
Fig. 7. Paradigm-Based Process Model for Situational Method Engineering
The construction of the product model depends of the method engineering (ME) goal.
For example, the ME goal could be to construct a method:
by raising (or lowering) the level of abstraction of a given model,
by instantiating a selected meta-model,
by adapting a meta-model to some specific circumstances,
by adapting a model.
Each of these cases defines a strategy to Construct a Product model, namely the
Abstraction, Instantiation, Adaptation and Utilisation strategies. Each of them is
supported by a guideline. For example, the map of Fig. 8 expresses the guideline
supporting the Abstraction strategy. According to this guideline, the product model
construction consists in defining different product model elements such as objects,
links and properties. It starts by the abstraction of some elements from the paradigm
model. After that, the model under construction is refined thanks to the
Generalisation, Specialisation, Aggregation, Decomposition and Transformation
strategies.
The process model definition must conform to the product model. This is the
reason why in the map of Fig. 7 the intention Construct a Process model follows the
one to Construct a Product model. We know that a process model can take multiple
different forms. It could be a simple informal guideline, a set of ordered actions or
activities to carry out, a set of process patterns to be followed or a multi-process
guideline combining several different alternative ways of working. These four cases
are represented in our paradigm-based process model by four strategies: Simple,
Context-driven, Pattern-driven and Strategy-driven. Simple and Context-driven
process models are based on the NATURE process modelling formalism [12, 25]
whereas the Strategy-driven process model, also called Map formalism, was proposed
by [27] (see the introduction of this paper). The guidelines supporting the application
of these strategies can be found in [1, 20].
106
J. Ralyté, R. Deneckère, and C. Rolland
Start
Abstraction strategy
Decomposition
Generalisation
Define
Product Element
Aggregation
Specialisation
Stop
Transformation
Completeness
Fig. 8. Abstraction Strategy for Product Model Construction
Fig. 9 is an illustration of the use of the Abstraction strategy to Construct a
Product model in the Lyee1 industrial project. The guideline of Fig. 8 was followed
for the definition of the Lyee User Requirements Model (LURM) by abstracting from
the Lyee Software Requirements Model (LSRM) [24]. The latter is used by the
LyeeAll CASE tool [13, 14] in order to generate programs, provided a set of wellformatted software requirements are given. These requirements are expressed in
rather low-level terms such as screen layouts and database accesses. Moreover they
are influenced by the LyeeALL internals such as the Lyee identification policy of
program variables, the generated program structure and the Lyee program execution
control mechanism. Experience with LyeeAll has shown the need to acquire software
requirements from relatively high level user-centric requirements. The meta-model of
the LSRM presented in the bottom part of Fig. 9 has been used as a baseline paradigm
model for the more abstract LURM construction shown in the top part of Fig. 9.
The central concept in the LSRM is called a Word. A Word corresponds to a
program variable: input words represent values captured from the external world
whereas output words are produced by the system by applying specific formulae. The
execution of formulae is controlled by the Process Route Diagram (PRD). A PRD is
composed of Scenario Functions (SF), composed of Pallets, which are made of
Vectors. In order to carry out the generated program control the function generates its
own Words, such as the Action words related to Vectors and Routing words to
distribute the control over the various SFs of a PRD.
In order to comply with the Lyee paradigm, the LURM should be centred on a
notion, which abstracts from the concept of Word. Obviously Words required by the
Lyee processing mechanism are not relevant at this level. On the contrary, the concern
is only with Domain words. Besides, there is a need to provide the requirements
holder with a means to grasp a ‘set of words’ conceptually associated with one
another. The notion of ‘System interaction’ is proposed for that purpose. An
interaction delineates a number of input and output data, logically assembled together.
Each word of an interaction is defined as a model element called Item by applying the
Abstraction strategy (Fig. 8). The concept of Defined is proposed as an aggregation of
1
Lyee, which stands for GovernmentaL MethodologY for SoftwarE ProvidencE, is a
methodology for software development used for the implementation of business software
applications. Lyee was invented by Fumio Negoro.
Towards a Generic Model for Situational Method Engineering
107
logically related Items thanks to the Aggregation strategy. The Specialisation strategy
is applied in order to specialise the Item into Output and Input. An Output is produced
by the system whereas the Input is captured from the user. In the same manner, the
Input is specialised into Active and Passive. The former triggers the system actions
whereas the latter represents values captured from the user. Similarly, the concept of
Precedence Succedence Graph (PSG) is obtained by abstraction of the PRD concept
from the LSRM. It specifies the ordering conditions between Defineds as the PRD do
it with Words.
Lyee User
Requirements
Model
System Interaction
1..*
Begin
End
1..*
Intermediate
Defined
Node
1..*
NodeID
PSG
Item
1..*
Name
Type
1..*
source
{complete, or}
0..*
PSGName
0..*
target
Link
Condition
Formula
{complete, or}
Continuous
PNTA
PNTR
PNTN
Logical Unit
PNTC
PNTD
PNTM
1
1..*
WordID
Scenario Function
SFID
1
1
1..*
W04
W02
W03
L3 – condition
L4 – formula
Name
Domain
Word
Routing Word
NextpalletID
PRD
PRDName
1
Active
Domain Word
LogicalID
Device
IntraSF
Condition
{complete, or}
Passive
Multiplex
InterSF
PNTE
Input
Output
1..* Condition
Duplex
Name
Domain
Action Word
Word
Action
Word in
Pallet /Unit
Pallet
PRD1
POP1
PCL1
PCR1
PCR2
PBOX
PWT1
PalletI
Lyee Software Requirements Model
Fig. 9. Lyee Product Models for Software Requirements and for User Requirements
The process part of the LURM was defined by following the Pattern-based
strategy (Fig. 7). A set of patterns has been defined to take into account different
situations in the user requirements definition. Each pattern provides an advice to
capture and formulate requirements. More about these patterns, their definition and
application could be found in [24].
6
Generic Features
The paper demonstrates that meta-modelling remains the core technique in SME. All
approaches presented above are based on meta-modelling. In the assembly-based
SME approach every method chunk must be instance of a specific meta-model for
108
J. Ralyté, R. Deneckère, and C. Rolland
modular methods [20]. The extension-based approach depends on the model of the
method to extend which is itself instance of a specific meta-model, and proposes
patterns to extend this model. The patterns are generated from the meta-patterns that
are also defined at the meta level. The paradigm-based approach is generally based on
meta-modelling.
All these approaches deal with the definition, instantiation, transformation or
assembly of method models and meta-models. The corresponding method
construction activities can be generalised by the means of a set of generic operators.
As all these approaches explicitly separate the notions of product model and process
model, we classify these operators in operators for process model construction and
operators for product model construction. The former generalise the actions to be
performed on the product models and deal with elements such as concepts, links and
properties. The later generalise the actions to be performed on the process models and
deal with elements such as intentions and strategies.
An other classification of these operators relates to the type of action they perform.
Such a classification is as follows:
Unification operators are used in order to unify the terminology of the models
before their integration, extension or adaptation. They generally allow to rename
different elements in the process and product models. Some examples of such
operators are RENAME_CONCEPT, RENAME_INTENTION, etc.
Transformation operators deal with the conversion of one type of product model
element into another type. For example, the OBJECTIFY_LINK operator permits
to transform a link between two classes of objects into a new class.
Abstraction/instantiation operators deal with the different abstraction levels of the
models. They can be used for the product model instantiation from a meta-model
or its abstraction from another one.
Specialisation/generalisation operators can be used for a connection of two
product models having some concepts with similar semantics but different
structures. A new concept can be generalised in order to preserve the two initial
concepts in the integrated model.
Aggregation/decomposition operators operate with different granularity levels and
allow to combine or to split different product and process model elements as for
example AGGREGATE_CONCEPTS or DECOMPOSE_ SECTION.
Addition operators allow to add supplementary elements (concepts, links, sections)
in the product and process models in order to connect or to enhance them.
Cancellation operators such as REMOVE_LINK or REMOVE_STRATEGY
eliminate the inadequate elements from the product or process models.
We are aware of the fact that this list of operators is not an exhaustive one and we are
currently working on it.
The last point that we propose to raise in this section concerns the requirements
matching problem. The specificity of SME approaches is that they are requirementsdriven. Any method construction technique proposed by such an approach must take
into account the definition of the method requirements and the selection of the
solutions that satisfy them. As a consequence, the matching mechanism between the
requirements model and the solution model is paramount. Our belief is that such a
mechanism must include similarity measures. The method engineer needs to be able
to measure the similarity of different elements from the process models like
intentions, sections or entire maps as well as the similarity of different product models
Towards a Generic Model for Situational Method Engineering
109
elements like concepts or links. Currently every approach integrated in our generic
process model proposes its own manner to resolve the requirements matching
problem. Our objective is to propose some generic process and product similarity
measures that could be adapted or instantiated in different SME approaches.
7
Conclusion
In this paper we proposed a generic process model for SME. This process model
allows us to capture different approaches for project specific method construction and
to provide guidelines in order to assist the method engineer in the selection of the
approach best fitting the project situation.
Our generic process model already contains three SME approaches that can be
applied separately or combined in order to construct a new method or to adapt an
existing one. As this model is defined as a map with associated guidelines it is
possible to include other SME approaches in a rather simple manner. They can be
integrated as different strategies to satisfy the intention Construct a Method (Fig. 1).
In order to provide a strong methodological support with our generic SME process
model we propose a set of generic method construction operators. We are also
working on different similarity measures which are necessary to evaluate the
similarity between different method elements as well as for evaluating the matching
conditions of a given method chunk with the method requirements.
Our future preoccupation is to complete this generic SME process model by
integrating other approaches and to validate it through real projects. We will also
continue refining the definition of the generic method construction operators and the
metrics for process and product models similarity measurement. We will also
consider the exploit of the distance measures supposing that in some cases they might
be more suitable than those of similarity.
References
1.
Benjamen A., Une Approche Multi-démarches pour la modélisation des démarches
méthodologiques. PhD dissertation. University of Paris 1 – Sorbonne, 1999.
2. Böhlen M.H. Valid time integrity constraint. Report TR 94-30. 1994.
3. Brinkkemper S., M. Saeki, F. Harmsen, Assembly Techniques for Method Engineering.
Proc. of CAiSE’98. Pisa Italy, 1998.
4. Cockburn A., Writing Effective Use Cases. Addison-Wesley, 2001.
5. Deneckere, R., Approche d’extension de méthodes fondée sur l’utilisation de composants
génériques, PhD thesis, University of Paris 1-Sorbonne, 2001.
6. Deneckere, R., Souveyet, C., Patterns for extending an OO model with temporal features.
Proceedings of OOIS’98 conference. Springer-Verlag, Paris (France), 1998.
7. Gehani N., Jagadish H.V. Ode as an active database: constraints and triggers.
th
Proceedings of the 17 VLDB, Barcelona, Spain, pp. 327–336. 1991.
8. Grundy, J.C., J.R. Venable, Towards an integrated environment for method engineering,
Proc. IFIP WG 8.1 Conf. on ‘Method Engineering’, Chapman and Hall, pp 45–62, 1996.
9. Harmsen A.F., Situational Method Engineering. Moret Ernst & Young , 1997.
10. Hofstede, A.H.M. Ter., Information modelling in data intensive domains, Dissertation,
University of Nijimegen, The Netherlands 1993.
110
J. Ralyté, R. Deneckère, and C. Rolland
11. Jacobson I., M. Christenson, P. Jonsson, G. Oevergaard, Object Oriented Software
Engineering: a Use Case Driven Approach. Addison-Wesley, 1992.
12. Jarke M., C. Rolland, A. Sutcliffe, R. Domges, The NATURE requirements Engineering.
Shaker Verlag, Aachen 1999.
13. Negoro, F. Methodology to Determine Software in a Deterministic Manner. Proceedings of
ICH, Beijing, China, 2001.
14. Negoro, F. A proposal for Requirement Engineering, Proceedings of ADBIS, Vilnius,
Lithuania, 2001.
15. Plihon V., J. Ralyté, A. Benjamen, et al. A Reuse-Oriented Approach for the Construction
of Scenario Based Methods. Proc. of the ICSP'98, Chicago, US, 1998.
16. Prakash, N., On Method Statics and Dynamics. Information Systems. Vol.34, No.8, 1999.
17. Prakash, N., M.P.S. Bhatia. Generic Models for Engineering Methods of Diverse Domains.
Proc. of CAISE’02, Toronto, Canada, LNCS Volume 2348, pp. 612., 2002.
18. Punter H.T., K. Lemmen, The MEMA model: Towards a new approach for Method
Engineering. Information and Software Technology, 38(4), pp.295–305, 1996.
19. Ralyté J., C. Rolland, An Assembly Process Model for Method Engineering. Proceedings
th
of the 13 CAISE’01, Interlaken, Switzerland, 2001.
th
20. Ralyté J., C. Rolland, An approach for method reengineering. Proceedings of the 20
International Conference on Conceptual Modelling, ER2001, Yokohama, Japan, 2001.
21. Ralyté J., Requirements Definition for the Situational Method Engineering, IFIP
TC8/WG8.1 Working Conference on Engineering Information Systems in the Internet
Context, Kanazawa, Japan, 2002.
22. Ralyté J., C. Rolland, V. Plihon, Method Enhancement by Scenario Based Techniques.
th
Proceedings of the 11 CAiSE’99, Germany, 1999.
23. Ralyté J., Reusing Scenario Based Approaches in Requirement Engineering Methods:
CREWS Method Base. Proc. of the First Int. Workshop REP’99 (DEXA’99), Florence,
Italy, September 1999.
24. Rolland, C. A User Centric View of Lyee Requirements. In New Trends in Software
Methodologies, Tools and Techniques, H. Fujita, P. Johannesson (Eds.). IOS Press,
Ohmsha, 2002.
25. Rolland, C., C. Souveyet, M. Moreno, An Approach for Defining Ways-of-Working,
Information Systems Journal, 1995.
26. Rolland C., V. Plihon, J. Ralyté, Specifying the reuse context of scenario method chunks.
th
Proc. of the 10 CAISE’98, Pisa Italy, 1998.
27. Rolland, C., N. Prakash, A. Benjamen: A Multi-Model Vew of Process Modelling,
Requirements Engineering Journal (4)(4), pp169–187, 1999.
28. Saeki, M., K. Wen-yin, Specifying Software Specification and Design Methods, Proc.
CAISE’94, LNCS 811, Springer Verlag, pp 353–366, Berlin, 1994.
29. Saeki M., K. Iguchi, K Wen-yin, M Shinohara, A meta-model for representing software
specification & design methods. Proc. of the IFIP¨WG8.1 Conference on Information
Systems Development Process, Come, pp 149–166, 1993.
30. Snodgrass, I. Ahn. A ytaxonomy of time in databases. Proceedings of ACM SIGMOD
conference. 1985.