We present in this paper a methodology how to use 'Parallel Automaton' to set up the requirements, to specifi and to execute small Computer Based Systems (CBS). A Parallel Automaton' is an extended form of the Mealy Machine. It handles a finite set of events (or variable conditions or clock conditions) which can occur in parallel, and performs a finite set of actions which can be done in parallel. In the 'Parallel Automaton' there is no concept of "global state" as in the Mealy Machine. Instead, to each action and each event, is associated a '$private state " representing their occurrence in the application. Nevertheless, the number of event/sactions private states is also3nite. This single notation ('Parallel Automaton' with Private States) can be used to describe in the same way requirements and specifications. More than that, these two descriptions can be connected. The aims of the application can be described using a 'Parallel outputs. This 'Parallel Automaton' can then be refined and enhanced with intermediate conditions and actions to obtain detailed requirements. By successive refinements and enhancements, a suficiently detailed executable speclfication can be derivedWe present this methodology through a simple CBS example, for the requirements and the speclfications using the 'Parallel Automaton' notation. We then give an architecture o f a Virtual Machine that we have built to execute such a 'Parallel Automaton' on a network.
Our proposal has the following key features: 1) The separation of a distributed program into a pure algorithm (PurAl) and a distribution/communication declaration (DUAL). This yields flexible programs capable of handling different kinds of data/program distribution with no change to the pure algorithm. 2) Implicit or automatic handling of communication via externally mapped variables and generalizations of assignment and reference to these variables. This provides unified device independent view and processing of internal data and external distributed data at the user programming language level. 3) Programs need only know of the direct binds with distributed correspondents (mailbox driver, file manager, remote task, window manager etc.). This avoids the need for a central description of all the interconnections. The main short-range benefits of this proposal are to facilitate parallel computations. Parallel programming is a fundamental challenge in computer science, nowadays. Improving these techniques will lead to simplify the programming, eliminate the communication statements, and unify the various communication by using an implicit method for the transfer of data which is becoming essential with the proliferation of distributed networked environment. We present 2 experiments of separation between PurAl and DUAL, using a preprocessor or an object-type library. This new approach might be of interest to both academic and industrial researchers.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.