• No results found

9.4 3 System Modell ing using Coloured Petri Nets

Entity Life Histories represent a single entity. Each place in an ELH represents the state of an entity occurrence, a single token can therefore be used to represent an occurrence. ELH therefore are adequately represented by Place Transition Nets.

The first transformation of ELH and EED into Coloured Petri nets involves the bringing together of the individual ELH into a single net. Clearly different places represent different entities. Tokens must now be individual. We could colour each token, red for the customer entity, blue for the order entity, however, it is better to use a token vector whose elements represent the attributes of the entity. The individual ELH are connected by message buffers again represented by places on the Coloured Petri net. Message buffers are individual so again individual tokens representing the message attributes are required. Finally message content may vary according to their processing by an event. The output of an event can be represented by functions in Coloured Petri nets.

These considerations led to the decision to use Coloured Petri nets. Sophisticated software now exists for the development and analysis of Coloured Petri nets. The package CPN-Palette from the Meta Software Corporation has been developed over the past two years. Coloured Petri nets with their net inscriptions and individual tokens allow the rigorous formality of ordinary Petri nets to be retained whilst enabling the size of models to be kept small. This enhances the graphical model building features but unfortunately very much complicates the mathematics for analysis. However the mathematical notation for Coloured Petri nets does allow similar properties to the ELH to be investigated. Questions such as, Will transactions as a sequence of messages always pass through the system? and What are all the routes a transaction can take? can be answered.

Entity occurrences and their life can be considered to be orthogonal to transactions as a series of messages. Entity occurrences originate at the top of the net and are archived at the bottom whilst transactions pass from left to right interfacing with the entity occurrences. Because of the way in which nets can be fused according to mathematical rules which preserve all of the net’s properties then one of the research’s objectives that

of ’correct by construction’ was achieved. These rules have been recently extended to develop the idea of hierarchies of nets.

9.4.4 The Development Environment

Prototyping, incremental development, ’correct by construction’ were all proved using the case study and the development environment. The ability within the environment to build the System net incrementally alongside database construction and program writing was very successful. Indeed all testing was integrated with construction and due to the prior analysis the system worked without further activity. The case study system is working and demonstrable. The overall conclusion is that the research has contributed significantly in the areas of modelling, verification and simulation particularly applied to parallel information systems.

9.4.5 A Comparison with Other Techniques

The approach developed rules for the formal transformation of data flow diagrams into entity event diagrams, and the combination of entity event diagrams and entity life histories into coloured Petri nets. Commercially available methods do not address the issue of transformations, the use of an underlying common modelling technique based on Petri nets, particularly the formal notation for Petri nets allowed transformations to be developed and proved by their use on the case study.

Entity life histories are generally represented by Jackson structure diagrams or by LBMS’s network convention. The use of Place Transition nets obviated the need for quit and resume markers. They modelled naturally state indicators, parallel events, alternate events as well as the standard constructs of sequence, selection and iteration. The formal mathematical notation allowed entity life histories to be analysed for deadlocks, traps and bottlenecks which is not possible using the heirarchical or network notations.

The use of Coloured Petri nets to model information systems allowed complex parallel information systems to be modelled using a single technique. This single technique is different in that a formal notation exists which facilitated formal verification. The verification of models of complex information systems is a major improvement over techniques such as data flow diagrams and logical data structures. Finally, modelling using constructs which naturally represent parallelism leads to the easy development of a simulation environment and further into implementation on parallel architectures. These properties were demonstrated in the development of the case study.

9.5 Commentary on Possible Future Paths

The major benefit of this approach is the ability to build small scale sub-systems which can be guaranteed to fit into the total system even before the total system is known. To realise this benefit a fully integrated set of tool is required.

Kurt Jensen, the developer of Coloured Petri nets, has spent part of the last few years on secondment to the Meta Software Corporation, Cambridge, USA. Meta have developed the CPN-Palette comprising a CPN Editor which supports hierarchy and fusion coupled to standard analysis support for Coloured Petri nets. Meta have used the software to describe systems such as telephone systems, protocols, buffer systems and VLSI chips. Apart from a very small attempt to link SADT to CPN all of the above work uses hierarchical CPN directly as the model for development. Meta have also extended Standard ML to enable colour sets and CPN variables to be declared. CPN ML is then used to calculate , enabling and the occurrence of bindings. This effectively implements the CPN specification.

The potential for Coloured Petri nets is very well supported by this package. To fully realise this potential much more work is necessary to make CPN available and acceptable to the potential users. Translations from ideas familiar to system

professionals into CPN are required.

Further the rather theoretical work on stochastic and timed Petri nets has been very recently added to CPN. This will enable timing to be added to the CPN so that queue sizes and bottlenecks can be established. The answers to these questions would allow the dynamic reconfiguration of processors in a parallel system to satisfy the demands of the application.

Generally the theoretical work is more than adequate the concentration must be on the application of the work.

Related documents