OBS! The pages here are draft versions, preliminary and incomplete
The new extended BETA-system
This site describes the design and implementation of a new extended BETA-system.
The goals of the project are the following:
- Develop a new language derived from BETA
- As for Beta, the new language should support modeling as well as programming
- The language is a general modeling- and programming language, but embedded systems, IoT and cyber physical systems are important targets.
- The new language has been developed through a number of versions starting with minor changes to Beta.
- The current version is called qBeta - which is not a name we expect to keep.
- Develop a new Integrated Development Environment (IDE) consisting of
In order to simplify the implementation of the browser and debugger the project includes:
- A new compiler
- A new virtual machine where the the first version of the interpreter was implemented in BETA. Subsequently a version of the interpreter ha been implemented in C.
The language qBeta and the IDE are constantly being evolved, which means that the pages here are updated regularly.
The BETA Language
BETA is an object-oriented language from the Scandinavian School of object-oriented programming that is based on the development of SIMULA. SIMULA is designed in the sixties by Ole-Johan Dahl and Kristen Nygaard.
An important characteristic of SIMULA and BETA is that they were intended for modeling as well as programming.
Descriptions of BETA are available from the following sources:
- O.L. Madsen, B. Møller-Pedersen, K. Nygaard: Object-Oriented Programming in the BETA Programming Language, ACM Press, Addison-Wesley, 1993. Reprint.
- B.B. Kristensen, O.L. Madsen, B. Møller-Pedersen: The When, Why and Why Not of the BETA Programming Language, ACM History of Programming Languages III, Conference, San Diego 2007.
The Mjølner System is a software development environment for BETA developed as part of the Nordic Mjølner Project - the Mjølner System is no longer maintained - the description of the BETA implementation in Mjølner may be found here.