development of the tool and the work to be
completed in the future.
2 BASIC ASPECTS OF THE
EXINUS TOOL
The primary objective of the EXINUS tool is to help
end users and experts to obtain appropriate
specifications with which to obtain a new system
that satisfies users’ needs. It is a cooperative tool
based on the following principles:
• Users have most information about the IS; they are
aware of its functionalities, where there is room for
improvement and what will be required in the near
future.
• Ease of use so that users become involved in the
process.
• Cooperation of users to attain a common objective,
sharing information between them.
• Obtaining specifications which can be exported to a
system development environment.
The use of reverse engineering techniques as part
of the reengineering process is fundamental for
obtaining the conceptualisation of the IS, enabling
us to obtain the system design and workflow
specifications required for a representation with a
high degree of abstraction, for a better quality IS
with more efficiency, correction, usability, etc.
(Woods, S., Carriere, S.J., Kazman, R.,1999).
Reengineering is a solution to the problem of
remodelling an application. These techniques,
however, although they obtain high quality
applications with major advantages, can generate
programs which do not fully satisfy the user’s
requirements (Leiva, JL., J.L. Caro, A. Guevara,
2006). Therefore we suggest that the user should
provide the information required to obtain the
necessary present and future interface design and
workflow specifications. The method is based on
providing the user with the simple tools required to
create an external (interfaces) and internal
(workflows) of the IS, so that users are involved in
the development of the new system.
EXINUS is based on a model enabling the
specification of workflows on several levels:
management level (use of primitives), automation
(XML language) and demosstration (temporal modal
logic) (Caro, JL., Guevara A, Aguayo A., Leiva JL.,
2004).
2.1 User Interfaces as a Descriptive
Focal Point
End users find it easy to understand and describe the
processes they run on each of the interfaces they use,
so user interfaces are a focal point of our method,
aimed at obtaining as much information as possible.
One of the characteristics of EXINUS is that it
exports the specifications obtained in a language
with a high degree of abstraction.
There are currently different types of language
for describing interfaces and processes. Their
primary objective is to provide a simple description
of the structure of the interface, with a high level of
abstraction, so that this specification can be used to
generate the final user interface.
We have conducted a study of different
languages, including AAIML, AUIML, UML,
XIML, XUL and XFORMS (Azevedo, P, Merrik, R.
Roberts, D. , 2000) and concluded that we need a
language with the following characteristics:
• It must be able to describe the interfaces and processes
involved.
• It must enable the definition of systems designed in
different environments, regardless of the platform,
programming language, etc.
• It must clearly distinguish elements from the previous
and future system. In other words, it must be capable
of defining interfaces and processes of both the
present system and the system to be constructed.
• It must be flexible enough to enable us to generate
prototypes in any programming language.
Figure 1 shows how users participate in the
design process and how the focal point of our model
(Leiva, J.L., 2003) is the interface, from which not
only do we obtain specifications of the interfaces
themselves but also of the functions that the user
performs between them.
Each user involved in the project can define and
design different interfaces, with some of them being
shared by several users, so the tool has to allow for
cooperative work (Arenas, M.A, Guevara, A., Caro,
JL., Leiva, JL., 2007), enabling one user to consult
and change other users’ forms providing he/she has
the appropriate permission to do so.
Each interface designed by the user defines a set
of processes which can be basic (pertaining to the
designed object) and grouped on different levels. In
turn, processes can belong to one or several
interfaces (Leiva, J.L., 2003).
A COOPERATIVE METHOD FOR SYSTEM DEVELOPMENT AND MAINTENANCE USING WORKFLOW
TECHNOLOGIES
131