Skip to main content Accessibility help
×
Hostname: page-component-8448b6f56d-qsmjn Total loading time: 0 Render date: 2024-04-23T13:52:29.456Z Has data issue: false hasContentIssue false

11 - From Centaur to the Meta-Environment: a tribute to a great meta-technologist

Published online by Cambridge University Press:  06 August 2010

Paul Klint
Affiliation:
Centrum voor Wiskunde en Informatica and University of Amsterdam
Yves Bertot
Affiliation:
INRIA-Sophia Antipolis, France
Gérard Huet
Affiliation:
Institut National de Recherche en Informatique et en Automatique (INRIA), Rocquencourt
Jean-Jacques Lévy
Affiliation:
Institut National de Recherche en Informatique et en Automatique (INRIA), Rocquencourt
Gordon Plotkin
Affiliation:
University of Edinburgh
Get access

Summary

Abstract

Gilles Kahn was a great colleague and good friend who has left us much too early. In this paper I will sketch our joint research projects, the many discussions we had, some personal recollections, and the influence these have had on the current state-of-the-art in meta-level language technology.

Getting acquainted

Bâtiment 8.On a sunny day in the beginning of July 1983 I parked my beige Citroen Dyane on the parking lot in front of Bâtiment 8, INRIA Rocquencourt. At the time, the buildings made the impression that the US military who had constructed the premises in Rocquencourt were also the last that had ever used the paint brush. Inside, lived an energetic research family and I was hosted by project CROAP headed by Gilles Kahn. My roommates Veronique Donzeau-Gouge and Bertrand Mélèse helped me find a bureau in a corner in the cramped building and helped to set up a Multics account on the Honeywell-Bull mainframe.

After some flirtations with computer graphics, software portability and the Unix operating system, I turned to the study of string processing languages on which I wrote a PhD in 1982. The main topic was the Summer programming language that featured objects, success/failure driven control flow, string matching and composition, and a “try” mechanism that allowed the execution of an arbitrary sequence of statements and would undo all side effects in case this execution resulted in failure.

Type
Chapter
Information
From Semantics to Computer Science
Essays in Honour of Gilles Kahn
, pp. 235 - 264
Publisher: Cambridge University Press
Print publication year: 2009

Access options

Get access to the full version of this content by using one of the access options below. (Log in options will check for institutional or personal access. Content may require purchase if you do not have access.)

References

[1]I., Attali. A natural semantics for Eiffel dynamic binding. ACM Transactions on Programming Languages and Systems (TOPLAS), 18(5), 1996.Google Scholar
[2]I., Attali, D., Caromel and A. L., Wendelborn. From a formal dynamic semantics of Sisal to a Sisal environment. In HICSS (2), pp. 266–267, 1995.Google Scholar
[3]I., Attali, J., Chazarain and S., Gilette. Incremental evaluation of natural semantics specification. In M., Bruynooghe and M., Wirsing (eds), PLILP, volume 631, Lecture Notes in Computer Science, pp. 87–99. Springer, 1992.Google Scholar
[4]I., Attali, C., Courbis, P., Degenne, A., Fau, J., Fillon, Chr., Held, D., Parigot and C., Pasquie. Aspect and XML-oriented semantic framework generator: Smarttools. In Second Workshop on Language Descriptions, Tools and Applications, LDTA'02, volume 65 Electronic Notes in Theoretical Computer Science (ENTCS), pp. 1–20. Springer, 2002.Google Scholar
[5]I., Attali, C., Courbis, P., Degenne, A., Fau, D., Parigot and C., Pasquier. Smarttools: a generator of interactive environment tools. Electr. Notes Theoritical Computer Science, 44(2), 2001.Google Scholar
[6]J. A., Bergstra, J., Heering and P., Klint (eds), Algebraic Specification. ACM Press/Addison-Wesley, 1989.Google Scholar
[7]J. A., Bergstra and P., Klint. The ToolBus: a Component Interconnection Architecture. Technical Report P9408, University of Amsterdam, Programming Research Group, 1994.Google Scholar
[8]J. A., Bergstra and P., Klint. The discrete time ToolBus – a software coordination architecture. Science of Computer Programming, 31(2–3):205–229, 1998.Google Scholar
[9]Y., Bertot. Implementation of an interpreter for a parallel language in Centaur. In European Symposium on Programming, pp. 57–69, 1990.Google Scholar
[10]Y., Bertot. Occurrences in debugger specifications. In PLDI '91: Proceedings of the ACM SIGPLAN 1991 Conference on Programming Language Design and Implementation, pp. 327–337, New York, NY, USA, 1991. ACM Press.Google Scholar
[11]Y., Bertot. Origin functions in lambda-calculus and term rewriting systems. In J.-C., Raoult (ed.), CAAP, volume 581, Lecture Notes in Computer Science, pp. 49–65. Springer, 1992.Google Scholar
[12]Y., Bertot, G., Kahn and L., Théry. Proof by pointing. In M., Hagiya and J. C., Mitchell (eds), TACS, volume 789 Lecture Notes in Computer Science, pp. 141–160. Springer, 1994.Google Scholar
[13]S., Billot and B., Lang. The structure of shared forests in ambiguous parsing. In ACL, pp. 143–151, 1989.Google Scholar
[14]P., Borras, D., Clément, Th., Despeyroux, J., Incerpi, G., Kahn, B., Lang and V., Pascual. CENTAUR: The system. In Software Development Environments (SDE), pp. 14–24, 1988.Google Scholar
[15]M. G. J., van den Brand, M., Bruntink, G. R., Economopoulos, H. A., de Jong, P., Klint, T., Kooiker, T., van der Storm and J.J., Vinju. Using the meta-environment for maintenance and renovation. In Proceedings of the 11th European Conference on Software Maintenance and Reengineering (CSMR'07), pp. 331–332. IEEE Computer Society, March 21–23 2007.Google Scholar
[16]M. G. J., van den Brand, A., van Deursen, J., Heering, H. A., de Jong, M., de Jonge, T., Kuipers, P., Klint, L., Moonen, P.A., Olivier, J., Scheerder, J. J., Vinju, E., Visser and J., Visser. The ASF+SDF Meta-Environment: a component-based language development environment. In R., Wilhelm (ed.), Compiler Construction (CC '01), volume 2027, Lecture Notes in Computer Science, pp. 365–370. Springer-Verlag, 2001.Google Scholar
[17]M. G. J., van den Brand, H. A., de Jong, P., Klint and P., Olivier. Efficient Annotated Terms. Software, Practice & Experience, 30:259–291, 2000.Google Scholar
[18]M. G. J., van den Brand and P., Klint. ATerms for manipulation and exchange of structured data: It's all about sharing. Information and Software Technology, 49(1):55–64, 2007.Google Scholar
[19]M. G. J., van den Brand, A. T., Kooiker, J. J., Vinju and N.P., Veerman. A Language Independent Framework for Context-sensitive Formatting. In 10th Conference on Software Maintenance and Reengineering (CSMR 2006), pp. 631–634. IEEE Computer Society Press, 2006.Google Scholar
[20]M. G. J., van den Brand, A., Sellink and C., Verhoef. Control flow normalization for COBOL/CICS legacy system. In CSMR, pp. 11–20. IEEE Computer Society, 1998.Google Scholar
[21]M. G. J., van den Brand and E., Visser. Generation of formatters for context-free languages. ACM Transactions on Programming Languages and Systems, 5(1):1–41, 1996.Google Scholar
[22],Centaur web pp., Last visit December 2006. http://www-sop.inria.fr/croap/centaur/centaur.html.
[23]J., Chailloux, M., Devin, F., Dupont, J.-M., Hullot, B., Serpette and J., Vuillemin. Le_Lisp version 15.2, le manuel de réference. Technical report, INRIA, 1986.
[24]D., Clément. The natural dynamic semantics of Mini-Standard ML. In H., Ehrig, R. A., Kowalski, G., Levi and U., Montanari (eds), TAPSOFT, Vol.2, volume 250 Lecture Notes in Computer Science, pp. 67–81. Springer, 1987.Google Scholar
[25]D., Clément. A distributed architecture for programming environments. In R. N., Taylor (ed.), Proceedings of the Fourth ACM SIGSOFT Symposium on Software Development Environments, pp. 11–21, 1990.Google Scholar
[26]D., Clément, J., Despeyroux, Th., Despeyroux, L., Hascoet and G., Kahn. Natural Semantics on the Computer. Technical Report RR416, I.N.R.I.A., june 1985.
[27]D., Clément, J., Despeyroux, Th., Despeyroux and G., Kahn. A simple applicative language: Mini-ML. In LISP and Functional Programming, pp. 13–27, 1986.Google Scholar
[28]D., Clément, J., Heering, J., Incerpi, G., Kahn, P., Klint, B., Lang and V., Pascual. Preliminary design of an environment generator. Second annual review report: D9, GIPE, ESPRIT Project 348, January 1987.
[29]D., Clément, J., Incerpi and G., Kahn. CENTAUR: Towards a “software tool box” for programming environments. In F., Long (ed.), SEE, volume 467 Lecture Notes in Computer Science, pp. 287–304. Springer, 1989.Google Scholar
[30]D., Clément, V., Prunet and F., Montagnac. Integrated software components: A paradigm for control integration. In A., Endres and H., Weber (eds), Software Development Environments and CASE Technology, volume 509, Lecture Notes in Computer Science, pp. 167–177. Springer, 1991.Google Scholar
[31]Y., Coscoy, G., Kahn and L., Théry. Extracting text from proofs. In M., Dezani-Ciancaglini and G. D., Plotkin (eds), TLCA, volume 902, Lecture Notes in Computer Science, pp. 109–123. Springer, 1995.Google Scholar
[32]J., Coutaz. The Box, a Layout Abstraction for User Interface Toolkits. Technical Report CMU-CS-84-167, Carnegie Mellon University, 1984.Google Scholar
[33]Th., Despeyroux. Executable specification of static semantics. In G., Kahn, D. B., MacQueen and G. D., Plotkin, editors, Semantics of Data Types, volume 173, Lecture Notes in Computer Science, pp. 215–233. Springer, 1984.Google Scholar
[34]A., van Deursen, J., Heering and P., Klint (eds). Language Prototyping: An Algebraic Specification Approach, volume 5, AMAST Series in Computing. World Scientific, 1996.Google Scholar
[35]A., van Deursen, P., Klint and F., Tip. Origin tracking. Journal of Symbolic Computing 15(5–6):523–545, 1993.Google Scholar
[36]V., Donzeau-Gouge, G., Huet, G., Kahn, B., Lang and J.J., Lévy. A structure oriented program editor: a first step towards computer assisted programming. In International Computing Symposium. North Holland, 1975.Google Scholar
[37]V., Donzeau-Gouge, G., Kahn and B., Lang. On the formal definition of ADA. In N. D., Jones (ed.), Semantics-Directed Compiler Generation, volume 94 Lecture Notes in Computer Science, pp. 475–489. Springer, 1980.Google Scholar
[38]V., Donzeau-Gouge, G., Kahn, B., Lang and B., Mélèse. Documents structure and modularity in mentor. In Software Development Environments (SDE), pp. 141–148, 1984.Google Scholar
[39]V., Donzeau-Gouge, G., Kahn, B., Lang, B., Mélèse and E., Morcos. Outline of a tool for document manipulation. In IFIP Congress, pp. 615–620, 1983.Google Scholar
[40]V., Donzeau-Gouge, B., Lang and B., Mélèse. Practical applications of a syntax directed program manipulation environment. In ICSE, pp. 346–357, 1984.Google Scholar
[41]J., Heering, P. R. H., Hendriks, P., Klint and J., Rekers. The syntax definition formalism SDF – reference manual. SIGPLAN Notices, 24(11):43–75, 1989.Google Scholar
[42]J., Heering, G., Kahn, P., Klint and B., Lang. Generation of interactive programming environments. In ESPRIT '85, Status Report of Continuing Work, Part I, pp. 467–477. North-Holland, 1986.Google Scholar
[43]J., Heering and P., Klint. Towards monolingual programming environments. ACM Transactions on Programming Languages and Systems, 7(2):183–213, April 1985.Google Scholar
[44]J., Heering and P., Klint. Prehistory of the ASF+SDF system (1980–1984). In M. G. J., van den Brand, A., van Deursen, T. B., Dinesh, J., Kamperman and E., Visser (eds), Proceedings of ASF+SDF95 A workshop on Generating Tools from Algebraic Specifications, number P9504 in Technical Report. Programming Research Group, University of Amsterdam, 1995.Google Scholar
[45]J., Heering, P., Klint and J., Rekers. Incremental generation of parsers. IEEE Transactions on Software Engineering, 16(12):1344–1350, 1990.Google Scholar
[46]I., Jacobs, F., Montignac, J., Bertot, D., Clément and V., Prunet. The Sophtalk Reference Manual. Technical Report 149, INRIA, February 1993.Google Scholar
[47]G., Kahn. An approach to system correctness. In SOSP, pp. 86–94, 1971.Google Scholar
[48]G., Kahn (ed.) Semantics of Concurrent Computation, Proceedings of the International Sympoisum, Evian, France, July 2–4, 1979, volume 70, Lecture Notes in Computer Science. Springer, 1979.Google Scholar
[49]G., Kahn. Natural semantics. In F.-J., Brandenburg, G., Vidal-Naquet and M., Wirsing (eds), STACS, volume 247, Lecture Notes in Computer Science, pp. 22–39. Springer, 1987.Google Scholar
[50]G., Kahn, B., Lang, B., Mélèse and E., Morcos. Metal: A formalism to specify formalisms. Science of Computer Programming, 3(2):151–188, 1983.Google Scholar
[51]G., Kahn and D. B., MacQueen. Coroutines and networks of parallel processes. In IFIP Congress, pp. 993–998, 1977.Google Scholar
[52]P., Klint. An overview of the summer programming language. In Conference Record of the 7th ACM Symposium on Principles of Programming Languages (POPL'80), pp. 47–55, 1980.Google Scholar
[53]P., Klint. Formal language definitions can be made practical. In Algorithmic Languages, pp. 115–132, 1981.Google Scholar
[54]P., Klint. A Survey of Three Language-independent Programming Environments. RR 257, INRIA, 1983.Google Scholar
[55]P., Klint. A Study in String Processing Languages, volume 205 of Lecture Notes in Computer Science. Springer-Verlag, 1985. Based on the dissertation From Spring to Summer, defended at the Technical University Eindhoven, 1982.Google Scholar
[56]P., Klint. A meta-environment for generating programming environments. ACM Transactions on Software Engineering and Methodology, 2(2):176–201, April 1993.Google Scholar
[57]J. W. C., Koorn and H. C. N., Bakker. Building an Editor from Existing Components: an Exercise in Software Re-use. Technical Report P9312, Programming Research Group, University of Amsterdam, 1993.Google Scholar
[58]H., Korte, H., Joosten, V., Tijsse, A., Wammes, J., Wester, Th., Kuhne and Chr., Thies. Design of a LOTOS Simulator: Centaur from a user's Perspective. Fifth annual review report: D5, GIPE II, ESPRIT project 2177, 1993.Google Scholar
[59]B., Lang. Deterministic techniques for efficient non-deterministic parsers. In J., Loeckx (ed.) ICALP, volume 14, Lecture Notes in Computer Science, pp. 255–269. Springer, 1974.Google Scholar
[60]B., Lang. On the usefulness of syntax directed editors. In R., Conradi, T., Didriksen and D. H., Wanvik (eds) Advanced Programming Environments, volume 244, Lecture Notes in Computer Science, pp. 47–51. Springer, 1986.Google Scholar
[61]B., Lang. The virtual tree processor. In J., HeeringJ., Sidi and A., Verhoog (eds) Generation of Interactive Programming Environments, Intermediate Report, number CS-R8620 in Technical Report. Centrum voor Wiskunde en Informatica, 1986.Google Scholar
[62]J. L., Lions. ARIANE 5: Flight 501 Failure, Report by the Inquiry Board. http://homepp..inf.ed.ac.uk/perdita/Book/ariane5rep.html, 1996. Last visit January 2007.
[63],Meta-Environment web pp., Last visit March 2008. http://www.meta-environment.org.
[64]E., van der Meulen. Deriving incremental implementations from algebraic specifications. In M., Nivat, Ch., Rattray, T., Rus and G., Scollo (eds) AMAST, Workshops in Computing, pp. 277–286. Springer, 1991.Google Scholar
[65]E., Morcos-Chounet and A., Conchon. PPML: a general purpose formalism to specify prettyprinting. In H.-J., Kugler (ed.) Information Processing 86 pp. 583–590. Elsevier, 1986.Google Scholar
[66]P. A., Olivier. Debugging distributed applications using a coordination architecture. In D., Garlan and D., Le Métayer (eds) COORDINATION, volume 1282, Lecture Notes in Computer Science, pp. 98–114. Springer, 1997.Google Scholar
[67]D. C., Oppen. Prettyprinting. ACM Transactions on Programming Languages and Systems, 2(4):465–483, 1980.Google Scholar
[68],Sophtalk web pp., Last visit December 2006. http://www-sop.inria.fr/croap/sophtalk/sophtalk.html.
[69]L., Théry, Y., Bertot and G., Kahn. Real theorem provers deserve real userinterfaces. In SDE 5: Proceedings of the Fifth ACM SIGSOFT Symposium on Software Development Environments, pp. 120–129, New York, NY, USA, 1992. ACM Press.Google Scholar
[70]M., Tomita. Efficient Parsing for Natural Language: A Fast Algorithm for Practical Systems. Kluwer Academic Publishers, Norwell, MA, USA, 1985.Google Scholar

Save book to Kindle

To save this book to your Kindle, first ensure coreplatform@cambridge.org is added to your Approved Personal Document E-mail List under your Personal Document Settings on the Manage Your Content and Devices page of your Amazon account. Then enter the ‘name’ part of your Kindle email address below. Find out more about saving to your Kindle.

Note you can select to save to either the @free.kindle.com or @kindle.com variations. ‘@free.kindle.com’ emails are free but can only be saved to your device when it is connected to wi-fi. ‘@kindle.com’ emails can be delivered even when you are not connected to wi-fi, but note that service fees apply.

Find out more about the Kindle Personal Document Service.

Available formats
×

Save book to Dropbox

To save content items to your account, please confirm that you agree to abide by our usage policies. If this is the first time you use this feature, you will be asked to authorise Cambridge Core to connect with your account. Find out more about saving content to Dropbox.

Available formats
×

Save book to Google Drive

To save content items to your account, please confirm that you agree to abide by our usage policies. If this is the first time you use this feature, you will be asked to authorise Cambridge Core to connect with your account. Find out more about saving content to Google Drive.

Available formats
×