Skip to main content

Preserving Architectural Properties in Multithreaded Code Generation

  • Conference paper
Coordination Models and Languages (COORDINATION 2005)

Part of the book series: Lecture Notes in Computer Science ((LNISA,volume 3454))

Included in the following conference series:

Abstract

Architectural descriptions can provide support for a formal representation of the structure and the overall behavior of software systems, which is suitable for an early assessment of the system properties as well as for the automated generation of code. The problem addressed in this paper is to what extent the properties verified at the architectural level can be preserved during the code generation process for multithreaded programs. In order to limit the human intervention, we propose to separate the thread synchronization management from the thread behavior translation. While a completely automated and architecture-driven approach can guarantee the correct thread coordination, we show that only a partial translation based on stubs is possible for the behavior of the threads, with the preservation of the architectural properties depending on the way in which the stubs are filled in.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Similar content being viewed by others

References

  1. Aldini, A., Bernardo, M.: On the Usability of Process Algebra: An Architectural View. Theoretical Computer Science(to appear)

    Google Scholar 

  2. Aldrich, J., Chambers, C., Notkin, D.: ArchJava: Connecting Software Architecture to Implementation. In: Proc. of the 24th Int. Conf. on Software Engineering (ICSE 2002), Orlando (FL), pp. 187–197. IEEE-CS Press, Los Alamitos (2002)

    Chapter  Google Scholar 

  3. Allen, R., Garlan, D.: A Formal Basis for Architectural Connection. ACM Trans. on Software Engineering and Methodology 6, 213–249 (1997)

    Article  Google Scholar 

  4. Bernardo, M., Bont‘a, E.: Generating Well-Synchronized Multithreaded Programs from Software Architecture Descriptions. In: Proc. of the 4th Working IEEE/IFIP Conf. on Software Architecture (WICSA 2004), Oslo (Norway), pp. 167–176. IEEE-CS Press, Los Alamitos (2004)

    Chapter  Google Scholar 

  5. Bernardo, M., Ciancarini, P., Donatiello, L.: Architecting Families of Software Systems with Process Algebras. ACM Trans. on Software Engineering and Methodology 11, 386–426 (2002)

    Article  Google Scholar 

  6. Canal, C., Pimentel, E., Troya, J.M.: Compatibility and Inheritance in Software Architectures. Science of Computer Programming 41, 105–138 (2001)

    Article  MathSciNet  MATH  Google Scholar 

  7. Garlan, D.: Formal Modeling and Analysis of Software Architectures: Components, Connectors, and Events. In: Bernardo, M., Inverardi, P. (eds.) SFM 2003. LNCS, vol. 2804, pp. 1–24. Springer, Heidelberg (2003)

    Chapter  Google Scholar 

  8. Guimarães, R., Borelli, W.: An Automatic Java Code Generation Tool for Telecom Distributed Systems. In: Proc. of the Int. Conf. on Software, Telecommunications and Computer Networks (SOFTCOM 2002), Split, Croatia (2002)

    Google Scholar 

  9. Inverardi, P., Uchitel, S.: Proving Deadlock Freedom in Component-Based Programming. In: Hussmann, H. (ed.) FASE 2001. LNCS, vol. 2029, pp. 60–75. Springer, Heidelberg (2001)

    Chapter  Google Scholar 

  10. Inverardi, P., Wolf, A.L., Yankelevich, D.: Static Checking of System Behaviors Using Derived Component Assumptions. ACM Trans. on Software Engineering and Methodology 9, 239–272 (2000)

    Article  Google Scholar 

  11. Magee, J., Kramer, J.: Concurrency: State Models & Java Programs. Wiley, Chichester (1999)

    MATH  Google Scholar 

  12. Medvidovic, N., Rosenblum, D.S., Taylor, R.N.: A Language and Environment for Architecture-Based Software Development and Evolution. In: Proc. of the 21st Int. Conf. on Software Engineering (ICSE 1999), Los Angeles (CA), pp. 44–53. IEEE-CS Press, Los Alamitos (1999)

    Google Scholar 

  13. Milner, R.: Communication and Concurrency. Prentice-Hall, Englewood Cliffs (1989)

    MATH  Google Scholar 

  14. Perry, D.E., Wolf, A.L.: Foundations for the Study of Software Architecture. ACM SIGSOFT Software Engineering Notes 17, 40–52 (1992)

    Article  Google Scholar 

  15. Shaw, M., Garlan, D.: Software Architecture: Perspectives on an Emerging Discipline. Prentice-Hall, Englewood Cliffs (1996)

    MATH  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2005 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Bernardo, M., Bontà, E. (2005). Preserving Architectural Properties in Multithreaded Code Generation. In: Jacquet, JM., Picco, G.P. (eds) Coordination Models and Languages. COORDINATION 2005. Lecture Notes in Computer Science, vol 3454. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11417019_13

Download citation

  • DOI: https://doi.org/10.1007/11417019_13

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-25630-4

  • Online ISBN: 978-3-540-32006-7

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics