Skip to main content

Abstraction Layered Architecture: Writing Maintainable Embedded Code

  • Conference paper
  • First Online:
Software Architecture (ECSA 2018)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 11048))

Included in the following conference series:

Abstract

The brisk pace of the growth in embedded technology depends largely on how fast we can write and maintain software contained within embedded devices. Every enterprise seeks to improve its productivity through maintainability. While many avenues for improvement exist, highly maintainable code bases that can stay that way over a long time are rare. This article proposes a reference software architecture for embedded systems aimed at improving long-term maintainability. This reference architecture, called the Abstraction Layered Architecture (ALA), is built on the existing body of knowledge in software architecture and more than two decades of experience in designing embedded software at Tru-Test Group, New Zealand. ALA can be used for almost any object-oriented software project, and strongly supports domain-specific abstractions such as those found in most embedded software.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 59.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 74.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

References

  1. Alexander, C.: The Nature of Order: The Process of Creating Life. Taylor & Francis, Abingdon (2002)

    Google Scholar 

  2. Bengtsson, P., Lassing, N., Bosch, J., van Vliet, H.: Architecture-level modifiability analysis (ALMA). J. Syst. Softw. 69(1–2), 129–147 (2004)

    Article  Google Scholar 

  3. Cataldo, M., Mockus, A., Roberts, J.A., Herbsleb, J.D.: Software dependencies, work dependencies, and their impact on failures. IEEE Trans. Softw. Eng. 35(6), 864–878 (2009)

    Article  Google Scholar 

  4. Clements, P., Garlan, D., Little, R., Nord, R., Stafford, J.: Documenting software architectures: views and beyond. In: Proceedings of the 25th International Conference on Software Engineering, pp. 740–741. IEEE Computer Society (2003)

    Google Scholar 

  5. Foote, B., Yoder, J.: Big ball of mud. Pattern Lang. Program Des. 4, 654–692 (1997)

    Google Scholar 

  6. ISO/IEC: ISO/IEC 25010 - Systems and software engineering - systems and software quality requirements and evaluation (SQuaRE) - system and software quality models, Technical report (2011)

    Google Scholar 

  7. Kruchten, P.B.: The 4 + 1 view model of architecture. IEEE Softw. 12(6), 42–50 (1995)

    Article  Google Scholar 

  8. Martin, R.C.: Agile Software Development: Principles, Patterns, and Practices. Prentice Hall, Upper Saddle River (2002)

    Google Scholar 

  9. Nicolau, A.: Run-time disambiguation: coping with statically unpredictable dependencies. IEEE Trans. Comput. 38(5), 663–678 (1989)

    Article  Google Scholar 

  10. Ossher, H., Tarr, P.: Using multidimensional separation of concerns to (re)shape evolving software. Commun. ACM 44(10), 43–50 (2001)

    Article  Google Scholar 

  11. Page-Jones, M., Constantine, L.L.: Fundamentals of Object-Oriented Design in UML. Addison-Wesley Professional, Boston (2000)

    Google Scholar 

  12. Perepletchikov, M., Ryan, C., Frampton, K.: Cohesion metrics for predicting maintainability of service-oriented software. In: 2007 Seventh International Conference on Quality Software, QSIC 2007, pp. 328–335. IEEE (2007)

    Google Scholar 

  13. de Souza, S.C.B., Anquetil, N., de Oliveira, K.M.: A study of the documentation essential to software maintenance. In: Proceedings of the 23rd Annual International Conference on Design of Communication: Documenting and Designing for Pervasive Information, pp. 68–75. ACM (2005)

    Google Scholar 

  14. Visser, E.: WebDSL: a case study in domain-specific language engineering. In: Lämmel, R., Visser, J., Saraiva, J. (eds.) GTTSE 2007. LNCS, vol. 5235, pp. 291–373. Springer, Heidelberg (2008). https://doi.org/10.1007/978-3-540-88643-3_7

    Chapter  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Roopak Sinha .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2018 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Spray, J., Sinha, R. (2018). Abstraction Layered Architecture: Writing Maintainable Embedded Code. In: Cuesta, C., Garlan, D., Pérez, J. (eds) Software Architecture. ECSA 2018. Lecture Notes in Computer Science(), vol 11048. Springer, Cham. https://doi.org/10.1007/978-3-030-00761-4_9

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-00761-4_9

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-00760-7

  • Online ISBN: 978-3-030-00761-4

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics