Information Technology Reference
In-Depth Information
part of the fault tolerance mechanisms; it lets objects check to see if their
references are operational." Nigel's eyes gleamed. \But don't you see," he
whispered, \it's a backdoor. Anyone can use it and get at or modify any of
our data."
There was a moment of stunned silence before Ira spoke. \That all goes to
show what happens when you have tools that bring your data together and
let you see it as a whole. It's a good job we found it before we went live, but
what are we going to do about it?"
15.1 What Should a Tool Do?
We have repeatedly stressed the importance of having effective tools avail-
able when designing and implementing any reasonably large system. With-
out them, it is very dicult to ensure that structured designs are internally
consistent because, when compared to computers, humans are just not that
good at correlating information on paper. This is particularly true of systems
designed using a framework that supports separation of concerns. The sep-
aration makes it easier for different parts of the design to be progressed in
parallel, but also means that fewer people will have a complete view of how
all the parts interrelate.
In a viewpoint-based design, therefore, it is particularly important that
there should be continuously available checking mechanisms to ensure that
no inconsistencies are introduced when modifications are made. This should
cover at least the consistency of the viewpoints and correspondences, but
will usually also need to police additional user defined rules, such as global
uniqueness constraints.
Powerful tools let us automate the weaving together of information from
the various viewpoints, so that there is little need for manual processes to be
involved in combining information from the different views when constructing
the target system. Here we are talking about a toolchain involving various
types of tool, all working in a collaborative way to support system design and
specification. This includes traditional tools like editors and compilers, spe-
cialized design tools, transformational tools, and tools that check consistency
and correctness, like model checkers.
As we shall see, these tools need to come together in order to provide an
integrated design and development environment, including support for ver-
sioning, repository management and controlled collaboration and sharing of
information. This implies the introduction of what some authors have called
a tool bus [53, 79] allowing exchange of information, signalling of events and
provision of services. Just having a transfer format for models, like XMI, is
certainly a start but is not generally enough to provide the level of integration
and interaction that is needed.
 
Search WWH ::




Custom Search