Characterizing Kripke structures in temporal logic
The International Joint Conference on theory and practice of software development on TAPSOFT '87
The use of temporal logic in the compositional specification of concurrent systems
Temporal logics and their applications
Structuring theories on consequence
Lecture notes in Computer Science on Recent trends in data type specification
A simple approach to specifying concurrent systems
Communications of the ACM
Abstract and concrete categories
Abstract and concrete categories
The temporal logic of reactive and concurrent systems
The temporal logic of reactive and concurrent systems
Institutions: abstract model theory for specification and programming
Journal of the ACM (JACM)
ACM Transactions on Programming Languages and Systems (TOPLAS)
A foundation of fault-tolerant computing
A foundation of fault-tolerant computing
A compositional framework for fault tolerance by specification transformation
Theoretical Computer Science - Special issue on dependable parallel computing
Applications of deontic logic in computer science: a concise overview
Deontic logic in computer science
Three logics for branching bisimulation
Journal of the ACM (JACM)
ACM Transactions on Programming Languages and Systems (TOPLAS)
Interconnecting formalisms: supporting modularity, reuse and incrementality
SIGSOFT '95 Proceedings of the 3rd ACM SIGSOFT symposium on Foundations of software engineering
Branching time and abstraction in bisimulation semantics
Journal of the ACM (JACM)
The B-book: assigning programs to meanings
The B-book: assigning programs to meanings
Specification and verification of fault-tolerance, timing, and scheduling
ACM Transactions on Programming Languages and Systems (TOPLAS)
The Object-Z specification language
The Object-Z specification language
The Byzantine Generals Problem
ACM Transactions on Programming Languages and Systems (TOPLAS)
Specifying Concurrent Program Modules
ACM Transactions on Programming Languages and Systems (TOPLAS)
On the criteria to be used in decomposing systems into modules
Communications of the ACM
Proceedings of the 8th European software engineering conference held jointly with 9th ACM SIGSOFT international symposium on Foundations of software engineering
Sometimes "Tomorrow" is "Sometime" - Action Refinement in a Temporal Logic of Objects
ICTL '94 Proceedings of the First International Conference on Temporal Logic
Interface Theories for Component-Based Design
EMSOFT '01 Proceedings of the First International Workshop on Embedded Software
Specifying and Verifying Fault-Tolerant Systems
ProCoS Proceedings of the Third International Symposium Organized Jointly with the Working Group Provably Correct Systems on Formal Techniques in Real-Time and Fault-Tolerant Systems
The Prescription and Description of State Based Systems
Temporal Logic in Specification
On Observing Nondeterminism and Concurrency
Proceedings of the 7th Colloquium on Automata, Languages and Programming
Localities and Failures (Extended Abstract)
Proceedings of the 14th Conference on Foundations of Software Technology and Theoretical Computer Science
Combining Dynamic Deontic Logic and Temporal Logic for the Specification of Deadlines
HICSS '97 Proceedings of the 30th Hawaii International Conference on System Sciences: Advanced Technology Track - Volume 5
Formal design of self-stabilizing programs
Journal of High Speed Networks - Self-Stabilizing Systems, Part 1
Principles of Model Checking (Representation and Mind Series)
Principles of Model Checking (Representation and Mind Series)
The temporal logic of programs
SFCS '77 Proceedings of the 18th Annual Symposium on Foundations of Computer Science
A Tableaux System for Deontic Action Logic
DEON '08 Proceedings of the 9th international conference on Deontic Logic in Computer Science
Formal Modeling and Analysis of a Flash Filesystem in Alloy
ABZ '08 Proceedings of the 1st international conference on Abstract State Machines, B and Z
A Rigorous Approach to Fault-Tolerant Programming
IEEE Transactions on Software Engineering
Formal Development of a Total Order Broadcast for Distributed Transactions Using Event-B
Methods, Models and Tools for Fault Tolerance
Putting theories together to make specifications
IJCAI'77 Proceedings of the 5th international joint conference on Artificial intelligence - Volume 2
Structured co-spans: an algebra of interaction protocols
CALCO'07 Proceedings of the 2nd international conference on Algebra and coalgebra in computer science
Characterizing locality (encapsulation) with bisimulation
ICTAC'10 Proceedings of the 7th International colloquium conference on Theoretical aspects of computing
Categories for Software Engineering
Categories for Software Engineering
The deontic component of action language n C+
DEON'06 Proceedings of the 8th international conference on Deontic Logic and Artificial Normative Systems
Hi-index | 5.23 |
In this paper, we investigate formal mechanisms to enable designers to decompose specifications (stated in a given logic) into several interacting components in such a way that the composition of these components preserves their encapsulation and internal non-determinism. The preservation of encapsulation (or locality) enables a modular form of reasoning over specifications, while the conservation of the internal non-determinism is important to guarantee that the branching time properties of components are not lost when the entire system is obtained. The basic ideas come from the work of Fiadeiro and Maibaum where notions from category theory are used to structure logical specifications. As the work of Fiadeiro and Maibaum is stated in a linear temporal logic, here we investigate how to extend these notions to a branching time logic, which can be used to reason about systems where non-determinism is present. To illustrate the practical applications of these ideas, we introduce deontic operators in our logic and we show that the modularization of specifications also allows designers to maintain the encapsulation of deontic prescriptions; this is in particular useful to reason about fault-tolerant systems, as we demonstrate with a small example.