Component Software: Beyond Object-Oriented Programming
Component Software: Beyond Object-Oriented Programming
Proceedings of the 2003 ACM SIGPLAN international workshop on Types in languages design and implementation
The Ravenscar Tasking Profile for High Integrity Real-Time Programs
Ada-Europe '98 Proceedings of the 1998 Ada-Europe International Conference on Reliable Software Technologies
MAST: Modeling and Analysis Suite for Real Time Applications
ECRTS '01 Proceedings of the 13th Euromicro Conference on Real-Time Systems
EUROMICRO '06 Proceedings of the 32nd EUROMICRO Conference on Software Engineering and Advanced Applications
UM-RTCOM: An analyzable component model for real-time distributed systems
Journal of Systems and Software
On Component-Based Development and High-Integrity Real-Time Systems
RTCSA '09 Proceedings of the 2009 15th IEEE International Conference on Embedded and Real-Time Computing Systems and Applications
An Approach to Splitting Atoms Safely
Electronic Notes in Theoretical Computer Science (ENTCS)
IEEE Software
Scheduling configuration of real-time component-based applications
Ada-Europe'10 Proceedings of the 15th Ada-Europe international conference on Reliable Software Technologies
Ada ravenscar code archetypes for component-based development
Ada-Europe'12 Proceedings of the 17th Ada-Europe international conference on Reliable Software Technologies
Hi-index | 0.00 |
In this paper we discuss how the concept of separation of concerns could be conveniently applied to improve the model-driven component-based development of real-time high-integrity systems. Interpreting Dijkstra's view in this regard, we seek separation of concerns between the specification of needs (expressed declaratively by the user as requirements and assumptions) and the conception of a demonstrable solution for them (which we want to implement automatically, in the spirit of model-driven development). We aim to enable software designers to specify the assumptions needed on the expected behavior of the system solely by attaching declarative attributes to the affected elements of the system model. We then want the underlying design environment to produce a solution that provably achieves that behavior at run time. We find this vision to fit very well in a component-based development as it naturally allows the declarative space to be confined to interfaces (for the outside view of components) and operations (for the inside view of them). To prove the viability of our vision we apply it to the handling of synchronization requirements as seen from the perspective of the calling component, which is acutely more challenging than from the standpoint of the provider component.