Occam to Go translator

Research output: Chapter in Book/Report/Conference proceedingArticle in proceedingsResearchpeer-review

Occam is a programming language built on CSP, which for many years has been used for writing safety-critical systems used in space technology and at CERN among others. However, the language has not been developed or maintained for the last 25 years, which makes it difficult to maintain the programs which currently has a code base in Occam. As changing the entire code base for such systems will prove both expensive and time consuming, it is desirable to find an easy and secure way to translate Occam programs into another programming language.This paper lays the foundation of a transpiler from Occam to the newer programming language Go using Haskell. Go is a modern programming language which also implements many of the CSP principles found in Occam, making it a suitable target.The transpiler is implemented for a subset of Occam including only basic functionality, and is successful in translating simple programs from Occam to Go, showing that it is indeed possible to automatically translate Occam programs into Go.

Original languageEnglish
Title of host publicationProceedings - 2021 Concurrent Processes Architectures and Embedded Systems Conference, COPA 2021
Number of pages8
PublisherIEEE
Publication date2021
ISBN (Electronic)9781728166834
DOIs
Publication statusPublished - 2021
Event2021 Concurrent Processes Architectures and Embedded Systems Conference, COPA 2021 - Virtual, San Diego, United States
Duration: 25 Apr 202128 Apr 2021

Conference

Conference2021 Concurrent Processes Architectures and Embedded Systems Conference, COPA 2021
LandUnited States
ByVirtual, San Diego
Periode25/04/202128/04/2021

Bibliographical note

Publisher Copyright:
© 2021 IEEE.

    Research areas

  • CSP, Go, Occam, transpiler

ID: 282096062