Handling Synchronization Requirements under Separation of Concerns in Model-Driven Component-Based Development

  • Patricia López Martínez
  • Tullio Vardanega
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7308)

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.

Keywords

Separation of Concerns component-based development synchronization high-level data races 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Szyperski, C.: Component Software: Beyond Object-Oriented Programming, 2nd edn. Addison-Wesley Professional, Boston (2002)Google Scholar
  2. 2.
    Panunzio, M., Vardanega, T.: On component-based development and high-integrity real-time systems. In: 15th IEEE Intl. Conf. Embedded and Real-Time Computing Systems and Applications. IEEE Press, Beijing (2009)Google Scholar
  3. 3.
    Dijkstra, E.W.: On the role of scientific thought. In: Dijkstra, E.W. (ed.) Selected writings on Computing: A Personal Perspective, pp. 60–66. Springer (1982)Google Scholar
  4. 4.
    Panunzio, M., Vardanega, T.: A Component Model Fit for Embedded Real-Time Systems. Submitted to REDS Special Issue of ACM Transactions on Embedded Computing SystemsGoogle Scholar
  5. 5.
    Panunzio, M.: Definition, realization and evaluation of a software reference architecture for use in space applications. Ph.D. thesis. University of Padua, Italy (2011)Google Scholar
  6. 6.
    Mili, H., Sahraoui, H., Lounis, H., Mcheick, H., Elkharraz, A.: Understanding separation of Concerns. In: Early Aspects: Aspect-Oriented Requirements Engineering and Architecture Design, pp. 75–84 (2004)Google Scholar
  7. 7.
    Schmidt, D.C.: Model-Driven Engineering. IEEE Computer 39(2) (2006)Google Scholar
  8. 8.
    Wallnau, K.: Point/Counterpoint. IEEE Software 28(3) (2011)Google Scholar
  9. 9.
    Bondarev, E., de With, P., Chaudron, M.: Compositional Performance Analysis of Component-Based Systems on Heterogeneous Multiprocessor Platforms. In: Proc. 32th. Euromicro Conf. on Software Engineering and Advanced Applications. IEEE Press (2006)Google Scholar
  10. 10.
    Díaz, M., Garrido, D., Llopis, L., Rus, F., Troya, J.M.: UM-RTCOM: An analyzable component model for real-time distributed systems. J. Syst. Software 81 (2008)Google Scholar
  11. 11.
    Artho, C., Havelund, K., Biere, A.: High-level data races. Software Testing, Verification and Reliability 13, 207–277 (2003)CrossRefGoogle Scholar
  12. 12.
    Flanagan, C., Qadeer, S.: Types for Atomicity. In: Workshop on Types in Language Design and Implementation. ACM Press (2003)Google Scholar
  13. 13.
    López Martínez, P., Barros, L., Drake, J.M.: Scheduling Configuration of Real-Time Component-Based Applications. In: Real, J., Vardanega, T. (eds.) Ada-Europe 2010. LNCS, vol. 6106, pp. 181–195. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  14. 14.
    Jones, C.B.: An approach to splitting atoms safely. In: 21st Annual Conference of Mathematical Foundations of Programming Semantics, MFPS XXI. Electronic Notes in Theoretical Computer Science, vol. 155, pp. 43–60 (2006)Google Scholar
  15. 15.
    Object Management Group, UML Profile for Modeling and Analysis of Real-Time and Embedded systems (MARTE), version 1.0, OMG doc. formal/2009-11-02 (2009)Google Scholar
  16. 16.
    González Harbour, M., Gutiérrez, J.J., Palencia, J.C., Drake, J.M.: MAST: Modeling and Analysis Suite for Real-Time Applications. In: 22nd. Euromicro Conf. Real-Time Systems. IEEE Press (2001)Google Scholar
  17. 17.
    Burns, A., Dobbing, B., Vardanega, T.: Guide for the Use of the Ada Ravenscar Profile in High Integrity Systems. Technical Report YCS-2003-348. University of York (2003)Google Scholar
  18. 18.
    Medina, J., García Cuesta, A.: From composable design models to schedulability analysis with UML and UML profile for MARTE. In: 3rd Workshop on Compositional Theory and Technology for Real-time Embedded Systems (2010)Google Scholar
  19. 19.
    Burns, A., Dobbing, B., Romanski, G.: The Ravenscar Tasking Profile for High Integrity Real-Time Programs. In: Asplund, L. (ed.) Ada-Europe 1998. LNCS, vol. 1411, pp. 263–275. Springer, Heidelberg (1998)CrossRefGoogle Scholar
  20. 20.
    Panunzio, M., Vardanega, T.: Ada Ravenscar Code Archetypes for Component-Based Development. In: Brorsson, M., Pinho, L.M. (eds.) Ada-Europe 2012. LNCS, vol. 7308, pp. 1–17. Springer, Heidelberg (2012)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2012

Authors and Affiliations

  • Patricia López Martínez
    • 1
  • Tullio Vardanega
    • 2
  1. 1.Computers and Real-Time GroupUniversity of CantabriaSantanderSpain
  2. 2.Department of MathematicsUniversity of PaduaPadovaItaly

Personalised recommendations