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.

Timeouts and antiresonance(?) stop

Started 15April2016 – 7Aug2017 (typo) This page is in group Technology. Coding with timeouts may be the only correct solution, but it may also become one of your worst coding nightmares. Reading it over this may be a rather complicated note that perhaps requires that you have some experience. «Timeouts and several parties causing antiresonance stop» […]

Go(-lang) forums matters

New Oct2015, updated 15May2021. This note is in groups Technology and My Go (golang) notes. I think it’s fair to copy my own comments at Go Forum in this note. I would also do newer golang-nuts and golang-dev matters that I have taken part in. The latter forums I won’t backlog. You will have to go there to read […]

Know your timer’s type

New 27Feb2012, moved from 041 4Sept2015. Updated 24Sept2018 This page is in group Technology and is a note showing how you might implement a timer system better with correct typing. It assumes that you’re a systems programmer and understands that the system timer is the fastest you get at this level, since it’s incremented on every system timer/clock […]

Two CPA 2015 fringe presentations

New 31Aug2015, updated 17Nov2015 This page is in group Technology and is a note presenting two presentations at an international conference’s fringe sessions. CPA 2015 Communicating Process Architectures 2015 (CPA 2015) was held at the School of Computing, University of Kent, Canterbury UK (see http://www.wotug.org/cpa2015/). There were two nights with fringe presentations and I had one each […]

Hard real-time

Started 25Aug2015, edited 21Aug2016 This page is in group Technology and is about a facet of multi-threaded concurrent programming where some seem to think that synchronous non-buffered channels and processes are incompatible with hard real-time systems and guaranteed deadlines. Over a beer the other night, but oh so serious, I heard a computer scientist challenge C. Liu and J. Layland’s […]

My XMOS notes

Started 18Feb2015, updated 27Oct2021 (MIPI) – Plus a short update 31May2023 («NumPages» for .xe file for 14.4.1) This page is in group Technology (plus My XMOS pages) and is a blog note about my experience with the XMOS toolset xTIMEcomposer and XMOS HW and how I am going to use used the startKIT to control a small 40 litre […]

How much concurrency?

Started 29Oct2014, updated 1Sept2015 (then a small chapter on XMOS 12Nov2021) This page is in group Technology and is about a facet of multi-threaded concurrent programming where it’s an important matter that more or less independent sw-processes shall not make running difficult for the others. Intro During my previous blog notes, especially «Not so blocking after all» I […]

Not so blocking after all

Started 8Sept2014, updated 9Sep2020 (User forums). This page is in group Technology and is about a facet of multi-threaded (or perhaps single-threaded) programming After having heard so often that «blocking is evil» and that it’s kind of the opposite – a necessary side of life –  I have finally unblocked on the semantics. It’s both. And neither. If so, I’d have […]

Atomic for all?

Started at Caffè Nero at Blackwell’s in Oxford on 24Aug2014, updated 17Sept2014. 22Oct2023: typos fixed. This page is in group Technology . (Update Oct2023: Observe that this note was written before I got acquainted with the XMOS xCore architecture and the xC language. TODO: I might one day make an addition for this.) Atomic is a […]