Composing Hidden Information Modules over Inclusive Institutions

  • Joseph Goguen
  • Grigore Roşu
Part of the Lecture Notes in Computer Science book series (LNCS, volume 2635)


This paper studies the composition of modules that can hide information, over a very general class of logical systems called inclusive institutions. Two semantics are given for the composition of such modules using five familiar operations, and a property called conservativity is shown necessary and sufficient for these semantics to agree. The first semantics extracts the visible properties of the result of composing both the visible and hidden parts of modules, while the second uses only the visible properties of the components; the two semantics agree when the visible consequences of hidden information are enough to determine the result of the composition. A number of “laws of software composition” are proved relating the five composition operations. Inclusive institutions simplify many of the proofs. The approach has application to module composition technology, for both programs and specifications.


Parameterized Module Module Expression Module Composition Satisfaction Condition Inclusion System 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Alagic, S., Bernstein, P.: A model theory for generic schema management. In: Ghelli, G., Grahne, G. (eds.) DBPL 2001. LNCS, vol. 2397, pp. 228–246. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  2. 2.
    Bergstra, J., Heering, J., Klint, P.: Module algebra. Journal of the Association for Computing Machinery 37(2), 335–372 (1990)zbMATHMathSciNetGoogle Scholar
  3. 3.
    Bergstra, J., Tucker, J.: Equational specifications, complete term rewriting systems, and computable and semicomputable algebras. Journal of the Association for Computing Machinery 42(6), 1194–1230 (1995)zbMATHMathSciNetGoogle Scholar
  4. 4.
    Bernstein, P.: Applying model management to classical meta data problems. In: Proceedings, Conf. on Innovative Database Research, pp. 209–220 (2003)Google Scholar
  5. 5.
    Bidoit, M., Hennicker, R.: Constructor-based observational logic. Technical Report LSV–03–9, Laboratoire Spcification et Verification, CNRS de Cachan (March 2003)Google Scholar
  6. 6.
    Borzyszkowski, T.: Completeness of a logical system for structured specifications (wadr 1997). In: Parisi-Presicce, F. (ed.) WADT 1997. LNCS, vol. 1376, pp. 107–121. Springer, Heidelberg (1998)Google Scholar
  7. 7.
    Burstall, R., Goguen, J.: Putting theories together to make specifications. In: Reddy, R. (ed.) Proceedings, Fifth International Joint Conference on Artificial Intelligence, pp. 1045–1058. Department of Computer Science, Carnegie-Mellon University (1977)Google Scholar
  8. 8.
    Cengarle, M.V., Wirsing, M.: A calculus of higher order parameterization for algebraic specification. Bulletin of the Interest Group in Pure and Applied Logics 3(4), 615–641 (1995)zbMATHMathSciNetGoogle Scholar
  9. 9.
    CoFI. casl summary (2002),
  10. 10.
    Căzănescu, V.E., Roşu, G.: Weak inclusion systems. Mathematical Structures in Computer Science 7(2), 195–206 (1997)zbMATHCrossRefMathSciNetGoogle Scholar
  11. 11.
    Căzănescu, V.E., Roşu, G.: Weak inclusion systems; part 2. Journal of Universal Computer Science 6(1), 5–21 (2000)zbMATHMathSciNetGoogle Scholar
  12. 12.
    Diaconescu, R.: Category-based modularization for equational logic programming. Acta Informatica 33(5), 477–510 (1996)CrossRefMathSciNetGoogle Scholar
  13. 13.
    Diaconescu, R.: Extra theory morphisms in institutions: logical semantics for multi-paradigm languages. Applied Categorical Structures 6(4), 427–453 (1998)zbMATHCrossRefMathSciNetGoogle Scholar
  14. 14.
    Diaconescu, R., Futatsugi, K.: CafeOBJ Report: The Language, Proof Techniques, and Methodologies for Object-Oriented Algebraic Specification. AMAST Series in Computing, vol. 6. World Scientific, Singapore (1998)zbMATHGoogle Scholar
  15. 15.
    Diaconescu, R., Goguen, J., Stefaneas, P.: Logical support for modularization. In: Huet, G., Plotkin, G. (eds.) Logical Environments, Cambridge, pp. 83–130 (1993)Google Scholar
  16. 16.
    Berners-Lee, T., et al.: Semantic web (2003),
  17. 17.
    Fauconnier, G., Turner, M.: The Way We Think. Basic, New York (2002)Google Scholar
  18. 18.
    Goguen, J.: Parameterized programming. Transactions on Software Engineering SE–10(5), 528–543 (1984)CrossRefGoogle Scholar
  19. 19.
    Goguen, J.: Principles of parameterized programming. In: Biggerstaff, T., Perlis, A. (eds.) Software Reusability. Concepts and Models, vol. I, pp. 159–225. Addison Wesley, Reading (1989)Google Scholar
  20. 20.
    Goguen, J.: Types as theories. In: Reed, G.M., Roscoe, A.W., Wachter, R.F. (eds.) Topology and Category Theory in Computer Science, Oxford, pp. 357–390 (1991); Proceedings of a Conference held at Oxford (June 1989)Google Scholar
  21. 21.
    Goguen, J., Burstall, R.: Institutions: Abstract model theory for specification and programming. Journal of the Association for Computing Machinery 39(1), 95–146 (1992)zbMATHMathSciNetGoogle Scholar
  22. 22.
    Goguen, J., Malcolm, G.: A hidden agenda. Theoretical Computer Science 245(1), 55–101 (2000)zbMATHCrossRefMathSciNetGoogle Scholar
  23. 23.
    Goguen, J., Roşu, G.: Hiding more of hidden algebra. In: Woodcock, J.C.P., Davies, J., Wing, J.M. (eds.) FM 1999. LNCS, vol. 1709, pp. 1704–1719. Springer, Heidelberg (1999)CrossRefGoogle Scholar
  24. 24.
    Goguen, J., Roşu, G.: Institution morphisms. Formal Aspects of Computing 13, 274–307 (2002)zbMATHCrossRefGoogle Scholar
  25. 25.
    Goguen, J., Roşu, G., Lin, K.: Conditional circular coinductive rewriting. In: Recent Trends in Algebraic Development Techniques, 16th International Workshop, WADT 2002. LNCS. Springer, Heidelberg (2003) (to appear); Selected papers from a workshop held in Frauenchiemsee, Germany, October 24-27 (2002)Google Scholar
  26. 26.
    Goguen, J., Tracz, W.: An implementation-oriented semantics for module composition. In: Leavens, G., Sitaraman, M. (eds.) Foundations of Component-based Systems, Cambridge, pp. 231–263 (2000)Google Scholar
  27. 27.
    Goguen, J., Winkler, T., Meseguer, J., Futatsugi, K., Jouannaud, J.-P.: Introducing OBJ. In: Goguen, J., Malcolm, G. (eds.) Software Engineering with OBJ: algebraic specification in action, pp. 3–167. Kluwer, Dordrecht (2000)Google Scholar
  28. 28.
    Hennicker, R.: Context induction: a proof principle for behavioral abstractions. Formal Aspects of Computing 3(4), 326–345 (1991)zbMATHCrossRefGoogle Scholar
  29. 29.
    Herrlich, H., Strecker, G.: Category Theory. Allyn and Bacon, Boston (1973)zbMATHGoogle Scholar
  30. 30.
    Kestrel Institute. SpecWare language manual, version 4.0 (2003),
  31. 31.
    Lane, S.M.: Categories for the Working Mathematician. Springer, Heidelberg (1971)zbMATHGoogle Scholar
  32. 32.
    Meseguer, J., Goguen, J.: Initiality, induction and computability. In: Nivat, M., Reynolds, J. (eds.) Algebraic Methods in Semantics, Cambridge, pp. 459–541 (1985)Google Scholar
  33. 33.
    Mossakowski, T.: Specifications in an arbitrary institution with symbols. In: Bert, D., Choppy, C., Mosses, P.D. (eds.) WADT 1999. LNCS, vol. 1827, pp. 252–270. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  34. 34.
    Parnas, D.: Information distribution aspects of design methodology. In: Information Processing 1972, Proceedings of 1972 IFIP Congress, vol. 71, pp. 339–344 (1972)Google Scholar
  35. 35.
    Roşu, G.: Hidden Logic. PhD thesis, University of California at San Diego (2000),
  36. 36.
    Roşu, G.: Inductive behavioral proofs by unhiding. In: Proceedings of Coalgebraic Methods in Computer Science (CMCS 2003). Electronic Notes in Theoretical Computer Science, vol. 82, Elsevier Science, Amsterdam (2003)Google Scholar
  37. 37.
    Roşu, G.: Abstract semantics for module composition. Technical Report CSE2000–0653, University of California at San Diego (May 2000)Google Scholar
  38. 38.
    Roşu, G., Goguen, J.: Hidden congruent deduction. In: Caferra, R., Salzer, G. (eds.) FTP 1998. LNCS (LNAI), vol. 1761, pp. 252–267. Springer, Heidelberg (2000)Google Scholar
  39. 39.
    Sannella, D., Sokolowski, S., Tarlecki, A.: Toward formal development of programs from algebraic specifications: parameterisation revisited. Acta Informatica 29, 689–736 (1992)zbMATHCrossRefMathSciNetGoogle Scholar
  40. 40.
    Sannella, D., Tarlecki, A.: Specifications in an arbitrary institution. Information and Control 76, 165–210 (1988)zbMATHMathSciNetGoogle Scholar
  41. 41.
    Tarlecki, A.: Moving between logical systems. In: Haveraaen, M., Dahl, O.-J., Owe, O. (eds.) Abstract Data Types 1995 and COMPASS 1995. LNCS, vol. 1130, pp. 478–502. Springer, Heidelberg (1996)Google Scholar
  42. 42.
    Tracz, W.: lileanna: a parameterized programming language. In: Proceedings, Second International Workshop on Software Reuse, Lucca, Italy, pp. 66–78 (March 1993)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2004

Authors and Affiliations

  • Joseph Goguen
    • 1
  • Grigore Roşu
    • 2
  1. 1.Dept. Computer Science & EngineeringUniv. CaliforniaSan Diego
  2. 2.Dept. Computer ScienceUniv. IllinoisUrbana-Champaign

Personalised recommendations