Loading…

Introducing Time Driven Programming using CSP/occam and WCET Estimates

This thesis describes an experimental programming language called TIME/occam. TIME/occam, like occam, is based on Communicating Sequential Processes (CSP), a branch of process algebra that allows computer programs to be modelled and verified mathematically and mechanically. TIME/occam uses synchrono...

Full description

Saved in:
Bibliographic Details
Main Author: Korsgaard, Martin
Format: Dissertation
Language:English
Subjects:
Online Access:Request full text
Tags: Add Tag
No Tags, Be the first to tag this record!
cited_by
cites
container_end_page
container_issue
container_start_page
container_title
container_volume
creator Korsgaard, Martin
description This thesis describes an experimental programming language called TIME/occam. TIME/occam, like occam, is based on Communicating Sequential Processes (CSP), a branch of process algebra that allows computer programs to be modelled and verified mathematically and mechanically. TIME/occam uses synchronous channel communication as the only legal communication between parallel threads, and prohibits shared variables. Simple statements allow programs to specify parallelism directly. The main innovation in TIME/occam is the TIME statement, which allows the deadline and timing requirements of a task to be specified directly in the language. The TIME statement takes a block and a deadline, and tells the scheduler that the block must be completed within the deadline. It also states that the statement following the TIME block is not allowed to start until the timer expires. This can be used with a loop to create periodic tasks. Statements that have no timing requirements will never be executed. Because channel communication is synchronous, channels allow timing requirements to pass on from one task to another dependent task. The use of channels and timing requirements allow execution of a program to be planned some time in advance. It is assumed that execution time estimates can be found on line, although no viable solution for this exists at this time. Planning execution opens up new possibilities for dealing with missed deadlines. A compiler and scheduler have been implemented for the language. The scheduler is not complete; in particular it lacks the re-planning and execution algorithm. The thesis also contains an introduction to real-time and concurrent programming, and describes some of the difficulties that arise from pre-emptive scheduling of dependent threads. There is also a discussion on worst-case execution time analysis and related hardware issues. An example implementation of dining philosophers is presented, and it is explained how such a program is scheduled and executed in TIME/occam. Finally, the limitations of such a concept are discussed. In particular, there is a question whether or not a very heavy scheduler like the TIME/occam scheduler can be used in practice.
format dissertation
fullrecord <record><control><sourceid>cristin_3HK</sourceid><recordid>TN_cdi_cristin_nora_11250_259652</recordid><sourceformat>XML</sourceformat><sourcesystem>PC</sourcesystem><sourcerecordid>11250_259652</sourcerecordid><originalsourceid>FETCH-cristin_nora_11250_2596523</originalsourceid><addsrcrecordid>eNrjZHDzzCspyk8pTc7MS1cIycxNVXApyixLzVMIKMpPL0rMzQWJlxaDSOfgAP385OTEXIXEvBSFcGfXEAXX4pLM3MSS1GIeBta0xJziVF4ozc2g4OYa4uyhm1yUCVSTF5-XX5QYb2hoZGoQb2RqaWZqZEyEEgBT6zHE</addsrcrecordid><sourcetype>Open Access Repository</sourcetype><iscdi>true</iscdi><recordtype>dissertation</recordtype></control><display><type>dissertation</type><title>Introducing Time Driven Programming using CSP/occam and WCET Estimates</title><source>NORA - Norwegian Open Research Archives</source><creator>Korsgaard, Martin</creator><creatorcontrib>Korsgaard, Martin ; Hendseth, Sverre ; Norges teknisk-naturvitenskapelige universitet, Fakultet for informasjonsteknologi, matematikk og elektroteknikk, Institutt for teknisk kybernetikk</creatorcontrib><description>This thesis describes an experimental programming language called TIME/occam. TIME/occam, like occam, is based on Communicating Sequential Processes (CSP), a branch of process algebra that allows computer programs to be modelled and verified mathematically and mechanically. TIME/occam uses synchronous channel communication as the only legal communication between parallel threads, and prohibits shared variables. Simple statements allow programs to specify parallelism directly. The main innovation in TIME/occam is the TIME statement, which allows the deadline and timing requirements of a task to be specified directly in the language. The TIME statement takes a block and a deadline, and tells the scheduler that the block must be completed within the deadline. It also states that the statement following the TIME block is not allowed to start until the timer expires. This can be used with a loop to create periodic tasks. Statements that have no timing requirements will never be executed. Because channel communication is synchronous, channels allow timing requirements to pass on from one task to another dependent task. The use of channels and timing requirements allow execution of a program to be planned some time in advance. It is assumed that execution time estimates can be found on line, although no viable solution for this exists at this time. Planning execution opens up new possibilities for dealing with missed deadlines. A compiler and scheduler have been implemented for the language. The scheduler is not complete; in particular it lacks the re-planning and execution algorithm. The thesis also contains an introduction to real-time and concurrent programming, and describes some of the difficulties that arise from pre-emptive scheduling of dependent threads. There is also a discussion on worst-case execution time analysis and related hardware issues. An example implementation of dining philosophers is presented, and it is explained how such a program is scheduled and executed in TIME/occam. Finally, the limitations of such a concept are discussed. In particular, there is a question whether or not a very heavy scheduler like the TIME/occam scheduler can be used in practice.</description><language>eng</language><publisher>Institutt for teknisk kybernetikk</publisher><subject>ntnudaim ; Reguleringsteknikk ; SIE3 teknisk kybernetikk</subject><creationdate>2007</creationdate><rights>info:eu-repo/semantics/openAccess</rights><oa>free_for_read</oa><woscitedreferencessubscribed>false</woscitedreferencessubscribed></display><links><openurl>$$Topenurl_article</openurl><openurlfulltext>$$Topenurlfull_article</openurlfulltext><thumbnail>$$Tsyndetics_thumb_exl</thumbnail><link.rule.ids>230,311,780,885,4052,26567</link.rule.ids><linktorsrc>$$Uhttp://hdl.handle.net/11250/259652$$EView_record_in_NORA$$FView_record_in_$$GNORA$$Hfree_for_read</linktorsrc></links><search><creatorcontrib>Korsgaard, Martin</creatorcontrib><title>Introducing Time Driven Programming using CSP/occam and WCET Estimates</title><description>This thesis describes an experimental programming language called TIME/occam. TIME/occam, like occam, is based on Communicating Sequential Processes (CSP), a branch of process algebra that allows computer programs to be modelled and verified mathematically and mechanically. TIME/occam uses synchronous channel communication as the only legal communication between parallel threads, and prohibits shared variables. Simple statements allow programs to specify parallelism directly. The main innovation in TIME/occam is the TIME statement, which allows the deadline and timing requirements of a task to be specified directly in the language. The TIME statement takes a block and a deadline, and tells the scheduler that the block must be completed within the deadline. It also states that the statement following the TIME block is not allowed to start until the timer expires. This can be used with a loop to create periodic tasks. Statements that have no timing requirements will never be executed. Because channel communication is synchronous, channels allow timing requirements to pass on from one task to another dependent task. The use of channels and timing requirements allow execution of a program to be planned some time in advance. It is assumed that execution time estimates can be found on line, although no viable solution for this exists at this time. Planning execution opens up new possibilities for dealing with missed deadlines. A compiler and scheduler have been implemented for the language. The scheduler is not complete; in particular it lacks the re-planning and execution algorithm. The thesis also contains an introduction to real-time and concurrent programming, and describes some of the difficulties that arise from pre-emptive scheduling of dependent threads. There is also a discussion on worst-case execution time analysis and related hardware issues. An example implementation of dining philosophers is presented, and it is explained how such a program is scheduled and executed in TIME/occam. Finally, the limitations of such a concept are discussed. In particular, there is a question whether or not a very heavy scheduler like the TIME/occam scheduler can be used in practice.</description><subject>ntnudaim</subject><subject>Reguleringsteknikk</subject><subject>SIE3 teknisk kybernetikk</subject><fulltext>true</fulltext><rsrctype>dissertation</rsrctype><creationdate>2007</creationdate><recordtype>dissertation</recordtype><sourceid>3HK</sourceid><recordid>eNrjZHDzzCspyk8pTc7MS1cIycxNVXApyixLzVMIKMpPL0rMzQWJlxaDSOfgAP385OTEXIXEvBSFcGfXEAXX4pLM3MSS1GIeBta0xJziVF4ozc2g4OYa4uyhm1yUCVSTF5-XX5QYb2hoZGoQb2RqaWZqZEyEEgBT6zHE</recordid><startdate>2007</startdate><enddate>2007</enddate><creator>Korsgaard, Martin</creator><general>Institutt for teknisk kybernetikk</general><scope>3HK</scope></search><sort><creationdate>2007</creationdate><title>Introducing Time Driven Programming using CSP/occam and WCET Estimates</title><author>Korsgaard, Martin</author></sort><facets><frbrtype>5</frbrtype><frbrgroupid>cdi_FETCH-cristin_nora_11250_2596523</frbrgroupid><rsrctype>dissertations</rsrctype><prefilter>dissertations</prefilter><language>eng</language><creationdate>2007</creationdate><topic>ntnudaim</topic><topic>Reguleringsteknikk</topic><topic>SIE3 teknisk kybernetikk</topic><toplevel>online_resources</toplevel><creatorcontrib>Korsgaard, Martin</creatorcontrib><collection>NORA - Norwegian Open Research Archives</collection></facets><delivery><delcategory>Remote Search Resource</delcategory><fulltext>fulltext_linktorsrc</fulltext></delivery><addata><au>Korsgaard, Martin</au><format>dissertation</format><genre>dissertation</genre><ristype>THES</ristype><Advisor>Hendseth, Sverre</Advisor><Advisor>Norges teknisk-naturvitenskapelige universitet, Fakultet for informasjonsteknologi, matematikk og elektroteknikk, Institutt for teknisk kybernetikk</Advisor><btitle>Introducing Time Driven Programming using CSP/occam and WCET Estimates</btitle><date>2007</date><risdate>2007</risdate><abstract>This thesis describes an experimental programming language called TIME/occam. TIME/occam, like occam, is based on Communicating Sequential Processes (CSP), a branch of process algebra that allows computer programs to be modelled and verified mathematically and mechanically. TIME/occam uses synchronous channel communication as the only legal communication between parallel threads, and prohibits shared variables. Simple statements allow programs to specify parallelism directly. The main innovation in TIME/occam is the TIME statement, which allows the deadline and timing requirements of a task to be specified directly in the language. The TIME statement takes a block and a deadline, and tells the scheduler that the block must be completed within the deadline. It also states that the statement following the TIME block is not allowed to start until the timer expires. This can be used with a loop to create periodic tasks. Statements that have no timing requirements will never be executed. Because channel communication is synchronous, channels allow timing requirements to pass on from one task to another dependent task. The use of channels and timing requirements allow execution of a program to be planned some time in advance. It is assumed that execution time estimates can be found on line, although no viable solution for this exists at this time. Planning execution opens up new possibilities for dealing with missed deadlines. A compiler and scheduler have been implemented for the language. The scheduler is not complete; in particular it lacks the re-planning and execution algorithm. The thesis also contains an introduction to real-time and concurrent programming, and describes some of the difficulties that arise from pre-emptive scheduling of dependent threads. There is also a discussion on worst-case execution time analysis and related hardware issues. An example implementation of dining philosophers is presented, and it is explained how such a program is scheduled and executed in TIME/occam. Finally, the limitations of such a concept are discussed. In particular, there is a question whether or not a very heavy scheduler like the TIME/occam scheduler can be used in practice.</abstract><pub>Institutt for teknisk kybernetikk</pub><oa>free_for_read</oa></addata></record>
fulltext fulltext_linktorsrc
identifier
ispartof
issn
language eng
recordid cdi_cristin_nora_11250_259652
source NORA - Norwegian Open Research Archives
subjects ntnudaim
Reguleringsteknikk
SIE3 teknisk kybernetikk
title Introducing Time Driven Programming using CSP/occam and WCET Estimates
url http://sfxeu10.hosted.exlibrisgroup.com/loughborough?ctx_ver=Z39.88-2004&ctx_enc=info:ofi/enc:UTF-8&ctx_tim=2025-01-07T15%3A36%3A51IST&url_ver=Z39.88-2004&url_ctx_fmt=infofi/fmt:kev:mtx:ctx&rfr_id=info:sid/primo.exlibrisgroup.com:primo3-Article-cristin_3HK&rft_val_fmt=info:ofi/fmt:kev:mtx:dissertation&rft.genre=dissertation&rft.btitle=Introducing%20Time%20Driven%20Programming%20using%20CSP/occam%20and%20WCET%20Estimates&rft.au=Korsgaard,%20Martin&rft.date=2007&rft_id=info:doi/&rft_dat=%3Ccristin_3HK%3E11250_259652%3C/cristin_3HK%3E%3Cgrp_id%3Ecdi_FETCH-cristin_nora_11250_2596523%3C/grp_id%3E%3Coa%3E%3C/oa%3E%3Curl%3E%3C/url%3E&rft_id=info:oai/&rft_id=info:pmid/&rfr_iscdi=true