Abstract
In this paper we present a logical framework for evolving software systems in which the critical aspects of large-scale software systems maintenance are treated by an approach which considers that configuration management is essentially concerned with the management of system changes. The basis of this framework is a formal description of transitions that might be made in the soft-ware change process, the purpose of the formalism is to allow deductions to be made about the validity of such transitions. A generalised formal description of software system architectures from the viewpoint of evolving software systems is also provided in the paper. Reasoning about functional aspects of these descriptions is achieved through the interaction of a theorem prover for the proposed metalogic formalism and a theorem prover for reasoning about sequential programs. In our approach the alterations of software descriptions can be viewed as programming-in-the-large transformations which are stated by means of the descriptive/prescriptive (deontic) features of actions.
Similar content being viewed by others
References
Alencar, P.S.C. and Lucena, C.J.P.: A Formal Description of Evolving Software Systems Architectures.Science of Programming (to appear), 1994.
Alencar, P.S.C. and Lucena, C.J.P.: A Formal Description of Evolving Software Systems Architectures, Technical Report CS-92-12, Computer Science Department, University of Waterloo, 1992.
Alencar, P.S.C.: An Evolving Logical Approach to Software Systems (in portuguese), PhD Thesis, Depto de Informatica, Catholic University of Rio de Janeiro (PUC-Rio), 1992.
Alencar, P.S.C. and Lucena, C.J.P.: Formalization of Concepts in Configuration Management (in portuguese),Proceedings of the V Brazilian Symposium on Software Engineering, 1991.
Alencar, P.S.C.: A Logical Approach for Evolving Software Systems (in portuguese), Monografias da Ciência da Computação, Depto de Informática, PUC-Rio, 1989.
Alencar, P.S.C. and Buchsbaum, A. R. V.: An Automated Reasoning Method for a Many-Sorted Deontic Action Logic, Monografias em Ciência da Computação, Depto de Informática, PUC-Rio, 1989.
Ambriola, V., Bendix, L. and Ciancarini, P.: The Evolution of Configuration Management and Version Control.Software Engineering Journal, November, 1990.
Babich, W.:Software Configuration Management. Addison-Wesley, Reading, MA, 1986.
Barringer, H., Chen, J. and Jones, C.: A Logic Covering Undefinedness in Program Proofs.Acta Informatica, vol.21, 251–259, 1984.
Bell, J. and Machover, M.:A Course in Mathematical Logic. North-Holland Pub. Co., 1977.
Costa, M. and Cunningham, R. J.: Mechanized Deduction and Modal Action Logic, Forest Report 5, Imperial College, University of London.
Dijkstra, E.:A Discipline of Programming. Prentice-Hall, Englewood Cliffs, NJ, 1976.
Enderton, H. B.:A Mathematical Introduction to Logic. Academic Press, 1972.
Fikes, R. E. and Nilsson, N. J.: Strips: A New Approach to the Application of Theorem Proving to Problem Solving.Artificial Intelligence,2, 189–208, 1971.
Fitting, M.:Proof Methods for Modal and Intuitionistic Logics. D. Reidel Pub. Co., Dordrecht, 1983.
Ginsberg, M. L.: Possible Worlds Planning,Proceedings of the 1986 Workshop on Planning and Reasoning about Action, pp. 213–243, Timberline, OR, 1986.
Ginsberg, M. L.and Smith, D. E.: Reasoning about Action I: A Possible Worlds Approach.Artificial Intelligence,35, pp. 165–195, 1988.
Goldblatt, R.: Axiomatizing the Logic of Computer Programming.Lecture Notes in Computer Science,130, Springer-Verlag, 1982.
Gries, D.:The Science of Programming. Springer-Verlag, New York, 1981.
Habermann, A.: System Composition and Version Control for Ada.Software Engineering Environments, H. Hunke (ed.), North Holland, 1981.
Hoare, C. A. R.: An Axiomatic Basis for Computer Programming.Communications of the ACM, vol.21, October, 1969.
Jackson,P. and Reichgelt, H.: A General Proof Method for First-Order Modal Logic,Proceedings of the IJCAI, pp. 942–944, 1987.
Jeremaes, P., Khosla, S. and Maibaum, T.: A Modal Action Logic for Requirements Specification.Software Engineering 86, eds. P. Brown and D. Barnes, Pub. Peter Peregrinus, 1986.
Jones, C. B.:Software Development: a Rigorous Approach. Prentice-Hall, International Series in Computer Science, 1980.
Jones, C. B.:Systematic Software Development Using VDM. Prentice-Hall, International Series in Computer Science, 1986.
Khosla, S.: System Specification: A Deontic Approach, PhD Thesis, Department of Computing, Imperial College of Science and Technology, 1988.
Narayanaswamy, K. and Scacchi, W.: Maintaining Configurations of Evolving Software Systems.IEEE Trans. Soft. Eng., vol.SE-13, no. 3, pp. 324–334, 1987.
Narayanaswamy, K. and Scacchi, W.: A Database Foundation to Support Software System Evolution.The Journal of Systems and Software,7, pp. 37–49, 1987.
Reiter, R.: A Logic for Default Reasoning.Artificial Intelligence, vol.13, pp. 81–132, 1980.
Smullyan, R. M.:First Order Logic. Springer-Verlag, Berlin, 1968.
Tichy, W.: Software Development Control Based on Module Interconnection,Proceedings of the International Conference on Software Engineering, p. 29–41, IEEE, 1979.
Tichy, W.: Software Development Control Based on System Structure Description, Ph.D. Thesis, CMU Computer Science Department, CMU-CS-80-120, 1980.
Tichy, W.: Design, Implementation, Evaluation of a Revision Control System, 6thInternational Conference on Software Engineering, pp. 58–67, IEEE, September, 1982.
Author information
Authors and Affiliations
Corresponding author
Additional information
P. S. C. de Alencar is a Visiting Professor in the Computer Science Department at the University of Waterloo, Waterloo, Ontario, Canada and is currently on leave from the Departamento de Ciência da Computação, Universidade de Brasília, Brasília, Brazil.
C. J. P. Lucena is a Visiting Professor in the Computer Science Department at the University of Waterloo, Waterloo, Ontario, Canada and is currently on leave from the Departamento de Informática, Pontifícia Universidade Católica do Rio de Janeiro, Brazil.
Rights and permissions
About this article
Cite this article
Alencar, P.S.C., de Lucena, C.J.P. A logical framework for evolving software systems. Formal Aspects of Computing 8, 3–46 (1996). https://doi.org/10.1007/BF01211049
Published:
Issue Date:
DOI: https://doi.org/10.1007/BF01211049