Abstract
In this work we examine the problem of verifying translations from outputs of one system to the inputs of another system, which we refer to as the output-to-input translation problem. We present a formalization of this problem along with a verification mechanism based on constraint logic programming. Composition of systems is an important issue in the software reuse domain, and has applicability in other areas of software engineering such as transformation of information from one phase of the development process to another. Some challenges are to verify the translation mechanisms that may be needed to connect independently designed components and assess to what degree is the consumer component functionality enabled after the composition takes place. To this end we use constraint logic programming modeling techniques. Our model allows formalization of the translation problem in the form of constraints and relations between the outputs and the inputs of involved components. Since CLP tools are computationally expensive, we identify characteristics of translation problems for which our technique is practical. We conclude with an application of our translation framework within the Documentation Driven Software Development methodology.
This work is sponsored through AOR grant for development of the DDD framework. In addition P.M. Musial is funded through the NRC Postdoctoral Fellowship.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Gen Voca, http://www.program-transformation.org/Transform/GenVoca
Pârv, B., Motogna, S., Lazăr, I., Czibula, I., Lazăr, L.: ComDeValCo – a framework for software component definition, validation, and composition. Studia Universitatis Babes-Bolyai Informatica LII(2), 59–68 (2007)
Speck, A., Pulvermüller, E., Jerger, M., Franczyk, B.: Component composition validation. International Journal of Applied Mathematics and Computer Science 12(4), 581–589 (2002)
Batory, D., Geraci, B.: Composition validation and subjectivity in GenVoca generators. IEEE Transactions on Software Engineering 23(2), 67–82 (1997)
Cicchetti, A., Di Ruscio, D.: Decoupling web application concerns through weaving operations. Sci. Comput. Program. 70(1), 62–86 (2008)
Lynch, N.: Distributed Algorithms. Morgan Kaufmann Publishers, San Francisco (1996)
Meijer, E., Drayton, P.: Static typing where possible, dynamic typing when needed (2005)
Choco Constraint Programming System, http://choco.sourceforge.net
Jaffar, J., Maher, M.: Constraint logic programming: A survey. Journal of Logic Programming 19(20), 503–581 (1994)
Russell, S., Norvig, P.: Artificial Intelligence: A Modern Approach. Prentice Hall Series in Artificial Intelligence (2003)
Bartak, R.: Theory and practice of constraint propagation. In: Proceedings of the 3rd Workshop on Constraint Programming in Decision and Control (2001)
Luqi: Dependable software architecture based on quantifiable compositional model. Technical Report NPS-CS-08-003, NPS (January 2008)
Deransart, P., Hermenegildo, M., Maluszynski, J. (eds.): DiSCiPl 1999. LNCS, vol. 1870. Springer, Heidelberg (2000)
Jaffar, J., Lassez, J.L.: Constraint logic programming. In: Proceedings of 14th ACM Symposium on Principles of Programming Languages, pp. 111–119 (1987)
Rossi, F., Van Beek, P., Walsh, T.: Handbook of Constraint Programming. Elsevier, Amsterdam (2006)
Benhamou, F., Older, W.: Programming in CLP(BNR). In: Proceedings of 1’st Workshop on Principles and Practice of Constraint Programming (1993)
Aiba, A., Sakai, K., Sato, Y., Hawley, D., Hasegawa, R.: Constraint logic programming language CAL. In: Proceedings of the International Conference on Fifth Generation Computer Systems, pp. 263–276 (1988)
Dincbas, M., Van Hentenryc, P., Simons, H., Aggoun, A.: The constraint logic programming lanugage CHIP. In: Proceedings of the 2nd International Conference on Fifth Generation Computer Systems, pp. 249–264 (1988)
Jaffar, J., Michaylov, S., Yap, R.: The CLP(R) language and system. ACM Transactions on Programming Languages 14(3), 339–395 (1992)
Colmerauer, A.: An introduction to prolog III. Communications of the ACM 33(7), 68–90 (1990)
Hong, H.: RISC-CLP(Real): Logic programming with non-linear constraints over the reals. In: Benhamou, F., Colmerauer, A. (eds.) Constraint Logic Programming: Selected Research, pp. 133–159. MIT Press, Cambridge (1993)
Fikes, R.: REF-ARF: A system for solving problems stated as procedures. 1, 27–120 (1970)
Delzanno, G., Podelski, A.: Constraint-based deductive model checking. International Journal on Software Tools for Technology Transfer 3(3), 250–270 (2001)
Van Roy, P., Haridi, S.: Concepts, Techniques, and Models of Computer Programming. MIT Press, Cambridge (2004)
Van Roy, P. (ed.): MOZ 2004. LNCS, vol. 3389. Springer, Heidelberg (2005) (Revised Selected and Invited Papers)
Luqi, L.Z., Berzins, V., Qiao, Y.: Documentation driven development for complex real-time systems. 30, 936–952 (2004)
Berzins, V., RodrÃguez, M., Wessman, M.: Putting teeth into open architectures: Infrastructure for reducing the need for retesting, pp. 285–312 (May 2007)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2010 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Berzins, V., Luqi, Musial, P. (2010). Formal Reasoning about Software Object Translations . In: Choppy, C., Sokolsky, O. (eds) Foundations of Computer Software. Future Trends and Techniques for Development. Monterey Workshop 2008. Lecture Notes in Computer Science, vol 6028. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-12566-9_3
Download citation
DOI: https://doi.org/10.1007/978-3-642-12566-9_3
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-12565-2
Online ISBN: 978-3-642-12566-9
eBook Packages: Computer ScienceComputer Science (R0)