tem no matter from which viewpoint that data is ac-
cessed. Thus the system was allowed to be open in
design and flexible in nature and the elegance of its
design was not limited from being viewed from one or
several application-led standpoints (e.g. BPM, EAI,
CRM, PDM,WfMS). Rather we enabled the traceabil-
ity of enterprise objects over the lifetime of the sys-
tem as the primary goal of the system and left the
application-specific views to be defined as and when
they became required. It is this that we see as the main
and unique contribution of the CRISTAL approach
(a ’description-driven’ one) to building flexible and
maintainable systems and we believe this makes a
significant contribution to how moel-driven enterprise
systems can be implemented. These were not simple
design skills; designers needed to be able to think con-
ceptually, abstracting the characteristics of everyday
objects into ’items’ with associated metadata and to
be able to represent that complexity in a concrete data
model. Great benefits in terms of maintainability and
flexibility resulted from being able to treat many dif-
ferent system objects (workflows, events, outcomes,
items) in a single standardised manner. The impor-
tance of instantiation and description in formulating a
generic CRISTAL data model cannot be overempha-
sised. They are the foundations on which description-
driven systems development is based.
Importance was placed on the involvement of
users at all stages of the development of CRISTAL.
We regard this as one of the prime reasons for the
eventual success of the project. Although initially it
was hoped that high-end expert users would be able
to develop workflows themselves, in practice this was
not possible. Instead the users collaborated closely
with the designers to establish a much clearer idea of
the implications of their requirements, and with a full
understanding of the functionality that their workflow
must provide. This could then be implemented with
verifiable accuracy against what the user originally
wanted. Essentially this approach, centred on the
identification of items and their descriptions, led to
a very intuitive way of representing requirements and
absorbing them, as and when they emerged, into the
evolving data model. On the negative side the users
necessarily did not always know at the outset what
their final requirements would be for data and pro-
cess management, often leading to disruptive changes
in design decisions. On the positive side, the users
were not locked into a ’static’ product: CRISTAL was
evolving to cater for their requirements and could be
made responsive to their needs.
Control of evolving requirements was a particu-
larly challenging problem. New user requirements
needed to be addressed at the application level which,
as a consequence, induced requirements at the domain
implementation level which in turn passes its own re-
quirements down to the kernel level. The result of
this was that there could be a considerable number
of potential feature configurations of the CRISTAL
kernel needed to meet all possible requirements from
the user. Since CRISTAL was conceived as a model-
driven system, an attempt was made to follow best
software engineering practice in implementing fea-
tures associated with object orientation (e.g. inher-
itance, polymorphism, deferral of commitment, etc)
to ensure reuse and extensibility. Whenever a new
design modification was needed, the approach taken
therefore was always to implement as open and as
flexible a solution as the design allowed in order not to
constrain future extensions. In practice, however, this
“second guessing quickly” led to feature creep and
spiralling complexity which was at risk of compro-
mising the system development process. To address
this situation the approach that we adopted was to
make the implementation of new requirements as in-
tuitive as possible with as simple functionality as nec-
essary to cope with the requirements, thereby preserv-
ing the elegance of the original (description-driven)
design. This led to a closely connected set of system
functionalities which was easy to maintain and to dy-
namically extend as and when needed. In addition this
much simpler system has the virtue of being signifi-
cantly easier for users, developers and administrators
new to the system to pick up and start working with.
The flexible nature of the DDS approach has recently
enabled the use of CRISTAL as a provenance man-
agement tool in the neuGRID project (for studies of
Alzheimer’s disease) (Anjum, A. et al, 2010).
REFERENCES
Anjum, A. et al (2010). Reusable Services from the
neuGRID Project for Grid-Based Health Applica-
tions. Studies in Health Technology and Informatics,
147:283–288.
Branson, A. et al. (2012). Evolving Requirements: Model-
Driven Design for Change. Information Systems. Un-
der final review.
Estrella, F. et al. (2001). Meta-data Objects as the Basis
for System Evolution. In Proceedings of the Second
International Conference on Advances in Web-Age In-
formation Management, WAIM ’01, pages 390–399.
Springer-Verlag.
Estrella, F. et al. (2003). Pattern Reification as the Basis for
Description-Driven Systems. Journal of Software and
System Modelling, 2(2):108–119.
The CMS Collaboration and Chatrchyan, S. et al. (2008).
The CMS experiment at the CERN LHC. Journal of
Instrumentation, 3:S08004.
SystemEvolutionviaModel-drivenDesign
145