Towards a formally based component description language

  • J. Cramer
  • W. Fey
  • M. Goedicke
  • M. Große-Rhode
CCPSD Colloquium On Combining Paradigms For Software Development
Part of the Lecture Notes in Computer Science book series (LNCS, volume 494)


The importance of a precise definition of what constitutes a software component and how to describe it have become critical issues in the considerations about enhancements of the software development process in general and reuse of software pieces in particular (see e.g. [Boo 87]). We consider these issues by first determining some requirements for component description languages. Based on that we discuss the Π-language as a candidate for a component description language. The Π-language was developed primarily for the specification of distributed modular systems, where the notions of data abstraction and concurrency play an equally important role. After describing the underlying concepts and the syntax of the Π-language we outline an attempt to define its formal semantics by means of algebraic module specifications.


Formal Semantic Software Development Process Graph Grammar Path Expression Abstract Data Type 
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.


  1. [Bei 88]
    Beierle C. PROTOS-L: Design and Implementation in: Proceedings of the first workshop of the EUREKA project EU56 PROTOS, Lugano-Morcote, Switzerland, September 1988Google Scholar
  2. [BEP87]
    E.K. Blum, H. Ehrig, F. Parisi-Presicce Algebraic Specification of Modules and Their Basic Interconnections. Journal of Computer and System Sciences Vol.34,Nos.2/3, New York-London 1987, pp. 293–339Google Scholar
  3. [Boo 87]
    Booch, Grady Software Components with ADA Structure, Tools, and Subsystems Benjamin Cummings, 1987Google Scholar
  4. [CDGJKN 89]
    Cardelli L., Donahue J., Glassman L., Jordan M., Kaslow B., Nelson G. Modula-3 Report (revised) Digital Systems Research Center, Technical Report, Oct 1989Google Scholar
  5. [CH 74]
    Campbell, R.H. Habermann, A.N. The Specification of Process Synchronization by Path Expressions Lecture Notes in Computer Science Vol 16, pp 89–102 Springer Verlag New York 1974Google Scholar
  6. [Cox 86]
    Cox B.J. Object-Oriented Programming: An Evolutionary Approach Addison-Wesley Publishing Company 1986Google Scholar
  7. [Die 89]
    Dietrich R. A Preprocessor Based Module System for Prolog in: Proceedings of the TAPSOFT, Barcelona, 1989Google Scholar
  8. [EBHL87]
    H. Ehrig, P. Boehm, U. Hummert, and M. Loewe Distributed parallelism of graph transformation. in 13th International Workshop on Graphtheoretic Concepts in Computer Science, pages 1–19, Springer Lecture Notes in Computer Science 314, Berlin, 1988Google Scholar
  9. [EM85]
    H. Ehrig, B. Mahr Fundamentals of Algebraic Specification 1, Equations and Initial Semantics. EATCS Monographs on Theoretical Computer Science, Vol. 6, Springer-Verlag (1985)Google Scholar
  10. [EM90]
    H.Ehrig, B.Mahr Fundamentals of Algebraic Specifications 2: Modules and Constraints. EATCS Monographs on Theoretical Computer Science, Vol. 21, Springer-Verlag (1990)Google Scholar
  11. [Fey 88]
    W. Fey Pragmatics, Concepts, Syntax, Semantics, and Correctness Notions of ACT TWO: An Algebraic Module Specification and Interconnection Language. Diss. TU Berlin 1988; also Techn. Report No. 1988/26, TU Berlin, FB 20Google Scholar
  12. [FGMO 87]
    K. Futatsugi, J.Goguen, J.Meseguer, K. Okada Parameterized Programming in OBJ2 in Proc. 9th Intl. Conf. on Software Engineering, ACM 1987 pp51–60Google Scholar
  13. [FJ 89]
    Feijs L.M.G., Jonkers H.B.M. METEOR and Beyond: Industrializing Formal Methods in: K.H. Bennett (ed.): Software Engineering Environments: Research and Practice John Wiley & Sons 1989Google Scholar
  14. [FKG 90]
    Finkelstein,A. Kramer,J. Goedicke, M. ViewPoint oriented Software Development in Proc. 3rd Intl Workshop Software engineering & its Applications, Toulouse 1990Google Scholar
  15. [GDS 89]
    Goedicke M., Ditt W., Schippers H. The Π-Language Reference Manual — Version 0.1 Research Report No. 295, University of Dortmund, Department of Computer Science, January 1989Google Scholar
  16. [GE90]
    M. Große-Rhode, H. Ehrig Transformation of Combined Data Type and Process Specifications Using Projection Algebras. Technical Report No. 1990/1, TU Berlin, FB 20Google Scholar
  17. [GM87]
    J.A.Goguen, J.Meseguer Unifying Functional, Object-Oriented and Relational Programming with Logical Semantics. in: Research Directions in Object-Oriented Programming, ed. by B.Shriver and Peter Wegner, MIT Press, pp. 417–477, 1987Google Scholar
  18. [Goe 90]
    Goedicke,M Paradigms of Modular Software Developmen” in Mitchell R.J. (Ed); Managing Complexity in Software Engineering; IEE Computing Series, Vol 17 Peter Peregrinus, Stevenage, England 1990Google Scholar
  19. [Gro89]
    M. Große-Rhode Parameterized Data Type and Process Specifications Using Projection Algebras. in: Categorical Methods in Computer Science with Aspects from Topology, H.Ehrig, M.Herrlich, H.J.Kreowski G.Preuß (eds.), LNCS 393, Springer-Verlag (1989), pp. 185–197Google Scholar
  20. [GTW76]
    J.A. Goguen, J.W. Thatcher, E.G. Wagner An initial algebra approach to the specification, correctness and implementation of abstract data types IBM Research Report RC 6487, 1976. Also: Current Trends in Programming Methodology IV: Data Structuring (R. Yeh, ed.), Prentice Hall (1978), 80–144Google Scholar
  21. [Hei 89]
    Heimbigner D. P4: A Logic Language for Process Programming in: Proceedings of the 5th International Software Process WorkshopGoogle Scholar
  22. [KMS 89]
    Kramer,J. Magee,J. Sloman,M. Constructing Distributed Systems in Conic in IEEE Transactions on Software Engineering, Vol SE 15 No 6 June 1989Google Scholar
  23. [Kra 90]
    Kramer, J. Configuration Programming — A Framework for the Development of Distributable Systems Proc. of IEEE Int. Conf. on Computer Systems and Software Engineering (CompEuro 90), Tel-Aviv, Israel, May 1990, 374–384.Google Scholar
  24. [Mey 88]
    Meyer,B. Object-oriented Software Construction Prentice Hall Intl. Series in Computer Science, London, 1988Google Scholar
  25. [MHT 90]
    R. Milner, M. Tofte, R. Harper. The Definition of Standard ML MIT Press, 1990Google Scholar
  26. [Moo 89]
    Moon, D.A. The CommonLisp Object-Oriented Programming Language Standard in Kim, W. Lochovsky, F. (eds) Object Oriented Concepts, Databases, and Applications. ACM Press, Addison Wesley, New York 1989Google Scholar
  27. [Mye 75]
    Myers G.J. Reliable Software Through Composite Design Van Nostrand/Reinhold 1975Google Scholar
  28. [PEA 88]
    The Peacock Project The Peacock Language Reference Manual Deliverable, Brussels, March 1988Google Scholar
  29. [Res 89]
    Resnikoff, H.L. The Illusion of Reality Springer Verlag, New York 1989Google Scholar
  30. [Roh 90]
    Rohen,.M. Semantics of composed modular logic programs in a programming environment with integrated object inheritance mechanisms (in german), PhD.Dissertation forthcoming University of Dortmund, Dept. of Computer Science 1990Google Scholar
  31. [See 87]
    Seehusen,S. Determination of Concurrency Properties in Modular Systems with Path Expressions Dissertation, University of Dortmund, Fachbereich Informatik, 1987 (in german)Google Scholar
  32. [Sim 84]
    Simon,H.A. The Sciences of the Artificial 2nd Edition, The Mit Press, 1984Google Scholar
  33. [Str 86]
    Stroustrup B. The C++ Programming Language Addison-Wesley, Menlo-Park (California), 1986Google Scholar
  34. [Wir 86]
    Wirsing M. Structured algebraic specifications: a kernel language Theoretical Computer Science 42, 1986Google Scholar
  35. [Wir 88]
    Wirth N. The Programming Language Oberon Software Practice and Experience, No. 18, 1988Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1991

Authors and Affiliations

  • J. Cramer
    • 1
  • W. Fey
    • 2
  • M. Goedicke
    • 3
  • M. Große-Rhode
    • 2
  1. 1.STZ GmbHDortmund 50Germany
  2. 2.TU Berlin FB 20/FR 6-1Berlin 10Germany
  3. 3.University of Essen FB 6/InformatikEssen 1Germany

Personalised recommendations