In transition from global to modular temporal reasoning about programs
Logics and models of concurrent systems
Compositional reachability analysis using process algebra
TAV4 Proceedings of the symposium on Testing, analysis, and verification
Enhancing compositional reachability analysis with context constraints
SIGSOFT '93 Proceedings of the 1st ACM SIGSOFT symposium on Foundations of software engineering
Computer-aided verification of coordinating processes: the automata-theoretic approach
Computer-aided verification of coordinating processes: the automata-theoretic approach
ACM Transactions on Programming Languages and Systems (TOPLAS)
SIGSOFT '95 Proceedings of the 3rd ACM SIGSOFT symposium on Foundations of software engineering
Context constraints for compositional reachability analysis
ACM Transactions on Software Engineering and Methodology (TOSEM)
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
Checking safety properties using compositional reachability analysis
ACM Transactions on Software Engineering and Methodology (TOSEM)
Model checking
A methodology for hardware verification using compositional model checking
Science of Computer Programming - Special issue on mathematics of program construction
System architecture directions for networked sensors
ASPLOS IX Proceedings of the ninth international conference on Architectural support for programming languages and operating systems
Concurrency verification: introduction to compositional and noncompositional methods
Concurrency verification: introduction to compositional and noncompositional methods
Modular verification of collaboration-based software designs
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
Executable UML: A Foundation for Model-Driven Architectures
Executable UML: A Foundation for Model-Driven Architectures
FASE '02 Proceedings of the 5th International Conference on Fundamental Approaches to Software Engineering
ObjectCheck: A Model Checking Tool for Executable Object-Oriented Software System Designs
FASE '02 Proceedings of the 5th International Conference on Fundamental Approaches to Software Engineering
Assume-Guarantee Based Compositional Reasoning for Synchronous Timing Diagrams
TACAS 2001 Proceedings of the 7th International Conference on Tools and Algorithms for the Construction and Analysis of Systems
Specification and verification of concurrent systems in CESAR
Proceedings of the 5th Colloquium on International Symposium on Programming
Compositional Minimization of Finite State Systems
CAV '90 Proceedings of the 2nd International Workshop on Computer Aided Verification
Design and Synthesis of Synchronization Skeletons Using Branching-Time Temporal Logic
Logic of Programs, Workshop
Assumption Generation for Software Component Verification
Proceedings of the 17th IEEE international conference on Automated software engineering
LICS '96 Proceedings of the 11th Annual IEEE Symposium on Logic in Computer Science
Model Checking for an Executable Subset of UML
Proceedings of the 16th IEEE international conference on Automated software engineering
Translation-based co-verification
MEMOCODE '05 Proceedings of the 2nd ACM/IEEE International Conference on Formal Methods and Models for Co-Design
Decompositional Verification of Component-based Systems-A Hybrid Approach
Proceedings of the 19th IEEE international conference on Automated software engineering
The computational complexity of component selection in simulation reuse
WSC '05 Proceedings of the 37th conference on Winter simulation
Component-based hardware/software co-verification for building trustworthy embedded systems
Journal of Systems and Software
A Contract-based Approach to Specifying and Verifying Safety Critical Systems
Electronic Notes in Theoretical Computer Science (ENTCS)
Decomposing Verification Around End-User Features
Verified Software: Theories, Tools, Experiments
Verified Software: The Real Grand Challenge
Verified Software: Theories, Tools, Experiments
Checking Interaction Consistency in MARMOT Component Refinements
SOFSEM '07 Proceedings of the 33rd conference on Current Trends in Theory and Practice of Computer Science
Early Prototyping of Wireless Sensor Network Algorithms in PVS
SAFECOMP '08 Proceedings of the 27th international conference on Computer Safety, Reliability, and Security
Towards Component-Based Design and Verification of a μ-Controller
CBSE '08 Proceedings of the 11th International Symposium on Component-Based Software Engineering
A model of component-based programming
FSEN'07 Proceedings of the 2007 international conference on Fundamentals of software engineering
Compositional model checking of software product lines using variation point obligations
Automated Software Engineering
Design verification in model-based μ-controller development using an abstract component
Software and Systems Modeling (SoSyM)
Information and Software Technology
Checking component composability
SC'06 Proceedings of the 5th international conference on Software Composition
Verification of component-based software application families
CBSE'06 Proceedings of the 9th international conference on Component-Based Software Engineering
The Journal of Supercomputing
Hi-index | 0.00 |
This paper presents an approach to integration of model checking into component-based development of software systems. This approach assists in development of highly reliable component-based software systems and reduces the complexity of verifying these systems by utilizing their compositional structures. Temporal properties of a software component are specified, verified, and packaged with the component. Selection of a component for reuse considers not only its functionality but also its temporal properties. When a component is composed from other components, a property of the component is verified on an abstraction of the component. The abstraction is constructed from environment assumptions of the component and verified properties of its sub-components. A general component model that enables component verification is defined. Component verification is discussed in the context of the instantiation of the general component model on an Asynchronous Interleaving Message-passing computation model. This approach has been applied to improve reliability of instances of TinyOS, a component-based run-time system for networked sensors. A case study on TinyOS is included, which illustrates the applicability of this approach, the detection of a bug, and the reduction in model checking complexity.