Channels and rendezvous vs. safety-critical systems

New 19Dec2011, moved here 11April2017, updated 03Mar2024 This note is in group Technology and My Go (golang) notes, and discusses the Ada Ravenscar Profile (subset) for safety-critical systems – as seen from the outside of the Ada community. (Update 28Apr2019: observe that the Ada Conformity Assessment Authority works on another profile, the Ada Jorvik Profile that […]

xC is C plus x

Started 7April2017, updated 03Mar2024 (Replicated select case) This page is in group Technology (plus My XMOS pages) and is a blog note trying to scribble down some info about the XMOS xC language that I haven’t found elsewhere. I love it. But, alas, xC appears as C plus unknown X. I’ll help finding min(X). Also see more xC code […]

MC/DC is not either a rock band nor a current type

New: 23Feb2017, updated 23Sep2021 This page is in group Technology. Intro I have recently read myself up some on code coverage analysis. I have discovered something called MC/DC which stands for Modified Condition/Decision Coverage. Here’s an example of some of the different parts of code that need to be tested for coverage (from [1]): if (Entree […]

Determined about buffers and bit arrays?

Published 22Dec2016. More like a scratchpad, updated 15July2019 This page is in group Technology. If you want to follow me to try to find out why queueing of entry calls in Ada causes nondeterminstic (scheduling? timing? deadline?) and try to understand why the scheduling of processes on the defunct transputer is the opposite(?), then jump […]

Towards a taxonomy(?) of CSP-based systems

New: 12Oct2016. Last updated 25Aug2021 This page is in group Technology. This note started with an attempt to look at how channels are modelled (in code, really) but then ended up with trying to systemise what I found. The note was even called Channel structures at the start. Fold handling with Collapse-O-Matic plugin I am using Collape-O-Matic (here) […]

Timing out design by contract with a stopwatch

Excerpt: Can time be part of a contract? Is it a contract when time is included? «Shall we meet at half past eight at the Pub for a beer?» Let’s steer past that one. Timing requirements are important, they are extensively used in hard real-time systems. In some protocols a client does not need to send any «end of request» signal as the server times out after a period of inactivity to close the connection (like HTTP persistent connections). This blog note tries to discuss when timeouts are fine to use, and when they do turn the components’ interactions into a quiz.

My SafeRTOS notes

There is a nice series of development boards by ST called STM32 MCU Nucleo (here [1]), based on an ARM. One of these appeared on a table near me. They guy who had it said that «they also tell about a free operating system». It happened to be FreeRTOS™ (here [2]) by Real Time Engineers Ltd on freertos.org [3]. I eagerly looked it up and was fast pointed to WITTENSTEIN HighIntegritySystems (by The WITTENSTEIN Group) here [4]. They do SafeRTOS, so I downloaded its manual here [5]. This is a IEC 61508 (here [6]) approved RTOS. Since I work with safety critical systems (and have some blog notes here covering some aspects of 61508, like in note 065 [7]) I started to read. It spurred some questions.

«The Go Programming Language» by Donovan & Kernighan

New 18Jan2016. Updated 6April2016 This page is in groups Technology and My Go (golang) notes. «The Go Programming Language» by Alan A. A. Donovan & Brian W. Kernighan. Addison-Wesley. ISBN-13: 978-0134190440, ISBN-10: 0134190440. I am commenting on the first paper printing of October 2015,  © 2016 by the authors. The book’s web page is at http://www.gopl.io/ Following the K&R book […]

JavaScript tree becoming concurrent?

Excerpt: I hope it to be a note showing whether it’s possible to code the animated tree in concurrent JavaScript code. Or rather, which solution to choose – or which that suits best. «JavaScript is the most commonly used programming language on earth. Even Back-End developers are more likely to use it than any other language» – stackoverflow Developer Survey Results 2016. In other words: most of the world’s programmers are deprived of concurrency support in their programming language.