This Article 
 Bibliographic References 
 Add to: 
Designing and Prototyping Data-Intensive Applications in the Logres and Algres Programming Environment
June 1992 (vol. 18 no. 6)
pp. 534-546

The authors present an environment and a methodology for the design and rapid prototyping of data-intensive software applications, i.e., applications which perform substantial retrieval and update activity on persistent data. In the approach, the application is formally specified using Logres, a database language which combines object-oriented data modeling and rule-based programming. These specifications are translated into Algres, an extended relational algebra, thus yielding a rapid executable prototype. Algres programs embedded into a conventional programming language interface may be converted to conventional programs operating on a commercial relational system. This methodology helps automate the conversion from declarative requirements to imperative code, performing several tasks fully automatically and reducing the probability of human errors, while integrity constraints and application specifications are expressed in a declarative language, at a very high level of abstraction.

[1] A. Sistemi, "Intelligent training system," Esprit Project 1133, Tech. Rep., Doc. AS-ESP-SWD-004, Mar. 1987.
[2] S. Abiteboul and N. Bidoit, "Non-first normal form relations to represent hierarchically organized data," inProc. 3rd ACM Conf. on Principle of Database Syst.(Waterloo, ON, Canada), 1984 (also published inJ. Comput. Syst. Sci., vol. 33, 1986.)
[3] S. Abiteboul and P. C. Kanellakis, "Object identity as a query language primitive," inProc. 1989 ACM-SIGMOD Int. Conf. on Management of Data(Portland, OR), May 1989.
[4] C. Batini, S. Ceri, and S. B. Navathe,Conceptual Database Design, an Entity Relationship Approach. Menlo Park, CA: Benjamin-Cummings, 1991.
[5] Borgida, M. Jarke, J. Mylopoulos, J.-W. Schmidt, and J. Vassiliou, "The software engineering environment as a knowledge-base system,"Foundations of Knowledge Base Management, J.-W. Schmidt and C. Thanos, Eds. New York: Springer-Verlag, 1987, pp. 411-440.
[6] F. Cacace, S. Ceri, S. Crespi-Reghizzi, L. Tanaka, and R. Zicari, "Integrating object oriented data modeling with a rule-based programming paradigm," inProc. ACM-Sigmod Int. Conf. on Management of Data, 1990.
[7] A. Campanini and M. Lavizzari, "From the development of the methodology to the design and implementation of a computer application in Algres: The hydraulic system of a helicopter," Master thesis, Politecnico di Milano, 1989.
[8] L. Cardelli, "A semantics of multiple inheritance,"Inform. Computation, vol. 76, pp. 138-164, 1988.
[9] S. Ceri and L. Tanca, "Optimization of systems of algebraic equations for evaluating datalog queries," inProc. 11th Int. Conf. on Very Large Data Bases(Brighton, UK), Aug. 1987.
[10] S. Ceri, G. Gottlob, and L. Tanca,Logic Programming and Databases. Berlin: Springer-Verlag, 1990.
[11] S. Ceri, S. Crespi-Reghizzi, L. Lamperti, L. Lavazza, and R. Zicari, "Algres: an advanced database for complex applications,"IEEE Software, vol. 7, no. 4, pp. 68-78, 1990.
[12] The DAIDA Team, "Toward KBMS for software development: an overview of the Daida project," inProc. 1st Conf. on Extending Data-base Techn.(Venice), Mar. 1988, J. Schmidt, S. Ceri, and M. Missikoff, Eds. (Lecture Notes on Comput. Sci. no. 303). Berlin: Springer-Verlag, 1988, pp. 572-577.
[13] V. De Antonellis and B. Pernici,Ithaca Object-Oriented Methodology Manual. Milano: Politecnico di Milano, 1991.
[14] P. C. Fisher and S. J. Thomas, "Operators for non-first-normal-form relations," inProc. IEEE COMPSAC, 1983.
[15] D. H. Fishmanet al., "Overview of the IRIS DBMS," inObject Oriented Concepts, Databases, and Applications, W. Kim and F. H. Lochowsky, Eds. New York: ACM, 1989.
[16] A. Geser and H. Hussman, "Experience with the RAP system: a specification interpeter combining term writing and resolution," inProc. ESOP'86(Lecture Notes in Comput. Sci. no. 213). Berlin: Springer-Verlag, 1986, pp. 339-350.
[17] S. J. Greenspan, A. Borgida, and J. Mylopoulos, "A requirements modeling language and its logic,"Inform. Syst., vol. 11, no. 1, pp. 9-23, 1986.
[18] M. A. Jeusfeld, M. Mertikas, I. Wetzel, M. Jarke, and J.-W. Schmidt, "Database application development as an object modeling activity," inProc. 14th Int. Conf. Very Large Data Bases(Brisbane, Australia), 1990.
[19] G. Kolaitis and C. H. Papadimitriou, "Why not negation by fixpoint?" inProc. 7th ACM Conf. on Principle of Database Syst.(Austin, TX), 1988.
[20] L. Lavazza and S. Crespi-Reghizzi, "Algebraic ADT specifications of an extended relational algebra and their conversion to a working prototype," inAlgebric Methods: Theory, Tools, and Applications, M. Wirsing and J. Bergstra, Eds. (Lecture Notes in Comput. Sci. no. 394). Berlin: Springer-Verlag, 1989.
[21] G. Lamperti, L. Lavazza, S. Crespi-Reghizzi, D. Milani, and M. Riva, "Interfacing C with a database management system for nested relations," Politecnico di Milano, Rep. No. 89-011, 1989.
[22] S. Naqvi and S. Tsur,A Logical Language for Data and Knowledge Bases. New York: Computer Sci. Press, 1989.
[23] M. A. Roth, H. F. Korth, and A. Silberschatz, "Extended algebra and calculus for non-1nf relational databases," Univ. Texas, Austin, Tech. Rep. No. TR-84-36, 1984.

Index Terms:
prototyping; data-intensive applications; Logres; Algres; programming environment; rapid prototyping; persistent data; database language; object-oriented data modeling; rule-based programming; relational algebra; declarative requirements; imperative code; human errors; integrity constraints; application specifications; formal specification; programming environments; software prototyping
F. Cacace, S. Ceri, L. Tanca, S. Crespi-Reghizzi, "Designing and Prototyping Data-Intensive Applications in the Logres and Algres Programming Environment," IEEE Transactions on Software Engineering, vol. 18, no. 6, pp. 534-546, June 1992, doi:10.1109/32.142875
Usage of this product signifies your acceptance of the Terms of Use.