Interconnecting formalisms: supporting modularity, reuse and incrementality
SIGSOFT '95 Proceedings of the 3rd ACM SIGSOFT symposium on Foundations of software engineering
Evolving algebras 1993: Lipari guide
Specification and validation methods
Specware: Formal Support for Composing Software
MPC '95 Mathematics of Program Construction
Composition and Refinement of Behavioral Specifications
Proceedings of the 16th IEEE international conference on Automated software engineering
Premonoidal categories and notions of computation
Mathematical Structures in Computer Science
Evolving Specification Engineering
AMAST 2008 Proceedings of the 12th international conference on Algebraic Methodology and Software Technology
Bayesian Authentication: Quantifying Security of the Hancke-Kuhn Protocol
Electronic Notes in Theoretical Computer Science (ENTCS)
Proceedings of the 2011 workshop on New security paradigms workshop
Testing semantics: connecting processes and process logics
AMAST'06 Proceedings of the 11th international conference on Algebraic Methodology and Software Technology
ICDCIT'12 Proceedings of the 8th international conference on Distributed Computing and Internet Technology
Hi-index | 0.00 |
We represent state machines in the category of specifications, where assignment statements correspond exactly to interpretations between theories [7, 8]. However, the guards on an assignment require a special construction. In this paper we raise guards to the same level as assignments by treating each as a distinct category over a shared set of objects. A guarded assignment is represented as a pair of arrows, a guard arrow and an assignment arrow. We give a general construction for combining arrows over a factorization system, and show its specialization to the category of specifications. This construction allows us to define the fine structure of state machine morphisms with respect to guards. Guards define the flow of control in a computation, and how they may be translated under refinement is central to the formal treatment of safety, liveness, concurrency, and determinism.