Design and validation of computer protocols
Design and validation of computer protocols
Correct Architecture Refinement
IEEE Transactions on Software Engineering - Special issue on software architecture
Formal methods: state of the art and future directions
ACM Computing Surveys (CSUR) - Special ACM 50th-anniversary issue: strategic directions in computing research
A formal basis for architectural connection
ACM Transactions on Software Engineering and Methodology (TOSEM)
Experiences Using Lightweight Formal Methods for Requirements Modeling
IEEE Transactions on Software Engineering
Objects, components, and frameworks with UML: the catalysis approach
Objects, components, and frameworks with UML: the catalysis approach
Formal verification in hardware design: a survey
ACM Transactions on Design Automation of Electronic Systems (TODAES)
Communicating and mobile systems: the &pgr;-calculus
Communicating and mobile systems: the &pgr;-calculus
A Classification and Comparison Framework for Software Architecture Description Languages
IEEE Transactions on Software Engineering
Model checking
UML components: a simple process for specifying component-based software
UML components: a simple process for specifying component-based software
Formal synthesis and code generation of embedded real-time software
Proceedings of the ninth international symposium on Hardware/software codesign
System architecture directions for networked sensors
ASPLOS IX Proceedings of the ninth international conference on Architectural support for programming languages and operating systems
Component-based product line engineering with UML
Component-based product line engineering with UML
Component-based software architectures: a framework based on inheritance of behavior
Science of Computer Programming
Component Software: Beyond Object-Oriented Programming
Component Software: Beyond Object-Oriented Programming
IEEE Software
Construction of Abstract State Graphs with PVS
CAV '97 Proceedings of the 9th International Conference on Computer Aided Verification
The nesC language: A holistic approach to networked embedded systems
PLDI '03 Proceedings of the ACM SIGPLAN 2003 conference on Programming language design and implementation
Implementing Statecharts in PROMELA/SPIN
WIFT '98 Proceedings of the Second IEEE Workshop on Industrial Strength Formal Specification Techniques
Verified systems by composition from verified components
Proceedings of the 9th European software engineering conference held jointly with 11th ACM SIGSOFT international symposium on Foundations of software engineering
Formal Methods in Embedded Design
Computer
Reo: a channel-based coordination model for component composition
Mathematical Structures in Computer Science
Revisiting Statechart Synthesis with an Algebraic Approach
Proceedings of the 26th International Conference on Software Engineering
Model Checking Embedded Systems with PROMELA
ECBS '05 Proceedings of the 12th IEEE International Conference and Workshops on Engineering of Computer-Based Systems
Component-Based Approach to Run-Time Kernel Specification and Verification
ECRTS '05 Proceedings of the 17th Euromicro Conference on Real-Time Systems
Component composition errors and update atomicity: static analysis: Research Articles
Journal of Software Maintenance and Evolution: Research and Practice - Unanticipated Software Evolution
Model-Driven Development of Real-Time Systems with UML 2.0 and C
MBD-MOMPES '06 Proceedings of the Fourth Workshop on Model-Based Development of Computer-Based Systems and Third International Workshop on Model-Based Methodologies for Pervasive and Embedded Software
Enforceable component-based realtime contracts
Real-Time Systems
Consistent Interaction Of Software Components
Journal of Integrated Design & Process Science - Component-Based System Development
Characterizing Communication Channel Deadlocks in Sequence Diagrams
IEEE Transactions on Software Engineering
Static verification of component composition in contextual composition frameworks
International Journal on Software Tools for Technology Transfer (STTT)
Spin model checker, the: primer and reference manual
Spin model checker, the: primer and reference manual
Checking Interaction Consistency in MARMOT Component Refinements
SOFSEM '07 Proceedings of the 33rd conference on Current Trends in Theory and Practice of Computer Science
Towards Component-Based Design and Verification of a μ-Controller
CBSE '08 Proceedings of the 11th International Symposium on Component-Based Software Engineering
Verification of an abstract component using communication patterns
MOMPES '09 Proceedings of the 2009 ICSE Workshop on Model-Based Methodologies for Pervasive and Embedded Software
A taxonomy on component-based software engineering methods
Proceedings of the 2004 international conference on Architecting Systems with Trustworthy Components
Information and Software Technology
The Journal of Supercomputing
Hi-index | 0.00 |
Component-based software development is a promising approach for controlling the complexity and quality of software systems. Nevertheless, recent advances in quality control techniques do not seem to keep up with the growing complexity of embedded software; embedded systems often consist of dozens to hundreds of software/hardware components that exhibit complex interaction behavior. Unanticipated quality defects in a component can be a major source of system failure. To address this issue, this paper suggests a design verification approach integrated into the model-driven, component-based development methodology Marmot. The notion of abstract components--the basic building blocks of Marmot--helps to lift the level of abstraction, facilitates high-level reuse, and reduces verification complexity by localizing verification problems between abstract components before refinement and after refinement. This enables the identification of unanticipated design errors in the early stages of development. This work introduces the Marmot methodology, presents a design verification approach in Marmot, and demonstrates its application on the development of a μ-controller-based abstraction of a car mirror control system. An application on TinyOS shows that the approach helps to reuse models as well as their verification results in the development process.