Skip to main content

Including non-functional issues in Anna/Ada programs for automatic implementation selection

  • Conference paper
  • First Online:
Reliable Software Technologies — Ada-Europe '97 (Ada-Europe 1997)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 1251))

Included in the following conference series:

Abstract

We present an enrichment of the Anna specification language for Ada aimed at dealing not only with functional specification of packages but also with non-functional information about them. By non-functional information we mean information about efficiency, reliability and, in general, any software attribute measuring somehow the quality of software (perhaps in a subjective manner). We divide this information into three kinds: definition of non-functional properties, statement of non-functional behaviour and statement of non-functional requirements; like Anna annotations, all of this information appears in Ada packages and package bodies and their syntax is close to Ada constructs. Non-functional information may be considered not only as valuable comments, but also as an input for an algorithm capable of selecting the “best” package body for every package definition in a program, the “best” meaning the one that fits the set of non-functional requirements of the package in the program.

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.

References

  1. U.S. Departament of Defense. Reference Manual for the Ada Programming Language. American National Standards Institute/MIL-STD-1815A-1983, 1983.

    Google Scholar 

  2. G. Brassard. “Crusade for a Better Notation”. SIGACT News, 16(4), 1985.

    Google Scholar 

  3. D. Cohen, N. Goldman, K. Narayanaswamy. “Adding Performance Information to ADT Interfaces”. In Procs. of Interface Definition Languages Workshop, SIGPLAN Notices 29(8), 1994.

    Google Scholar 

  4. S. Cárdenas, M.V. Zelkowitz. “Evaluation Criteria for Functional Specifications”. In Proceedings of 12th ICSE, Nice (France), 1990.

    Google Scholar 

  5. X. Franch, X. Burgués. “Supporting Incremental Component Programming with Functional and Non-Functional Information”. In Proceedings of XVI Computer Science Chilean Conference (SCCC), Valdivia (Chile), 1996.

    Google Scholar 

  6. X. Franch, P. Botella. “Supporting Software Maintenance with Non-Functional Information”. In Proceedings of 1st Euromicro Conference on Software Maintencance and Reengineering, Berlin (Germany), 1997.

    Google Scholar 

  7. X. Franch. “Combining Different Implementations of Types in a Program”. In Proceedings Joint of Modular Languages Conference, Ulm (Germany), 1994.

    Google Scholar 

  8. X. Franch. “Automatic Implementation Selection for Software Components using a Multiparadigm Language to state Non-Functional Issues”. Ph.D. Thesis, Universität Politècnica de Catalunya (Catalonia, Spain), 1996.

    Google Scholar 

  9. J.V. Guttag. The Specification and Application to Programming of Abstract Data Types. Ph.D. Thesis, University of Toronto, 1975.

    Google Scholar 

  10. C.A.R. Hoare. “Proof of Correctness of Data Representations”. In Programming Methodology, Springer-Verlag, 1972.

    Google Scholar 

  11. M. Jazayeri. “Component Programming — a Fresh Look at Software Components”. In Proceedings of 5th ESEC, Barcelona (Catalonia, Spain), 1995.

    Google Scholar 

  12. D.C. Luckham, F.W. von Henke. “An Overview of Anna, a Specification Language for Ada”. Software IEEE, March 1985.

    Google Scholar 

  13. D.C. Luckham. Programming with Specifications: an Introduction to ANNA, a Language for Specifying Ada Programs. Texts and Monographs in Computer Science, Springer-Verlag.

    Google Scholar 

  14. E. Kant. “On the Efficient Synthesis of Efficient Programs”. In Readings in Artificial Intelligence and Soßware Engineering, Morgan Kaufmann, 1986.

    Google Scholar 

  15. D.E. Knuth. “Big Omicron and Big Omega and Big Theta”. SIGACT News, 8(2), 1976.

    Google Scholar 

  16. B. Liskov, J. Guttag. Abstraction and Specification in Program Development. The MIT Press, 1986.

    Google Scholar 

  17. Y. Matsumoto. “Some Experiences in Promoting Reusable Software”. IEEE Transactions on Software Engineering, 10(5), 1984.

    Google Scholar 

  18. J. Mylopoulos, L. Chung, B.A. Nixon. “Representing and Using Nonfunctional Requirements: A Process-Oriented Approach”. IEEE Transactions on Software Engineering, 18(6), 1992.

    Google Scholar 

  19. J. Schwartz et al. Programming with Sets: Introduction to SETL. Springer-Verlag, 1986.

    Google Scholar 

  20. M. Shaw. “Abstraction Techniques in Modern Programming Languages”. IEEE Software, 1(10), 1984.

    Google Scholar 

  21. M. Sitaraman. “On Tight Performance Specification of Object-Oriented Components”. In Proceedings 3rd International Conference on Software Reuse, IEEE Computer Society Press, 1994.

    Google Scholar 

  22. M. Sitaraman (coordinator). “Special Feature: Component-Based Software Using RESOLVE”. ACM Software Engineering Notes, 19(4), Oct. 1994.

    Google Scholar 

  23. P.C-Y. Sheu, S. Yoo. “A Knowledge-Based Program Transformation System”. In Proceedings 6th CAiSE, Utrecht (The Netherlands), LNCS 811, 1994.

    Google Scholar 

  24. J.M. Wing. “Specifying Avalon Objects in Larch”. In Proceedings of TAPSOFT'89, Vol. 2, Barcelona (Catalonia, Spain), LNCS 352, 1989.

    Google Scholar 

  25. J.M. Wing. “A Specifier's Introduction to Formal Methods”. IEEE Computer 23(9), 1990.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Keith Hardy Jim Briggs

Rights and permissions

Reprints and permissions

Copyright information

© 1997 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Franch, X. (1997). Including non-functional issues in Anna/Ada programs for automatic implementation selection. In: Hardy, K., Briggs, J. (eds) Reliable Software Technologies — Ada-Europe '97. Ada-Europe 1997. Lecture Notes in Computer Science, vol 1251. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-63114-3_9

Download citation

  • DOI: https://doi.org/10.1007/3-540-63114-3_9

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-63114-9

  • Online ISBN: 978-3-540-69150-1

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics