Data refinement by calculation
Acta Informatica
Formal Methods in System Design
Object-Oriented Software Construction
Object-Oriented Software Construction
A Discipline of Programming
Formal Proof of Smart Card Applets Correctness
CARDIS '98 Proceedings of the The International Conference on Smart Card Research and Applications
Compositional Symmetric Sharing in B
FM '99 Proceedings of the Wold Congress on Formal Methods in the Development of Computing Systems-Volume I - Volume I
Météor: A Successful Application of B in a Large Project
FM '99 Proceedings of the Wold Congress on Formal Methods in the Development of Computing Systems-Volume I - Volume I
SLIPE '85 Proceedings of the ACM SIGPLAN 85 symposium on Language issues in programming environments
Towards Imperative Modules: Reasoning about Invariants and Sharing of Mutable State
LICS '04 Proceedings of the 19th Annual IEEE Symposium on Logic in Computer Science
Modular invariants for layered object structures
Science of Computer Programming - Special issue on source code analysis and manipulation (SCAM 2005)
Using b as a high level programming language in an industrial project: roissy VAL
ZB'05 Proceedings of the 4th international conference on Formal Specification and Development in Z and B
A refinement methodology for object-oriented programs
FoVeOOS'10 Proceedings of the 2010 international conference on Formal verification of object-oriented software
Relaxing restrictions on invariant composition in the B method by ownership control a la SPEC#
Rigorous Methods for Software Construction and Analysis
Relaxing b sharing restrictions within CSP||B
SC'12 Proceedings of the 11th international conference on Software Composition
Towards modular algebraic specifications for pointer programs: a case study
Rewriting Computation and Proof
Hi-index | 0.00 |
In the B method, the invariant of a component cannot be violated outside its own operations. This approach has a great advantage: the users of a component can assume its invariant without having to prove it. But, B users must deal with important architecture restrictions that ensure the soundness of reasonings involving invariants. Moreover, understanding how these restrictions ensure soundness is not trivial. This paper studies a meta-model of invariant composition, inspired from the Spec# approach. Basically, in this model, invariant violations are monitored using ghost variables. The consistency of assumptions about invariants is controlled by very simple proof obligations. Hence, this model provides a simple framework to understand B composition rules and to study some conservative extensions of B authorizing more architectures and providing more control on components initialization.