Abstract
We present a new programming language ProFun which is aimed for the specification and prototype implementation of reactive systems. ProFun combines the paradigms of concurrent and functional programming. A formal operational semantics is developed as a basis for verification techniques. We have implemented a ProFun-compiler which uses C++ as its target language.
This work was partially supported by the HCM Network “EXPRESS” (Expressiveness of Languages for Concurrency).
This is a preview of subscription content, log in via an institution.
Preview
Unable to display preview. Download preview PDF.
References
Robert Amadio and Mads Dam. Towards a modal theory of types for the π-calculus. R96:03, SICS, 1996.
J. Backus. Can programming be liberated from the von Neumann style? A functional style and its algebra of programs. Communications of the ACM, 21:613–641, 1978.
J.C.M. Baeten, editor. Applications of Process Algebra. Cambridge University Press, 1990.
Tommaso Bolognesi and Ed Brinksma. Introduction to the ISO specification language LOTOS. Computer Networks and ISDN System, 14:25–59, 1987.
Bell Laboratories,AT&T. Standard ML of New Jersey — User's Guide (Version 0.93), Feb 1993.
G. Berry and G. Gonthier. The Esterel Synchronous Programming Language: Design, Semantics, Implementation. Technical report, ENSMP and INRIA, 1988.
K. Bohlmann, R. Loogen, and Y. Ortega-Mallén. Specification of Concurrent Process Systems in a Functional Setting. Technical report, Universität Marburg.
D. Clement. The Natural Dynamic Semantics of Mini-Standard ML. In E. Hartmut, R. Kowalski, and G. Levi, editors, TAPSOFT'87, volume 250 of LNCS, pages 67–81. Springer, 1987.
A.J. Field and P.G. Harrison. Functional Programming. Addison Wesley, 1988.
W. Ferreira and M. Hennessy. Towards a Semantic Theory of CML. Technical report, University of Sussex, 1995.
W. Ferreira, M. Hennessy, and A. Jeffrey. A Theory of Weak Bisimulation for Core CML. Technical Report 05/95, University of Sussex, 1995.
Thomas Gehrke. Eine Programmiersprache für verteilte Systeme mit funktionalem Datenanteil. Master's thesis, Universität Hildesheim, 1996.
Thomas Gehrke and Michaela Huhn. ProFun — a Language for Executable Specifications. Technical Report HIB 17/96, Universität Hildesheim, 1996.
J.F. Groote and H. Korver. A correctness proof of the bakery protocol in μCRL. In A. Ponse et al., editor, Algebra of Communicating Processes, Workshops in Computing, pages 63–86. Springer, 1994.
J.F. Groote and A. Ponse. Proof theory for μCRL: a language for processes with data. Technical Report CS-R9138, CWI, 1991.
R. Harper, D. MacQueen, and R. Milner. Standard ML. Technical Report ECS-LFCS-86-2, Dep. of Computer Science, University of Edinburgh, 1986.
C.A.R. Hoare. Communicating Sequential Processes. Prentice Hall, 1985.
ISO-OSI. LOTOS — A Formal Description Technique Based on the Temporal Ordering of Observational Behaviour. DIS 8807, 1987.
Xavier Leroy. The ZINC Experiment: An economical implementation of the ML language. Technical Report 117, Institut National de Recherche en Informatique et Automatique (INRIA), 1990.
Rita Loogen. Parallele Implementierung funktionaler Programmiersprachen. Springer, 1990.
Robin Milner. Communication and Concurrency. Prentice Hall, 1989.
Eugenio Moggi. Notions of computation and monads. Information and Computation, 93:55–92, 1991.
R. Milner, J. Parrow, and D. Walker. A calculus of mobile processes. Information and Computation, 100:1–40, 41–77, 1992. parts I and II.
Flemming Nielson and Hanne Riis Nielson. From CML to Process Algebras. In Proceedings of CONCUR '93, volume 715 of LNCS. Springer, 1993.
Charles Pecheur. A Proposal for Data Types for E-LOTOS. Technical report, University of Liège, 1994.
Benjamin C. Pierce. Programming in the Pi-Calculus — An Experiment in Programming Language Design. Technical report, Department of Computer Science, University of Edinburgh, 1993.
J.H. Reppy. CML: A Higher-order Concurrent Language. Technical report, Cornell University, 1993.
B. Stroustrup. The C++ programming language. Addison-Wesley, 1992.
Sun Microsystems GmbH. Multithreaded Programming Guide, 1994.
B. Thomsen et al. Facile Antigua Release Programming Guide. Technical Report ECRC-93-20, ECRC GmbH, München, 1993.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1996 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Gehrke, T., Huhn, M. (1996). ProFun — A Language for executable specifications. In: Kuchen, H., Doaitse Swierstra, S. (eds) Programming Languages: Implementations, Logics, and Programs. PLILP 1996. Lecture Notes in Computer Science, vol 1140. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-61756-6_93
Download citation
DOI: https://doi.org/10.1007/3-540-61756-6_93
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-61756-3
Online ISBN: 978-3-540-70654-0
eBook Packages: Springer Book Archive