License: Creative Commons Attribution 4.0 International license (CC BY 4.0)
When quoting this document, please refer to the following
DOI: 10.4230/DagSemProc.05081.7
URN: urn:nbn:de:0030-drops-3006
URL: http://dagstuhl.sunsite.rwth-aachen.de/volltexte/2006/300/
Go to the corresponding Portal


Stehr, Mark-Oliver ; Talcott L., Carolyn

Practical Techniques for Language Design and Prototyping

pdf-format:
05081.StehrMarkOliver.Paper.300.pdf (0.3 MB)


Abstract

Global computing involves the interplay of a vast variety of
languages, but practially useful foundations for language
specification and prototyping at the semantic level are lacking.

In this talk we present a systematic approach consisting of three
techniques:

1. A generic calculus of explicit substitutions with names (called
CINNI) that allows us give a first-order representation of syntax to
uniformly deal with all binding aspects.

2. An executable representation of Felleisen-style operational
semantics in terms of first-order rewrite rules.

3. A logical framework, namely rewriting logic, that allows us to
express (1) and (2) and, in addition, language aspects such as
concurrency and non-determinism.

We illustrate the use of these techniques in two applications:

1. A formal specification and analysis of PLAN, a Packet Language for
Active Networks, that has been developed in the Switchware project at
UPenn. This work was conducted in the scope of the DARPA Active
Network Program.

2. The development of CIAO, a Calculus of Imperative Active Objects, a
core language for concurrent object-oriented programming. It is
especially designed to allow a the representation of practically
relevant sublanguages of common object-oriented languages such as Java, C#, and C++. This second application is subject of ongoing work.

BibTeX - Entry

@InProceedings{stehr_et_al:DagSemProc.05081.7,
  author =	{Stehr, Mark-Oliver and Talcott L., Carolyn},
  title =	{{Practical Techniques for Language Design and Prototyping}},
  booktitle =	{Foundations of Global Computing},
  pages =	{1--38},
  series =	{Dagstuhl Seminar Proceedings (DagSemProc)},
  ISSN =	{1862-4405},
  year =	{2006},
  volume =	{5081},
  editor =	{Jos\'{e} Luiz Fiadeiro and Ugo Montanari and Martin Wirsing},
  publisher =	{Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik},
  address =	{Dagstuhl, Germany},
  URL =		{https://drops.dagstuhl.de/opus/volltexte/2006/300},
  URN =		{urn:nbn:de:0030-drops-3006},
  doi =		{10.4230/DagSemProc.05081.7},
  annote =	{Keywords: Rewriting logic, explicit substitutions, operational semantics, active networks, active objects}
}

Keywords: Rewriting logic, explicit substitutions, operational semantics, active networks, active objects
Collection: 05081 - Foundations of Global Computing
Issue Date: 2006
Date of publication: 31.01.2006


DROPS-Home | Fulltext Search | Imprint | Privacy Published by LZI