Communicating sequential processes
Communicating sequential processes
Hierarchical correctness proofs for distributed algorithms
PODC '87 Proceedings of the sixth annual ACM Symposium on Principles of distributed computing
Trace theory for automatic hierarchical verification of speed-independent circuits
Trace theory for automatic hierarchical verification of speed-independent circuits
The temporal logic of reactive and concurrent systems
The temporal logic of reactive and concurrent systems
Foundations of programming languages
Foundations of programming languages
Formal Methods in System Design - Special issue on The First Federated Logic Conference (FLOC'96), part II
JMOCHA: a model checking tool that exploits design structure
ICSE '01 Proceedings of the 23rd International Conference on Software Engineering
Proceedings of the 8th European software engineering conference held jointly with 9th ACM SIGSOFT international symposium on Foundations of software engineering
Distributed Algorithms
Communication and Concurrency
A Type-Theoretic Approach to Deadlock-Freedom of Asynchronous Systems
TACS '97 Proceedings of the Third International Symposium on Theoretical Aspects of Computer Software
Realizable and Unrealizable Specifications of Reactive Systems
ICALP '89 Proceedings of the 16th International Colloquium on Automata, Languages and Programming
Interface Theories for Component-Based Design
EMSOFT '01 Proceedings of the First International Workshop on Embedded Software
MOCHA: Modularity in Model Checking
CAV '98 Proceedings of the 10th International Conference on Computer Aided Verification
CAV '96 Proceedings of the 8th International Conference on Computer Aided Verification
Alternating Refinement Relations
CONCUR '98 Proceedings of the 9th International Conference on Concurrency Theory
An algebraic definition of simulation between programs
IJCAI'71 Proceedings of the 2nd international joint conference on Artificial intelligence
A domain-specific language for task handlers generation, applying discrete controller synthesis
Proceedings of the 2006 ACM symposium on Applied computing
Composing heterogeneous reactive systems
ACM Transactions on Embedded Computing Systems (TECS)
Interface theories with component reuse
EMSOFT '08 Proceedings of the 8th ACM international conference on Embedded software
Compositional Control Synthesis for Partially Observable Systems
CONCUR 2009 Proceedings of the 20th International Conference on Concurrency Theory
EMSOFT '09 Proceedings of the seventh ACM international conference on Embedded software
Modal interfaces: unifying interface automata and modal specifications
EMSOFT '09 Proceedings of the seventh ACM international conference on Embedded software
Contracts for modular discrete controller synthesis
Proceedings of the ACM SIGPLAN/SIGBED 2010 conference on Languages, compilers, and tools for embedded systems
Automata for specifying component interfaces
CIAA'03 Proceedings of the 8th international conference on Implementation and application of automata
Using controller-synthesis techniques to build property-enforcing layers
ESOP'03 Proceedings of the 12th European conference on Programming
Automatic generation of safe handlers for multi-task systems
Journal of Embedded Computing
A Theory of Synchronous Relational Interfaces
ACM Transactions on Programming Languages and Systems (TOPLAS)
Quantitative refinement for weighted modal transition systems
MFCS'11 Proceedings of the 36th international conference on Mathematical foundations of computer science
Program compatibility approaches
FMCO'05 Proceedings of the 4th international conference on Formal Methods for Components and Objects
Invited contribution: sociable interfaces
FroCoS'05 Proceedings of the 5th international conference on Frontiers of Combining Systems
Online testing with reinforcement learning
FATES'06/RV'06 Proceedings of the First combined international conference on Formal Approaches to Software Testing and Runtime Verification
New results for Constraint Markov Chains
Performance Evaluation
Modal event-clock specifications for timed component-based design
Science of Computer Programming
A Modal Interface Theory for Component-based Design
Fundamenta Informaticae - Application of Concurrency to System Design, the Eighth Special Issue
Synchronous interface theories and time triggered scheduling
FMOODS'12/FORTE'12 Proceedings of the 14th joint IFIP WG 6.1 international conference and Proceedings of the 32nd IFIP WG 6.1 international conference on Formal Techniques for Distributed Systems
Independent implementability of viewpoints
Proceedings of the 17th Monterey conference on Large-Scale Complex IT Systems: development, operation and management
Weighted modal transition systems
Formal Methods in System Design
Integrating discrete controller synthesis into a reactive programming language compiler
Discrete Event Dynamic Systems
Hi-index | 0.00 |
We present interface models that describe both the input assumptions of a component, and its output behavior. By enabling us to check that the input assumptions of a component are met in a design, interface models provide a compatibility check for component-based design. When refining a design into an implementation, interface models require that the output behavior of a component satisfies the design specification only when the input assumptions of the specification are satisfied, yielding greater flexibility in the choice of implementations. Technically, our interface models are games between two players, Input and Output; the duality of the players accounts for the dual roles of inputs and outputs in composition and refinement. We present two interface models in detail, one for a simple synchronous form of interaction between components typical in hardware, and the other for more complex synchronous interactions on bidirectional connections. As an example, we specify the interface of a bidirectional bus, with the input assumption that at any time at most one component has write access to the bus. For these interface models, we present algorithms for compatibility and refinement checking, and we describe efficient symbolic implementations.