Automatic verification of finite-state concurrent systems using temporal logic specifications
ACM Transactions on Programming Languages and Systems (TOPLAS)
Symbolic model checking: an approach to the state explosion problem
Symbolic model checking: an approach to the state explosion problem
Finite transition systems: semantics of communicating systems
Finite transition systems: semantics of communicating systems
Verification of liveness properties using compositional reachability analysis
ESEC '97/FSE-5 Proceedings of the 6th European SOFTWARE ENGINEERING conference held jointly with the 5th ACM SIGSOFT international symposium on Foundations of software engineering
Proceedings of the 8th European software engineering conference held jointly with 9th ACM SIGSOFT international symposium on Foundations of software engineering
Component Software: Beyond Object-Oriented Programming
Component Software: Beyond Object-Oriented Programming
Architecting families of software systems with process algebras
ACM Transactions on Software Engineering and Methodology (TOSEM)
Behavior Protocols for Software Components
IEEE Transactions on Software Engineering
Requirements Documentation: Why a Formal Basis is Essential
ICRE '00 Proceedings of the 4th International Conference on Requirements Engineering (ICRE'00)
An extensible type system for component-based design
An extensible type system for component-based design
Enforcing a lips Usage Policy for CORBA Components
EUROMICRO '03 Proceedings of the 29th Conference on EUROMICRO
Component-interaction automata as a verification-oriented component-based system specification
SAVCBS '05 Proceedings of the 2005 conference on Specification and verification of component-based systems
Mapping COSA Software Architecture Concepts into UML 2.0
ICIS-COMSAR '06 Proceedings of the 5th IEEE/ACIS International Conference on Computer and Information Science and 1st IEEE/ACIS International Workshop on Component-Based Software Engineering,Software Architecture and Reuse
SOFA 2.0: Balancing Advanced Features in a Hierarchical Component Model
SERA '06 Proceedings of the Fourth International Conference on Software Engineering Research, Management and Applications
The temporal logic of programs
SFCS '77 Proceedings of the 18th Annual Symposium on Foundations of Computer Science
Hi-index | 0.00 |
In this paper, we introduce a formal approach for composing software components into a distributed system. We describe the system as a hierarchical composition of some components, which can be distributed on a wide variety of hardware platforms and executed in parallel. We represent each component by a mathematical model and specify the abstract communication protocols of the components using Interface Automata (IAs). To model hierarchical systems, besides the basic components' model, we will present other components, called nodes. A node consists of a set of subnodes interacting under the supervision of a controller. Each subnode, in turn, is a node or discrete event component. By considering a subnode as a node we can make hierarchical nodes/components. The entire system, therefore, forms the root of the hierarchy. A controller, in turn, is a set of subcontrollers/interface automata that specifies interaction protocol of the components inside a node. We have also presented an example demonstrating the model by illustrating nodes, subnodes, controllers, and subcontrollers. To address the state space explosion problem in system verification, we utilize the controller as a contract for independent analysis of the components and their interactions. Therefore, a node will not be analyzed directly; instead, we will analyze the controller.