10 Developing Mixed Interactive Systems 205
software architecture design and implementation. As a consequence, design choices
elaborated in one step are linked t o design or implementation aspects in subsequent
steps. Moreover, each link explicitly details the source and target elements on the
one hand and the translation process for effectively transforming the element on
the other hand. Finally, this chapter also discussed the benefits of this approach in
an iterative design context and especially highlighted the possibility of anticipating
the amount of work when addressing a specific challenge: associating a problem
to one step and even to a specific part of the element expressed in this step can
contribute to the identification of the consequences it will have on the rest of the
design.
Our approach can be considered as a set of vertical transformations that accom-
pany the development process of MIS from the early phase of r equirements analysis
to the final implementation of the system. There are three f orms of support provided
by this approach: (1) helping the designer to take into consideration the multiple
aspects relevant for the development of MIS: by covering the four major s teps, the
approach invites t he designer to cover these points of view; (2) ensuring that design
decisions taken in previous steps will not be forgotten: transformations enforce the
presence of a set of elements; (3) facilitating a redesign of a system: following a first
prototype, the design team will be able to revisit the design decisions by exploring
the models established at each step and the detailed transitions between these mod-
els. In addition, the approach is a model-based approach, which involves models
that are specific to MIS. Therefore, it contributes to the exploration of a wide set
of possibilities in terms of the combination of physical and digital resources. In the
end, our approach covers four major steps of the development process but is suffi-
ciently flexible to allow one to start from the middle of the proposed process; for
example, if the task analysis performed is not based on K-Mad but leads to the pro-
duction of an ASUR model, the use of the current transformations is still possible.
Consequently, this approach goes beyond ad hoc approaches and can break down
barriers between different types of expertise.
However, our approach has been built and illustrated via application to a set of
three well-known models and one prototyping platform. To generalize the approach,
it would be necessary to be able to involve any design resources covering one of
these four steps. An abstraction of the transformation rules would solve the problem
and enable the specification of transformation rules for any model. Alternatively, a
less ambitious solution would consist of building the appropriate transformations
for each model that one would like to fit to this approach; this would be in line with
the notions of domain-specific languages promoted by MDE [21].
A second limit of the current approach is that it generates a lot of design alterna-
tives, especially the first transformation from task analysis to the mixed interaction
model. An editing tool for managing the design streams corresponding to the dif-
ferent design solutions generated would, for example, keep track of the state of
each design (totally, partially or not explored), allow the annotation of design
streams, etc., and thus facilitate the systematic exploration of the different solutions.
Furthermore, this tool would also constitute a potentially useful assistant to help
find and explore the differences between different solutions: it could be in charge of
highlighting, at each level of the development process, where differences exist and
indicating the impact of these differences on the subsequent steps.