[home] [examples]

A-Nets - Modelling of Complex processes

Frequently Asked Questions



What are A-Nets?

A-Nets have been developed to model complex concurrent processes. The process is decomposed into several perspectives.
A graphical notation similar to Petri Nets is used for developing and  visualizing A-Nets. A-Nets can be run to simulate the process but also be used as an application to control real processes in real time.

What are the Main Features?

A-Nets are multidimensional

We believe that humans use multidimensional models in everyday situations, thus abstracting from different attributes of the modelled objects and processes depending on our viewpoint. We are able to combine these perspectives simultaneously. The objective of A-Nets is to adapt this concept for programming.
A-Nets are composed of several perspectives, each of them can be developed and tested separately. The different perspectives are synchronized in an intuitive manner and the combined system behaves consistently.

A-Nets are hierarchical

The Transitions in each perspective can contain subnets, to encapsulate details. The behavior of the net is not changed other than intended by the inner structure.

A-Nets contain Objects

Similar as with some Petri Net clones, A-Net "tokens" are fully blown objects for modelling aspect behaviour with traditional  programming methods, this is appropriate for computations, user interaction, network applications etc.
A-Net tokens are called "aspects" to underline that depending on what is important within their perspectives, they show only some part of the attributes and methods of the modelled real world object. Aspects are stored persistently.
Aspects of the same object are called "siblinks". Siblinks are linked to each other and provide the synchronization of the different perspectives.

A-Nets are associative

Transitions with the same label in different perspectives are meant to indicate the same action. Associated transitions are fired only simultaneously. The hierarchical inner structure of the transitions can be simple in one perspective and very complex in a second. So the simple transition can be viewed and used as an abstraction of the complex one, without changing the overall behaviour.

A-Nets are dynamic

A-Nets are meant to be changed during runtime. Local changes don't interrupt the multitude of subprocesses of the system. With the help of the graphical representation, the developer is not likely to miss unwanted side affects. (Yes, this has been tested with our prototype developing environment.)

A-Nets are interactive

A-Nets can be combined to very large consistent structures by creating siblinks to existing (and running) nets. The data flow  needed between two siblinks is not  large and so can be used to link processes over the Internet. Siblinks won't reveal any details of their perspective they are not meant to. (No this hasn't yet been tested.)

A-Nets are subject oriented

Other than traditional implementation of Petri Net behaviour, the fire set is not computed from the transition's point of view, but from the token's (= aspect). Though this doesn't help with optimization and analysis of all different future net markings, it allows for distributed execution of the system. (This has partly been tested by simulating multiple processors on one computer.)

A-Nets are easy

Despite of the complex tasks A-Nets are made for, non-experts understand immediately the meaning of the graphics. Even the structuring by perspectives seems to be intuitively comprehensible. (see examples below).

(Examples will be presented soon.)

What stands the A for in "A-Nets"

At first, A was to indicate the Associations between transitions of different perspectives. Later we called the A-Net tokens "Aspects". (This was before other parties developed the concepts of "Aspect Oriented Programming". Other AOP concepts are for similar modelling tasks as our A-Net concept, but otherwise very different.)

A-Nets are free

A-Nets are Open Source, underlying the GNU GPL and the A-fair-licence  ( www.a-fair.de)

More questions? Ask here:   info@aspect-nets.de

Last update: 01 May 01

Wolfgang Reinfeldt,
Holger Bringmann,

Hauke Duden,
Jan-Eric Duden,
Jochen Notholt.