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.
Preview
Unable to display preview. Download preview PDF.
References
U.S. Departament of Defense. Reference Manual for the Ada Programming Language. American National Standards Institute/MIL-STD-1815A-1983, 1983.
G. Brassard. “Crusade for a Better Notation”. SIGACT News, 16(4), 1985.
D. Cohen, N. Goldman, K. Narayanaswamy. “Adding Performance Information to ADT Interfaces”. In Procs. of Interface Definition Languages Workshop, SIGPLAN Notices 29(8), 1994.
S. Cárdenas, M.V. Zelkowitz. “Evaluation Criteria for Functional Specifications”. In Proceedings of 12th ICSE, Nice (France), 1990.
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.
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.
X. Franch. “Combining Different Implementations of Types in a Program”. In Proceedings Joint of Modular Languages Conference, Ulm (Germany), 1994.
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.
J.V. Guttag. The Specification and Application to Programming of Abstract Data Types. Ph.D. Thesis, University of Toronto, 1975.
C.A.R. Hoare. “Proof of Correctness of Data Representations”. In Programming Methodology, Springer-Verlag, 1972.
M. Jazayeri. “Component Programming — a Fresh Look at Software Components”. In Proceedings of 5th ESEC, Barcelona (Catalonia, Spain), 1995.
D.C. Luckham, F.W. von Henke. “An Overview of Anna, a Specification Language for Ada”. Software IEEE, March 1985.
D.C. Luckham. Programming with Specifications: an Introduction to ANNA, a Language for Specifying Ada Programs. Texts and Monographs in Computer Science, Springer-Verlag.
E. Kant. “On the Efficient Synthesis of Efficient Programs”. In Readings in Artificial Intelligence and Soßware Engineering, Morgan Kaufmann, 1986.
D.E. Knuth. “Big Omicron and Big Omega and Big Theta”. SIGACT News, 8(2), 1976.
B. Liskov, J. Guttag. Abstraction and Specification in Program Development. The MIT Press, 1986.
Y. Matsumoto. “Some Experiences in Promoting Reusable Software”. IEEE Transactions on Software Engineering, 10(5), 1984.
J. Mylopoulos, L. Chung, B.A. Nixon. “Representing and Using Nonfunctional Requirements: A Process-Oriented Approach”. IEEE Transactions on Software Engineering, 18(6), 1992.
J. Schwartz et al. Programming with Sets: Introduction to SETL. Springer-Verlag, 1986.
M. Shaw. “Abstraction Techniques in Modern Programming Languages”. IEEE Software, 1(10), 1984.
M. Sitaraman. “On Tight Performance Specification of Object-Oriented Components”. In Proceedings 3rd International Conference on Software Reuse, IEEE Computer Society Press, 1994.
M. Sitaraman (coordinator). “Special Feature: Component-Based Software Using RESOLVE”. ACM Software Engineering Notes, 19(4), Oct. 1994.
P.C-Y. Sheu, S. Yoo. “A Knowledge-Based Program Transformation System”. In Proceedings 6th CAiSE, Utrecht (The Netherlands), LNCS 811, 1994.
J.M. Wing. “Specifying Avalon Objects in Larch”. In Proceedings of TAPSOFT'89, Vol. 2, Barcelona (Catalonia, Spain), LNCS 352, 1989.
J.M. Wing. “A Specifier's Introduction to Formal Methods”. IEEE Computer 23(9), 1990.
Author information
Authors and Affiliations
Editor information
Rights 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