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.
Handling Synchronization Requirements under Separation of Concerns in Model-driven Component-based Development
VARDANEGA, TULLIO
2012
Abstract
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.Pubblicazioni consigliate
I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.