ible mechanisms are strictly bounded to a
ModelElement
’s type.
A process modeler can build her own process
model by composing SPEM
ModelElement
s and as-
sociating them with the required flexibility mecha-
nisms (implemented through
FlexibleFacet
s). For
example, to model the R
2
requirement, the process
modeler can start by defining the four
Phase
s of
the
Lifecycle
of the process model, and choose
the
LateModelingFacet
for the Construction
Phase
from a list of available facets. This means that a
software project derived from the customized process
model could be instantiated and started without the
full definition of the
Activities
and
Step
s that com-
pose the Construction
Phase
, fulfilling the R
2
flexibil-
ity requirement.
5 RELATED WORK
Important early contributions on software process
evolution include the work in (Bandinelli et al., 1993)
and the proposed SPADE system. SPADE is a PSEE
that supports software process evolution through the
reflective features of its custom Process Modeling
Language (PML). Process models may be modified
using predefined evolution mechanisms offered by the
PSEE and tightly coupled to its PML. In (Cugola,
1998) the author proposes the PROSYT PSEE and
follows a different approach, enhancing the support
of small deviations between real processes and mod-
eled processes. However, none of these works men-
tioned above promotes a clean separation of types of
flexibility, or allows for fine-grained and loose cou-
pled associations between flexibility types and flexi-
ble mechanisms for each distinct element of a process
model.
In an interesting work presented in (Balust and
Franch, 2001), the authors use a similar approach by
adopting a UML software process meta-model, and
extending it by using a PML called PROMENADE.
The definition of flexible software process models is,
however, limited to advance and late modeling mech-
anisms, and no extensible flexibility meta-model is
proposed.
6 CONCLUSIONS
This paper proposes a flexibility meta-model for
SPEM-based software process models. Main advan-
tages of our approach include: 1) considering SPEM
as the reference software process meta-model, as it
enhances process modeling standardization and ac-
ceptance; 2) using the facet design pattern to enhance
a clean separation between flexibility interfaces and
corresponding implementations (facets) that depend
on each
ModelElement
specialization; and 3) provid-
ing an extensible interface hierarchy, fomenting flexi-
bility type modularity.
We are implementing this flexibility meta-model
in a SPEM-compliant PSEE. We are also apply-
ing the facet pattern to support distinct flexible per-
spectives that a process
ModelElement
can have
in our PSEE. Preliminary work starts by con-
sidering
FlexibleFacet
s associated with SPEM
ModelElement
s that not only provide flexibility into
process enactments but also to process modeling.
REFERENCES
Arbaoui, S., Derniame, J.-C., Oquendo, F., and Verjus, H.
(2002). A comparative review of process-centered
software engineering environments. Ann. Softw. Eng.,
14(1-4):311–340.
Balust, J. M. R. and Franch, X. (2001). Building expres-
sive and flexible process models using a uml-based
approach. In EWSPT ’01: Proc. of the 8th Eu-
ropean Workshop on Software Process Technology,
pages 152–172, London, UK. Springer-Verlag.
Bandinelli, S. C., Fuggetta, A., and Ghezzi, C. (1993). Soft-
ware process model evolution in the spade environ-
ment. IEEE Trans. Softw. Eng., 19(12):1128–1144.
Casati, F., Ceri, S., Pernici, B., and Pozzi, G. (1998).
Workflow evolution. Data & Knowledge Engineering,
24(3):211–238.
Crahen, E. and Ramamurthy, B. (2002). Facet: A pattern for
dynamic interfaces. In PLoP 2002: Proc. of the 9th
Conf. on Pattern Language of Programs, Monticello,
Illinois, USA.
Cugola, G. (1998). Tolerating deviations in process sup-
port systems via flexible enactment of process models.
IEEE Trans. Softw. Eng., 24(11):982–1001.
Heimann, P., Joeris, G., Krapp, C.-A., and Westfechtel, B.
(1996). DYNAMITE: Dynamic task nets for software
process management. In ICSE ’96: Proc. of the 18th
Int’l Conf. on Software Engineering, pages 331–341,
Washington, DC, USA. IEEE Computer Society.
Jacobson, I., Booch, G., and Rumbaugh, J. (1999). The Uni-
fied Software Development Process. Addison-Wesley
Longman Publishing Co., Inc., Boston, MA, USA.
OMG (2005). Software Process Engineering Metamodel
Specification, v1.1. Technical report, Object Manage-
ment Group.
Osterweil, L. (1987). Software processes are software too.
In ICSE ’87: Proc. of the 9th Int’l Conf. on Software
Engineering, pages 2–13, Los Alamitos, CA, USA.
IEEE Computer Society Press.
Sadiq, S. W., Orlowska, M. E., and Sadiq, W. (2005). Spec-
ification and validation of process constraints for flex-
ible workflows. volume 30, pages 349–378, Oxford,
UK, UK. Elsevier Science Ltd.
ICEIS 2007 - International Conference on Enterprise Information Systems
562