LF : a language for reliable embedded systems
Thesis (MSc)--University of Stellenbosch, 2001. === ENGLISH ABSTRACT: Computer-aided verification techniques, such as model checking, are often considered essential to produce highly reliable software systems. Modern model checkers generally require models to be written in eSP-like notations. Unf...
Main Author: | |
---|---|
Other Authors: | |
Format: | Others |
Language: | en_ZA |
Published: |
Stellenbosch : Stellenbosch University
2012
|
Subjects: | |
Online Access: | http://hdl.handle.net/10019.1/52322 |
id |
ndltd-netd.ac.za-oai-union.ndltd.org-sun-oai-scholar.sun.ac.za-10019.1-52322 |
---|---|
record_format |
oai_dc |
collection |
NDLTD |
language |
en_ZA |
format |
Others
|
sources |
NDLTD |
topic |
Programming languages (Electronic computers) Embedded computer systems Operating systems (Computers) Dissertations -- Computer science Joyce (Computer programming language) |
spellingShingle |
Programming languages (Electronic computers) Embedded computer systems Operating systems (Computers) Dissertations -- Computer science Joyce (Computer programming language) Van Riet, F. A. LF : a language for reliable embedded systems |
description |
Thesis (MSc)--University of Stellenbosch, 2001. === ENGLISH ABSTRACT: Computer-aided verification techniques, such as model checking, are often considered essential
to produce highly reliable software systems. Modern model checkers generally require models to
be written in eSP-like notations. Unfortunately, such systems are usually implemented using
conventional imperative programming languages. Translating the one paradigm into the other is
a difficult and error prone process.
If one were to program in a process-oriented language from the outset, the chasm between implementation
and model could be bridged more readily. This would lead to more accurate models
and ultimately more reliable software.
This thesis covers the definition of a process-oriented language targeted specifically towards embedded
systems and the implementation of a suitable compiler and run-time system.
The language, LF, is for the most part an extension of the language Joyce, which was defined by
Brinch Hansen. Both LF and Joyce have features which I believe make them easier to use than
other esp based languages such as occam. An example of this is a selective communication
primitive which allows for both input and output guards which is not supported in occam.
The efficiency of the implementation is important. The language was therefore designed to be
expressive, but constructs which are expensive to implement were avoided. Security, however, was
the overriding consideration in the design of the language and runtime system.
The compiler produces native code. Most other esp derived languages are either interpreted or
execute as tasks on host operating systems. Arguably this is because most implementations of
esp and derivations thereof are for academic purposes only. LF is intended to be an implementation
language.
The performance of the implementation is evaluated in terms of practical metries such as the
time needed to complete communication operations and the average time needed to service an
interrupt. === AFRIKAANSE OPSOMMING: Rekenaar ondersteunde verifikasietegnieke soos programmodellering, is onontbeerlik in die ontwikkeling
van hoogs betroubare programmatuur. In die algemeen, aanvaar programme wat modelle
toets eSP-agtige notasie as toevoer. Die meeste programme word egter in meer konvensionele
imperatiewe programmeertale ontwikkel. Die vertaling vanuit die een paradigma na die ander is
'n moelike proses, wat baie ruimte laat vir foute.
Indien daar uit die staanspoor in 'n proses gebaseerde taal geprogrammeer word, sou die verwydering
tussen model en program makliker oorbrug kon word. Dit lei tot akkurater modelle en
uiteindelik tot betroubaarder programmatuur.
Die tesis ondersoek die definisie van 'n proses gebaseerde taal, wat gemik is op ingebedde programmatuur.
Verder word die implementasie van 'n toepaslike vertaler en looptyd omgewing ook
bespreek.
Die taal, LF, is grotendeels gebaseer op Joyce, wat deur Brinch Hansen ontwikkel is. Joyce en op
sy beurt LF, is verbeterings op ander esp verwante tale soos occam. 'n Voorbeeld hiervan is 'n
selektiewe kommunikasieprimitief wat die gebruik van beide toevoer- en afvoerwagte ondersteun.
Omdat 'n effektiewe implementasie nagestreef word, is die taalontwerp om so nadruklik moontlik
te wees, sonder om strukture in te sluit wat oneffektief is om te implementeer. Sekuriteit was egter
die oorheersende oorweging in die ontwerp van die taal en looptyd omgewing.
Die vertaler lewer masjienkode, terwyl die meeste ander implementasies van eSP-agtige tale
geinterpreteer word of ondersteun word as prosesse op 'n geskikte bedryfstelsel- die meeste
eSP-agtige tale word slegs vir akademiese doeleindes aangewend. LF is by uitstek ontwerp
as implementasie taal.
Die evaluasie van die stelsel se werkverrigting is gedoen aan die hand van praktiese maatstawwe
soos die tyd wat benodig word vir kommunikasie, sowel as die gemiddelde tyd benodig vir die
hantering van onderbrekings. |
author2 |
De Villiers, P. J. A. |
author_facet |
De Villiers, P. J. A. Van Riet, F. A. |
author |
Van Riet, F. A. |
author_sort |
Van Riet, F. A. |
title |
LF : a language for reliable embedded systems |
title_short |
LF : a language for reliable embedded systems |
title_full |
LF : a language for reliable embedded systems |
title_fullStr |
LF : a language for reliable embedded systems |
title_full_unstemmed |
LF : a language for reliable embedded systems |
title_sort |
lf : a language for reliable embedded systems |
publisher |
Stellenbosch : Stellenbosch University |
publishDate |
2012 |
url |
http://hdl.handle.net/10019.1/52322 |
work_keys_str_mv |
AT vanrietfa lfalanguageforreliableembeddedsystems |
_version_ |
1718165481372778496 |
spelling |
ndltd-netd.ac.za-oai-union.ndltd.org-sun-oai-scholar.sun.ac.za-10019.1-523222016-01-29T04:03:43Z LF : a language for reliable embedded systems Van Riet, F. A. De Villiers, P. J. A. Stellenbosch University. Faculty of Science. Dept. of Mathematical Sciences (applied, computer, mathematics). Programming languages (Electronic computers) Embedded computer systems Operating systems (Computers) Dissertations -- Computer science Joyce (Computer programming language) Thesis (MSc)--University of Stellenbosch, 2001. ENGLISH ABSTRACT: Computer-aided verification techniques, such as model checking, are often considered essential to produce highly reliable software systems. Modern model checkers generally require models to be written in eSP-like notations. Unfortunately, such systems are usually implemented using conventional imperative programming languages. Translating the one paradigm into the other is a difficult and error prone process. If one were to program in a process-oriented language from the outset, the chasm between implementation and model could be bridged more readily. This would lead to more accurate models and ultimately more reliable software. This thesis covers the definition of a process-oriented language targeted specifically towards embedded systems and the implementation of a suitable compiler and run-time system. The language, LF, is for the most part an extension of the language Joyce, which was defined by Brinch Hansen. Both LF and Joyce have features which I believe make them easier to use than other esp based languages such as occam. An example of this is a selective communication primitive which allows for both input and output guards which is not supported in occam. The efficiency of the implementation is important. The language was therefore designed to be expressive, but constructs which are expensive to implement were avoided. Security, however, was the overriding consideration in the design of the language and runtime system. The compiler produces native code. Most other esp derived languages are either interpreted or execute as tasks on host operating systems. Arguably this is because most implementations of esp and derivations thereof are for academic purposes only. LF is intended to be an implementation language. The performance of the implementation is evaluated in terms of practical metries such as the time needed to complete communication operations and the average time needed to service an interrupt. AFRIKAANSE OPSOMMING: Rekenaar ondersteunde verifikasietegnieke soos programmodellering, is onontbeerlik in die ontwikkeling van hoogs betroubare programmatuur. In die algemeen, aanvaar programme wat modelle toets eSP-agtige notasie as toevoer. Die meeste programme word egter in meer konvensionele imperatiewe programmeertale ontwikkel. Die vertaling vanuit die een paradigma na die ander is 'n moelike proses, wat baie ruimte laat vir foute. Indien daar uit die staanspoor in 'n proses gebaseerde taal geprogrammeer word, sou die verwydering tussen model en program makliker oorbrug kon word. Dit lei tot akkurater modelle en uiteindelik tot betroubaarder programmatuur. Die tesis ondersoek die definisie van 'n proses gebaseerde taal, wat gemik is op ingebedde programmatuur. Verder word die implementasie van 'n toepaslike vertaler en looptyd omgewing ook bespreek. Die taal, LF, is grotendeels gebaseer op Joyce, wat deur Brinch Hansen ontwikkel is. Joyce en op sy beurt LF, is verbeterings op ander esp verwante tale soos occam. 'n Voorbeeld hiervan is 'n selektiewe kommunikasieprimitief wat die gebruik van beide toevoer- en afvoerwagte ondersteun. Omdat 'n effektiewe implementasie nagestreef word, is die taalontwerp om so nadruklik moontlik te wees, sonder om strukture in te sluit wat oneffektief is om te implementeer. Sekuriteit was egter die oorheersende oorweging in die ontwerp van die taal en looptyd omgewing. Die vertaler lewer masjienkode, terwyl die meeste ander implementasies van eSP-agtige tale geinterpreteer word of ondersteun word as prosesse op 'n geskikte bedryfstelsel- die meeste eSP-agtige tale word slegs vir akademiese doeleindes aangewend. LF is by uitstek ontwerp as implementasie taal. Die evaluasie van die stelsel se werkverrigting is gedoen aan die hand van praktiese maatstawwe soos die tyd wat benodig word vir kommunikasie, sowel as die gemiddelde tyd benodig vir die hantering van onderbrekings. 2012-08-27T11:34:57Z 2012-08-27T11:34:57Z 2001-11 Thesis http://hdl.handle.net/10019.1/52322 en_ZA Stellenbosch University 94 p. : ill. Stellenbosch : Stellenbosch University |