Communicating sequential processes
Communicating sequential processes
Understanding Z: a specification language and its formal semantics
Understanding Z: a specification language and its formal semantics
Procedures, parameters, and abstraction: separate concerns
Science of Computer Programming
Systematic software development using VDM (2nd ed.)
Systematic software development using VDM (2nd ed.)
Programming from specifications (2nd ed.)
Programming from specifications (2nd ed.)
The B-book: assigning programs to meanings
The B-book: assigning programs to meanings
The Object-Z specification language
The Object-Z specification language
The Theory and Practice of Concurrency
The Theory and Practice of Concurrency
Concurrent Programming in Java. Second Edition: Design Principles and Patterns
Concurrent Programming in Java. Second Edition: Design Principles and Patterns
The Java Language Specification
The Java Language Specification
Guarded commands, non-determinancy and a calculus for the derivation of programs
Language Hierarchies and Interfaces, International Summer School
A CSP Model for Java Multithreading
PDSE '00 Proceedings of the International Symposium on Software Engineering for Parallel and Distributed Systems
The problem of nested monitor calls
ACM SIGOPS Operating Systems Review
UML-B: Formal modeling and design aided by UML
ACM Transactions on Software Engineering and Methodology (TOSEM)
NCA '06 Proceedings of the Fifth IEEE International Symposium on Network Computing and Applications
Refinement, Decomposition, and Instantiation of Discrete Models: Application to Event-B
Fundamenta Informaticae - This is a SPECIAL ISSUE ON ASM'05
UML-B and Event-B: an integration of languages and tools
SE '08 Proceedings of the IASTED International Conference on Software Engineering
An open extensible tool environment for event-b
ICFEM'06 Proceedings of the 8th international conference on Formal Methods and Software Engineering
Automatic translation from Circus to Java
FM'06 Proceedings of the 14th international conference on Formal Methods
Automatic translation from combined B and CSP specification to java programs
B'07 Proceedings of the 7th international conference on Formal Specification and Development in B
Formal object-oriented development of a voting system test oracle
Innovations in Systems and Software Engineering
A comparative study of two formal specification languages: Z-notation & B-method
Proceedings of the Second International Conference on Computational Science, Engineering and Information Technology
Hi-index | 0.00 |
The Event-B method is a formal approach to modelling systems, using refinement. Initial specification is done at a high level of abstraction; detail is added in refinement steps as the development proceeds toward implementation. In software systems that use concurrent processing it is necessary to provide details of concurrent features before implementation. Our contribution is to show how Event-B models can be linked to concurrent, object-oriented implementations using an intermediate, object-oriented style specification notation. To validate our approach and gain further insight we automated the translation process with an Eclipse plug-in which produces an Event-B model and Java code. We call the new notation Object-oriented Concurrent-B (OC-B). The notation facilitates specification of the concurrent aspects of a development, and facilitates reasoning about concurrency issues in an abstract manner. We abstract away implementation details, such as locking, and provide the developer with a clear view of atomicity using labelled atomic clauses. We build on techniques introduced in UML-B to model object-oriented developments, introducing non-atomic operations and features for specifying implementation level details.