Communicating sequential processes
Communicating sequential processes
Parallel program design: a foundation
Parallel program design: a foundation
Tentative steps toward a development method for interfering programs
ACM Transactions on Programming Languages and Systems (TOPLAS)
Systematic software development using VDM (2nd ed.)
Systematic software development using VDM (2nd ed.)
The ToolTalk service: an inter-operability solution
The ToolTalk service: an inter-operability solution
A calculus of broadcasting systems
TAPSOFT '91 Proceedings of the international joint conference on theory and practice of software development on Colloquium on trees in algebra and programming (CAAP '91): vol 1
The process group approach to reliable distributed computing
Communications of the ACM
ACM Transactions on Programming Languages and Systems (TOPLAS)
The essential client/server survival guide (2nd ed.)
The essential client/server survival guide (2nd ed.)
Reasoning about implicit invocation
SIGSOFT '98/FSE-6 Proceedings of the 6th ACM SIGSOFT international symposium on Foundations of software engineering
Verifying properties of parallel programs: an axiomatic approach
Communications of the ACM
An axiomatic basis for computer programming
Communications of the ACM
Design and evaluation of a wide-area event notification service
ACM Transactions on Computer Systems (TOCS)
The JEDI Event-Based Infrastructure and Its Application to the Development of the OPSS WFMS
IEEE Transactions on Software Engineering
A Calculus of Communicating Systems
A Calculus of Communicating Systems
A Discipline of Programming
Mastering Enterprise Javabeans
Mastering Enterprise Javabeans
Provence: A Process Visualisation and Enactment Environment
ESEC '93 Proceedings of the 4th European Software Engineering Conference on Software Engineering
Unifying Theories of Parallel Programming
ICFEM '02 Proceedings of the 4th International Conference on Formal Engineering Methods: Formal Methods and Software Engineering
A Method for the Development of Totally Correct Shared-State Parallel Programs
CONCUR '91 Proceedings of the 2nd International Conference on Concurrency Theory
Supporting Disconnectedness-Transparent Information Delivery for Mobile and Invisible Computing
CCGRID '01 Proceedings of the 1st International Symposium on Cluster Computing and the Grid
Hi-index | 0.00 |
The event based architectural style has been recognized as fostering the development of large-scale and complex systems by loosely coupling their components. It is therefore increasingly deployed in various environments such as middleware for mobile computing, message oriented middleware, integration frameworks, communication standards, and commercial toolkits. The development of applications based on this paradigm is, however, performed in such an ad-hoc manner that it is often difficult to reason about their correctness. This is partly due to the lack of suitable specification and verification techniques. In this paper, we review the existing theory of specifying and verifying such applications, argue that it cannot be applied for the development of large-scale and complex systems, and finally propose a novel approach (LECAP) for the construction of correct event based applications. Our approach is superior to the existing approaches in many respects: 1) we assume a while-parallel language with a synchronization construct, 2) neither a pending event infrastructure nor a consume statement are required, 3) a dynamic (instead of static) binding is assumed, 4) no restriction is made on the number of simultaneous executions of the same program 5) our approach is oriented towards top-down development of systems. The paper also presents two examples for illustrating the approach.