Artificial intelligence (2nd ed.)
Artificial intelligence (2nd ed.)
Parallel program design: a foundation
Parallel program design: a foundation
Communications of the ACM
Stepwise refinement of parallel algorithms
Science of Computer Programming
Mixed Programming Metaphors in a Shared Dataspace Model of Concurrency
IEEE Transactions on Software Engineering
The concurrent language, Shared Prolog
ACM Transactions on Programming Languages and Systems (TOPLAS)
The gamma model and its discipline of programming
Science of Computer Programming
Parallelism in Production Systems
Parallelism in Production Systems
The Science of Programming
A Discipline of Programming
A UNITY-Style Programming Logic for Shared Dataspace Programs
IEEE Transactions on Parallel and Distributed Systems
Formal specification and design of a message router
ACM Transactions on Software Engineering and Methodology (TOSEM)
Architecture-Directed Refinement
IEEE Transactions on Software Engineering
Reasoning About Places, Times, and Actions in the Presence of Mobility
IEEE Transactions on Software Engineering
Formal Specification and Design of Mobile Systems
IPDPS '02 Proceedings of the 16th International Parallel and Distributed Processing Symposium
Visual Presentation of Software Specifications and Designs
IWSSD '96 Proceedings of the 8th International Workshop on Software Specification and Design
Entailment for specification refinement
GECCO '96 Proceedings of the 1st annual conference on Genetic and evolutionary computation
Hi-index | 0.00 |
It is shown that a combination of specification and program refinement may be applied to deriving efficient concurrent rule-based programs. Specification refinement is used to generate an initial rule-based program that is refined into a program which is highly concurrent and efficient. This program derivation strategy is divided into two major tasks. The first task relies on specification refinement. Techniques similar to those employed in the derivation of UNITY programs are used to produce a correct rule-based program having a static knowledge base. The second task involves program refinement and is specific to the development of concurrent rule-based programs. It relies heavily on the availability of a computational model, such as Swarm, that has the ability to dynamically restructure the knowledge base. The ways in which a Swarm program can be translated to OPS5 specifically, given some restrictions, while maintaining the correctness criteria are discussed.