This most recent version of the report replaces the older version, 2011-09-01 previously available in the LRA.Many complex embedded systems (in areas such as aerospace and defence, for example) have a long service life, typically measured in decades. During this life, planned product maintenance and upgrades will inevitably require software changes. Changes to available hardware platforms are also very common over the lifetime of such systems: this too will force some degree of software change. In addition, software for future versions of systems and new products will very rarely be created from scratch: instead, existing software will be adapted to match new requirements (such as a higher “Safety Integrity Level”). \ud In this report, we introduce a small collection of patterns which is intended to support the migration of existing software designs to a “time triggered” architecture, in order to make the system behaviour more predictable and therefore support test and verification activities. The overall goal is to support improvements in system reliability (and – where appropriate – reduce certification effort). In the next section, we explain (briefly) the meaning of the phrase “design pattern”. \ud We then summarise the features of the two software architectures (“event triggered” and “time triggered”) which lie at the heart of this pattern collection
To submit an update or takedown request for this paper, please submit an Update/Correction/Removal Request.