Hostname: page-component-cb9f654ff-k7rjm Total loading time: 0 Render date: 2025-08-22T15:44:13.476Z Has data issue: false hasContentIssue false

A proposed conceptual architecture for time-sensitive software-systems

Published online by Cambridge University Press:  30 June 2025

A response to the following question: Time-Sensitive Software

Frank J. Furrer*
Affiliation:
Faculty for Computer Science, Technical University of Dresden, Dresden, Germany
*
Corresponding author: Frank J. Furrer; Email: frank.j.furrer@bluewin.ch
Rights & Permissions [Opens in a new window]

Abstract

Many mission-critical systems today have stringent timing requirements. Especially for cyber-physical systems (CPS) that directly interact with real-world entities, violating correct timing may cause accidents, damage or endanger life, property or the environment. To ensure the timely execution of time-sensitive software, a suitable system architecture is essential. This paper proposes a novel conceptual system architecture based on well-established technologies, including transition systems, process algebras, Petri Nets and time-triggered communications (TTC). This architecture for time-sensitive software execution is described as a conceptual model backed by an extensive list of references and opens up several additional research topics. This paper focuses on the conceptual level and defers implementation issues to further research and subsequent publications.

Information

Type
Impact Paper
Creative Commons
Creative Common License - CCCreative Common License - BY
This is an Open Access article, distributed under the terms of the Creative Commons Attribution licence (https://creativecommons.org/licenses/by/4.0/), which permits unrestricted re-use, distribution and reproduction, provided the original article is properly cited.
Copyright
© The Author(s), 2025. Published by Cambridge University Press

Time in computing

Time is a fascinating concept. Much has been thought and written about the physics of time (e.g., Muller, Reference Muller2016), the philosophy of time (e.g., Power, Reference Power2021), the measurement of time (e.g., Struthers, Reference Struthers2024) and the history of time (e.g., Hawking, Reference Hawking2015). In computing, time has precise meanings (Furia et al., Reference Furia, Mandrioli, Morzenti and Ross2012; Buttazzo, Reference Buttazzo2023), such as:

  1. (1) The time elapsed between an event and the completion of the correct response (Latency);

  2. (2) The maximum time guaranteed for a program to execute (Worst-case execution time, WCET);

  3. (3) The maximum time allowed for the execution of a process or a function (Before a time-out);

  4. (4) The maximum time for a process to wait for an event, a response or a message (Synchronization);

  5. (5) The time interval between measurement values received from a sensor (Input sampling rate);

  6. (6) The time interval between outputs to an actuator (Output sampling rate);

  7. (7) The trigger times to start a process (Either absolute from Coordinated Universal Time (UCT) or relative to another event or process);

  8. (8) Relative timing: Before, not before, after (For events, messages, actions, process start and so on);

  9. (9) … and other timing requirements or timing relationships.

Timing is a serious specification responsibility. In cyber-physical systems (CPSs), strict adherence to correct timing requirements is a decisive safety property. Therefore, time-sensitive software is crucial for safety-critical CPSs!

State of the art

The work on reference architectures for CPSs (e.g., Nakagawa and Antonino, Reference Nakagawa and Antonino2024) is not new. Several such architectures have been proposed and are well documented, for example, generic architectures, such as: CPS 5 Components Architecture (Ahmadi et al., Reference Ahmadi, Cherifi, Cheutet and Ouzrot2021), 8C architecture (Sony, Reference Sony2020), NIST Framework for CPSs (Griffor et al., Reference Griffor, Greer, Wollman and Burns2017; NIST, 2017). Or domain-specific architectures, such as: AUTOSAR (https://www.autosar.org/; Rajeev et al., Reference Rajeev, Mohalik and Ramesh2012), Integrated Modular Avionics (IMA Architecture, Gaska et al., Reference Gaska, Watkins and Chen2015). Some architecture-centric standards, such as ISO 26262 (see, e.g., Debouk, Reference Debouk2019) and IEC 61499 (see, e.g., Thramboulidis, Reference Thramboulidis2010; Yoong et al., Reference Yoong, Roop and Salcic2013, Reference Yoong, Roop, Bhatti and Kuo2016), are highly useful. However, these works treat timing as a quality attribute (= measurable or testable characteristics of a system, such as availability, reliability, usability or scalability) and not as a correctness property of the system (= formal requirement that defines and assures the system’s expected behavior), (Lee and Woodcock, Reference Lee and Woodcock2023).

A different approach to handling time is the use of temporal logic. Many types of temporal logic systems exist (e.g., 16 of them are explained in Bellini et al., Reference Bellini, Mattolini and Nesi2000). Temporal logic extends classical logic by defining temporal operators, allowing engineers to model and reason about the behavior of systems over time. Using temporal logic is a powerful methodology in software engineering, applicable to the specification, verification and design of programs, algorithms and databases (e.g., Bolc and Szalas, Reference Bolc and Szalas1995; Furia et al., Reference Furia, Mandrioli, Morzenti and Ross2012; Kröger and Merz, Reference Kröger and Merz2008). Temporal logic expresses timing well, but cannot define and express the system architecture (Structure, relationships, attributes).

A different, generic, layered architecture has been proposed by Ungureanu and Sander (Reference Ungureanu and Sander2017). Their proposal utilizes different constructs, including the tagged signal model, the functional programming paradigm and algorithmic skeletons. An additional framework is developed by Abdellatif et al. (Reference Abdellatif, Combaz and Sifakis2010) and Buckl et al. (Reference Buckl, Gaponova, Geisinger, Knoll and Lee2010), focusing on timing and safety.

The progress of this paper is a conceptual architecture with explicit, formalized, verifiable timing at all levels of the architecture and all steps of the lifecycle of the CPS:

Elevating timing from a quality attribute (= measurable or testable characteristics of a system, such as availability, reliability, usability or scalability) to a correctness property of the system (= formal requirement that defines and assures the system’s expected behavior);

Proposing a layered architecture that respects the proven, well-documented architecture principles, such as layering, partitioning, modularization, loose coupling, separation of concerns and so on. (Furrer, Reference Furrer2019, Reference Furrer2022);

Combines accepted constructs for timing definition, verification and implementation (Process algebra, transition systems, Petri Nets, TTCs.

Introduction and context

The context for time-sensitive software is shown in Figure 1. It consists of 6 elements:

Figure 1. Context for time-sensitive software.

The functional processes: These processes specify the functionality of the system. Note that the term is mainly used for business processes, but technical functionality is also represented as a (functional) process. The symbol τ represents the timing requirements of the process. Note that complete and correct error- and exception-handling is an indispensable and integral part of the processes (e.g., Öztemür, Reference Öztemür2015);

The components (programs) implementing the functionality;

The execution platforms (processors, memory, communications, databases and so on): Note that most of today’s CPSs are distributed systems, that is, they have more than one execution platform. Such systems are referred to as systems-of-systems. The different execution platforms communicate with each other – they are linked by one or several communication channels;

The interprocess-communication: The processes exchange information and flow control (such as synchronization, checkpoints);

Mechanism for the process orchestration. Start, stop or interrupt processes, for example, following an event, a message, a timing or a schedule;

The connection to the real world: Sensors to read information, and actuators to control the physical world.

Layered architecture proposal

Context: All development and evolution mechanisms for time-sensitive software – from specification to operation – must have the proper constructs for correctly handling time. Unfortunately, most of today’s methodologies and tools lack a consistent and verifiable handling of time – and are thus only of limited use for developing and verifying time-sensitive software.

Figure 2 is an attempt at a conceptual end-to-end architecture for time-sensitive software. Please note that this first sketch is a conceptual proposal and leaves open points for future research.

Figure 2. Layered architecture proposal.

Figure 2 proposes six architecture layers, each one with formal constructs to handle time explicitly:

The specification, modeling and verification layer (Top layer): For this layer, a process algebra is used. Process algebra is a formal calculus for specifying, modeling and verifying transition processes (DeNicola, Reference DeNicola2011; Aldini et al., Reference Aldini, Bernardo and Corradini2009; Fokkink, Reference Fokkink1999; Chao, Reference Chao2015). Some process algebras include the formal constructs for timing (e.g., Baeten and Middelburg, Reference Baeten, Middelburg, Bergstra, Ponse and Smolka2001, Reference Baeten and Middelburg2002; Wang, Reference Wang2002; Wolf, Reference Wolf2002);

The system architecture layer: Describes the parts (= components), their composition (= structure) and their relationships (= interactions). As a composition model, “Petri Nets for Modeling of Large Discrete Systems” (Davidrajuh, Reference Davidrajuh2021) is utilized;

The software architecture layer: As the component model providing the functionality, “Petri Modules” and “Inter-modular connectors” (IMC) (Davidrajuh, Reference Davidrajuh2021) are selected. The Petri modules are enriched with timing constructs (Popova-Zeugmann, Reference Popova-Zeugmann2016; Liu, Reference Liu2022);

The execution infrastructure layer: All software runs on the execution infrastructure layer. This layer encompasses all hardware, software systems and communication elements. Again, an execution infrastructure that is time-aware, that is, can provide execution timing guarantees, must be provided. The infrastructure of choice is the “Time-Triggered Communications” (TTC) (Obermaisser, Reference Obermaisser2012; Kopetz and Steiner, Reference Kopetz and Steiner2022; Kopetz and Bauer, Reference Kopetz and Bauer2003; Maier et al., Reference Maier, Bauer, Stoger and Poledna2002; Rushby, Reference Rushby2005; Buttazzo, Reference Buttazzo2023);

In addition, two transformation layers are required. Transformation Layer A translates the verified specification model into the Petri Net specifications. Note that the system architecture (Petri Net structure) is designed before the transformation A. Transformation layer B maps the timed functionality of the Petri Nets to the TTA schedule, that is, to the execution infrastructure.

Concurrency and latency

The two most challenging topics in implementing time-critical CPS are concurrency (e.g., Gorrieri and Versari, Reference Gorrieri and Versari2015) and latency (e.g., Kopetz and Steiner, Reference Kopetz and Steiner2022). In a modern CPS, many applications share common resources, such as CPUs, memory, external storage and communications channels, that is, parallel access to shared resources (Figure 3). This concurrency may result in one application or process influencing the timing of another application or process, sometimes adversarially, such that timing requirements may be violated, such as response times prolongated! If concurrency is not handled correctly, non-determinism can occur – delivering different results from a program run because of interference by concurrency (Gorrieri and Versari, Reference Gorrieri and Versari2015).

Figure 3. Concurrency and latency in a computing system.

The second topic is latency (Figure 3): In a classical architecture implementation, there are many sources of latency: Operating system functions, scheduling, communications delays, shared memory access retardation, queuing and so on. Some of these delays may be unpredictable and can behave statistically. For dependable time-sensitive software, concurrency and latency must be identified, quantified and adequately managed. The proposed architecture in Figure 2 is designed to strongly support this objective.

Process algebra

Context: For the specification, verification and modeling of the time-aware functional processes in the system (Top level layer of Figure 2), the methodology of Process Algebras with Time is chosen (e.g., Baeten and Middelburg, Reference Baeten, Middelburg, Bergstra, Ponse and Smolka2001, Reference Baeten and Middelburg2002; Wang, Reference Wang2002). Process algebras are formalisms for specifying interactions (synchronization, flow control, semaphores and so on) between concurrent processes. Modern process algebras evolved from the idea of formalizing communicating processes. The seminal contribution is the paper “A Calculus of Communicating Systems (CSS)” (Milner, Reference Milner1980). In the following years, several new Process Algebras were developed (e.g., Baeten, Reference Baeten2005; Bergstra and Klop, Reference Bergstra and Klop1984; Hoare, Reference Hoare1985). The early process algebras had no explicit and formal notion of timing. Timing was introduced later (e.g., Nicollin and Sifakis, Reference Nicollin and Sifakis1991). Today, process algebras with fully formalized timing exist (e.g., Baeten and Middelburg, Reference Baeten, Middelburg, Bergstra, Ponse and Smolka2001, Reference Baeten and Middelburg2002; Wang, Reference Wang2002). A process algebra defines a set of operators for the interaction of concurrent processes. A process algebra with time has additional operators for formally handling time.

Many process algebras with rich literature are in use today (e.g., Aceto, Reference Aceto2003). So far, no favorite, widely accepted and used process algebra exists. Process algebras are selected for the task at hand. For the widespread use of process algebras in industry, standardization by an industry body would be highly beneficial. A first attempt is the ISO standardization of a process algebra for communication protocols (Bolognesi and Brinksma, Reference Bolognesi and Brinksma1968; ISO, 2001).

Transition processes

Context: Process algebras require modeling the functionality of processes as transition systems (e.g., Demri et al., Reference Demri, Goranko and Lange2016; Gorrieri and Versari, Reference Gorrieri and Versari2015).

Transition systems have states. An action triggers the transition from one state to another. States and actions include explicit timing requirements in their specifications (Figure 4a, the symbol represents the timing). The theory of state machines is well-known and provides sufficient formality (e.g., Börger and Stärk, Reference Börger and Stärk2013).

Figure 4. Transition systems.

Figure 4b shows the example of a vending machine that is often used as a (much simplified) transition system. It has five states: Q1 (= «Waiting for coin»), Q2 (= «Waiting selection»), Q3 (= «Coffee»), Q4 (= «Tea») and Q5 (= «Error»). The transitions are represented by arrows, including time-out after coin insertion and pressing both buttons simultaneously.

Timed Petri modules and inter-modular connectors

Context: Several realizations of the Petri Net idea exist. The one best suited for this architecture has been developed by Reggie Davidrajuh (https://www.davidrajuh.net/reggie/). It is applicable to large discrete systems and allows arbitrary system structures.

The functionality and quality properties of the system are implemented using “Timed Petri Modules” (Popova-Zeugmann, Reference Popova-Zeugmann2016; Wang, Reference Wang1998) and “Inter-Modular Connectors” (Davidrajuh, Reference Davidrajuh2021, Figure 5).

Figure 5. Timed Petri modules and inter-modular connectors.

The Timed Petri Modules feature all the constructs and properties of Petri Modules with time (e.g., Girault and Valk, Reference Girault and Valk2010). They implement the functionality and data. The interconnections of the Petri Modules specified by the process algebra are implemented by the IMC. These two building blocks give the architecture designer a high level of flexibility and allow any structure (not only hierarchical) to be defined.

The process algebra does not specify the system architecture. The distribution of functionality to the individual Petri Modules (Partitioning, cohesion and coherence and so on), the coupling of the Petri Modules by the IMC (Interfaces, loose coupling and so on) must be designed by a specialized system/software architect. Fortunately, proven, well-documented architecture principles and patterns (Figure 6) are available to construct a dependable, maintainable and evolvable architecture (e.g., Murer et al., Reference Murer, Bonati and Furrer2014; Furrer, Reference Furrer2019, Reference Furrer2022, Transformation Layer A below).

Figure 6. Software architecture.

Transformation Layer A

Context: While the four functional layers in Figure 6 use well-known, well-documented and proven technologies (Such as transition processes, process algebras, timed Petri Nets, the IMC composition model and TTCs, the two transformation layers are new concepts. The transformation layer A maps a timed transition system onto a timed Modular Petri Net. Although some literature exists on this specific topic (e.g., Badouel et al., Reference Badouel, Bernardinello, Darondeau, Badouel, Bernardinello and Darondeau2015; Devillers et al., Reference Devillers and Tredup2022; Best et al., 2024; Cortadella et al., Reference Cortadella, Lavagno, Kishinevsky and Yakovlev1995; Goltz, Reference Goltz and Guessarian1990), this transformation layer becomes a research topic – especially concerning timing implementation.

The transformation layer A has two transformation paths (Figure 7):

Figure 7. Elements of the Transformation Layer A.

Transformation Path 1 (Architecture, Figure 7):

The structural organization of the modular Petri Nets is of the highest importance, that is, strict adherence to proven architectural principles, such as modularization, correct partitioning (respecting cohesion and coherence), loose coupling and separation of concerns (e.g., Furrer, Reference Furrer2019; Platzer, Reference Platzer2018). This design of the adequate structure is independent of the formal specification of the system and must be carried out by very experienced software architects. Transformation path A requires a strong architecture governance in the IT organization (e.g., Murer et al., Reference Murer, Bonati and Furrer2014; Bell, Reference Bell2023). Once the Petri Modules/IMC structural architecture has been defined, the states and transitions that are to be encapsulated by each Petri Module are selected (Figure 7). Once all states, transitions and quality properties are transferred from the timed transition system to the timed Petri Module system, the duty of transformation path 1 is completed. Today, transformation Path 1 is state-of-the-art in methodology and architecture knowledge.

Transformation Path 2 (Timing, Figure 7 ):

Timed transition systems (e.g., Furia et al., Reference Furia, Mandrioli, Morzenti and Ross2012, chapters 7.3 & 7.4; Henzinger et al., Reference Henzinger, Manna and Pnueli1991; Hale et al., Reference Hale, Cardell-Oliver and Herbert1994) and timed Petri Nets have different formal notations for time representation (e.g., Furia et al., Reference Furia, Mandrioli, Morzenti and Ross2012, chapter 8; Wang, Reference Wang1998; Penczek and Pólrola, 2006). These different notations have differing expressiveness, and suitable notations must be selected for this application.

The transformation path 2 transcribes the transition system timing information to the Petri Net timing information (e.g., Best et al., Reference Best, Devillers, Koutny, Reisig and Rozenberg1998), including all constraints. Promising initial work has been done on such transformations (e.g., Khomenko et al., Reference Khomenko, Koutny and Yakovlev2022; Huang et al., Reference Huang, Jiao, Cheung and Wak2012), but more consolidating research is needed for this transformation path, focused on the proposed architecture.

Transformation Layer B

Context: The responsibility of the transformation layer B is to select one or more Petri Modules and use them to form a task (Figure 8). This includes correctly transforming not only the functionality and data, but also the timing and the quality properties.

Figure 8. Elements of the Transformation Layer B.

The transformation layer B has two transformation paths (Figure 8):

Transformation path 3 (Architecture):

Transformation path 3 selects one or several coherent Petri Modules, allocates them to specific tasks and uses the IMCs to define the relationships from task to task and from task to the environment. While the adequate architecture (structure, relationships) has already been defined by transformation path 1, the transfer of functionality/data/relationships/quality attributes from the Petri Module system to the task universe by the transformation path 3 must at least preserve – preferably improve – the quality of the software architecture. This means, again, strict adherence to proven architectural principles and patterns, such as modularization, correct partitioning (respecting cohesion and coherence), loose coupling and separation of concerns and so on. (e.g., Furrer, Reference Furrer2019; Richards and Ford, Reference Richards and Ford2025; Martin, Reference Martin2017; Cervantes, Reference Cervantes and Kazman2024; Khononov, Reference Khononov2025; Fettke and Reisig, 2022). Once all Petri Modules/IMC are transferred to the task structure, the duty of transformation path 3 is completed. Today, transformation Path 3 is state-of-the-art in terms of both methodology and architecture knowledge.

Transformation path 4 (Timing):

Transformation path 4 transfers the timing specifications from the Petri Net module system to the task universe, that is, to the implementation level. Timing in Petri Nets is introduced associated with places, transitions or both. Some work has been done on software implementations of timed Petri Nets (e.g., Girault and Valk, Reference Girault and Valk2010, Chapters 20 & 21; Ferscha, Reference Ferscha1994; Barad, Reference Barad2016; Moreno and Salcedo, Reference Moreno and Salcedo2006; Andrezejwski, Reference Andrezejwski2001). However, neither approach is sufficient for the application to the transformation path 4. Therefore, transformation Path 4 needs more research, specifically directed to the proposed architecture.

… and one feedback path (Timing adjustments): Timing Feedback:

The applications prescribe the timing requirements for the system (Processes in Figure 1). At the moment of timing specification, there is no guarantee that their successful implementation will be feasible (e.g., Klemm and Cownie, Reference Klemm and Cownie2021; Philippou and Sokolsky, 2007). The following obstacles may appear:

  • Some tasks may have an unexpectedly large WCET;

  • The task system is not schedulable (TTA);

  • The physical communications channel’s transmission times negatively impact timing;

  • The system does not provide sufficient resources to handle concurrency and latency;

  • Correct error and fault handling require more resources than expected; and so on.

If the timing cannot be implemented in the real CPS, three resorts are possible:

  1. I. Weaken the initial timing requirements (if the applications/processes allow it);

  2. II. Try to modify the architecture (Structure, relationships);

  3. III. Provide more implementation resources.

Once the complete system of timed Petri Net modules has been transferred into tasks and their relationships and the feasibility of the implementation has been assured, the mission of transformation layer B is complete.

Time-Triggered Protocol (TTP) – Time-Triggered Architecture (TTA)

The time-triggered architecture (TTA) defines a fault-tolerant execution platform for large, distributed, embedded real-time systems in mission- and safety-critical cyber-physical applications, such as avionics (e.g., Fuhrmann et al., Reference Fuhrmann, von Hanxleden, Rennhack and Koch2006). It is based on the time-triggered model of computation (Kopetz, Reference Kopetz1998; Kopetz, Reference Kopetz2017) and introduces the paradigm of TTCs (e.g., Kopetz and Bauer, Reference Kopetz and Bauer2003; Obermaisser, Reference Obermaisser2012; Kopetz and Steiner, Reference Kopetz and Steiner2022; Maier et al., Reference Maier, Bauer, Stoger and Poledna2002; Rushby, Reference Rushby2005; Buttazzo, Reference Buttazzo2023). The basic concepts of TTA are shown in Figure 10. Note that the TTC is a paradigm for electronic information exchange (as opposed to the event-triggered communications), TTP is the implementation and the TTA includes in addition system components, such as scheduler, redundant communication channel, global time synchronization and so on (Figure 10).

Figure 9. Transformation layers and runtime system.

Figure 10. Time-triggered architecture.

The Figure 10 introduces the following elements (From lowest to highest):

  1. (1) A redundant communication bus that allows the exchange of messages. Initially, Time Division Multiple Access (TDMA)-scheme was used in the TTP. Later – forced by industry standardization – TTP was implemented on top of more communication schemes, such as Control Area Network (CAN) (Führer et al., Reference Führer, Müller, Dieterle, Hartwich, Hugel and Walther2000), Ethernet (Kopetz et al., Reference Kopetz, Ademaj, Grillinger and Steinhammer2005) and FlexRay (Shaw and Jackman, Reference Shaw and Jackman2008);

  2. (2) TTP, managing the exchange of messages between the N nodes in the network, are implemented on top of the two communication channels, providing the necessary redundancy for safe operation. TTP provides fault-tolerant message transport with a fixed schedule at known times and minimal jitter by employing a TDMA (= Time-Division Multiple Access) strategy;

  3. (3) A protocol to establish a global, synchronized time in all the nodes. TTA provides system-wide, fault-tolerant and distributed clock synchronization, establishing a global time base without relying on a central time server.

  4. (4) The runtime systems in each node, that is, a set of tasks governed by a scheduler.

  5. (5) Several algorithms for system functions (Obermaisser, Reference Obermaisser2012, Chapter 4):

    1. a. Clock synchronization,

    2. b. Startup and Restart,

    3. c. Diagnostic Services,

    4. d. Error Detection and Fault Isolation,

    5. e. Configuration Service,

    6. f. Schedule Generation and Schedulability Analysis

  6. (6) The interfaces for the interaction of the tasks with the physical world (Sensors, Actuators).

The TTP is a deterministic, verifiable, well-analyzed message exchange scheme for fault-tolerant, distributed systems (e.g., Rushby, Reference Rushby2002). Therefore, it forms a predictable foundation for the execution platform in Figure 6.

Worst-Case Execution Time (WCET)

Each program (= a piece of code) has a worst-case execution time (WCET, e.g., Lokuciejewski, Reference Lokuciejewski and Marwedel2011). The WCET of a program is the maximum amount of time the program could take to execute on a specific execution platform, that is, the longest path through the program. Unfortunately, the WCET determination corresponds to the halting problem and is therefore not generally solvable. Estimation methods, such as simulation and code analysis (e.g., Franke, Reference Franke2016; Ferdinand and Heckmann, Reference Ferdinand and Heckmann2004), must be used to obtain valuable results. For time-sensitive software, the WCET of each program/module/task must be determined with sufficient accuracy (e.g., Wolf, Reference Wolf2002).

Runtime system and task scheduling

The resulting runtime system is shown in Figure 9. It consists of a set of tasks, system- and communications software, a computing platform (today often a cached, multicore CPU), the TTC bus and a task scheduler. The scheduler orchestrates the sequence of execution of the tasks in the distributed nodes of the system.

Except for the scheduling, all elements of the conceptual architecture in Figure 6 have been chosen due to the predictability and verifiability of their correct timing behavior. Scheduling, preemption and resource sharing may cause timing uncertainties and must be analyzed and implemented very carefully. A rich literature related to building, verifying and operating predictable, hard real-time computing platforms exists (e.g., Buttazzo, Reference Buttazzo2023; Gliwa, Reference Gliwa2022; Obermaisser, Reference Obermaisser2012 [Chapter 15]; Ayman et al., 2009; Antolak et al., Reference Antolak and Pulka2023). There is no space to handle this topic, only to raise awareness.

CPSs need global time, that is, a system-wide, precise and synchronized common physical time scale in all elements of the CPS (Shrivastava et al., Reference Shrivastava, Derler, Baboud, Stanton, Khayatian, Andrade, Weiss, Eidson and Chandhoke2016; Broman et al., Reference Broman, Derler and Eidson2013; Rajeev et al., Reference Rajeev, Mohalik and Ramesh2012). In the conceptual architecture of Figure 2, the TTA provides the global clock (Figure 10; Obermaisser, Reference Obermaisser2012, Chapter 4).

Mixed-criticality systems

Many CPSs are “mixed-criticality systems,” that is, they contain time-sensitive processes/parts and non-time-sensitive processes/parts. The system design must be based on solid partitioning and loose, monitored coupling between the two criticality regions.

Timing verification

The final truth of timing correctness lies in the runtime system (Lowest layer in Figure 6). Only if the runtime system strictly adheres to all timing specifications in all operating conditions can it be qualified as safe. The strong formalism and model-checking capabilities of the 3 top layers in Figure 6 ensure high confidence in the system timing conformance with the specifications because of the formal verification. Process algebras, transition systems and Petri Nets allow the verification of their timing properties (e.g., Becker, Reference Becker2020; Willemse, Reference Willemse2003; Camargo, Reference Camargo1998; Corradini et al., Reference Corradini, D’Ortenzio and Inverardi1999; Philippou and Sokolsky, 2007; Penczek and Pólrola, 2006; Wolf, Reference Wolf2002).

Timing verification on the lowest layer in Figure 6 (Runtime system) requires measurements, tracing, statistics, analysis and assessment (e.g., Rohr, Reference Rohr2015; Becker, Reference Becker2020). Runtime verification, especially for the timing, is a challenging task but sufficiently researched (e.g., Colombo and Pace, 2022).

Real-Time Calculus (RTC)

A promising development for formalizing the timing behavior and formal verification of the runtime system is the RTC (e.g., Guan, Reference Guan2018; Thiele et al., Reference Thiele, Chakraborty and Naedele2000; Two Examples in: Chokshi and Bhaduri, Reference Chokshi and Bhaduri2010; Bazzal et al., Reference Bazzal, Krawczyk, Govindarajan and Wolff2020). The key concept in RTC is the Greedy Processing Component (GPC, Figure 11). The GPC accepts input events, launches the appropriate processing and outputs the processed event stream. The event streams are formalized by arrival curves based on the number of events arriving at an interval (one for the lower bound, the other for the upper bound). The resources consumed to process the input events are also formalized by service curves based on the amount of resources consumed in an interval Δ, one for the lower bound, the other for the upper bound.

Figure 11. RTC key concept – Greedy Processing Component (GPC).

For the arrival and service curves, operators are defined to build compositions of GPCs and thus describe systems of arbitrary complexity. The benefits of the RTC include the formalism for determining bounds for execution, communication, queues and buffer sizes. Additionally, the schedulability of multitasking software systems can be determined using RTC.

Runtime monitoring

As a last defense against timing violations, runtime monitoring can be used. Whereas runtime verification aims to check specific parameters of the program execution, such as the execution times of a set of tasks, runtime monitoring supervises the system in order to detect anomalous or dangerous behavior. If anomalous behavior is detected, the system may automatically take protective actions, thus trying to avoid safety accidents or security incidents. Machine learning algorithms are often used for anomaly detection. (e.g., Furrer, Reference Furrer2023).

Results

Strict adherence to timing requirements is a crucial precondition for the safety of CPSs. Therefore, the software controlling the CPS becomes time-sensitive. The conceptual system architecture is the foundation for the assurance of timing requirements in a CPS. Only an adequate system architecture allows the formal specification, verification, modeling and implementation of timing requirements on all levels and for all process steps.

This paper proposes a novel timing-aware architecture composed of well-known technologies: process algebra for modeling transition processes, Petri Nets for implementation and TTCs as the execution platform. The timing-aware 4-layer architecture is presented as a conceptual 4-layer model. From this model, many research topics follow.

Open questions and future work

Conclusions

For mission-critical CPSs, the correct specification, implementation and execution of complete timing specifications is a correctness property rather than a quality attribute. To answer this challenge, the underlying system architecture must provide formal, verifiable and complete timing constructs on all levels. This paper proposes a novel, four-layer architecture with sufficient formalism based on established technologies to handle and verify timing in a CPS.

Data availablity statement

Data availability does not apply to this article as no new data were created or analyzed in this study.

Acknowledgments

First and foremost, I would like to extend my sincere thanks to my colleagues and students at the Computer Science Faculty of the Technical University of Dresden, Germany. In my ten years of teaching, they enabled me to gain extensive knowledge in many new areas. Next, I would like to extend my sincere thanks to all the authors (listed in the references) who provided the knowledge base for this paper. Special thanks are due to Prof. Dr. Hermann Kopetz (Technical University of Vienna) for numerous discussions on real-time systems and their architecture. Finally, I thank Mónica Moniz and Ellie Pilat (from Cambridge University Press, UK) and Jim Woodcock (University of York, UK) for their valuable support during the preparation of this paper, as well as the two reviewers: (1) Associate Professor Arvind Easwaran, Nanyang Technological University, Singapore (named with permission) and (2) Professor Partha Roop, University of Auckland, New Zealand (also named with permission) who significantly improved the content and quality of this paper.

Author contributions

The author is the only contributor to this paper.

Funding statement

This research received no specific grant from any funding agency, commercial or not-for-profit sectors.

Competing interests

The author has no conflicts of interest.

Ethical approval

Ethical approval and consent are not relevant to this article type.

References

Connections references

Lee, EA, Woodcock, J (2023) Time-sensitive software. Research Directions, Cyber-Physical Systems 1. Cambridge University Press, Cambridge, UK. https://doi.org/10.1017/cbp.2023.1.Google Scholar

References

Abdellatif, T, Combaz, J and Sifakis, J (2010) Model-based implementation of real-time applications. In EMSOFT’10: Proceedings of the Tenth ACM International Conference on Embedded Software, pp. 229238. https://doi.org/10.1145/1879021.1879052.Google Scholar
Aceto, L (2003) Some of my favourite results in classic process algebra. BRICS Notes Series NS-03-2. University of Aarhus, Aarhus, Denmark. ISSN 0909-3206. Available at https://www.brics.dk/NS/03/2/BRICS-NS-03-2.pdf.Google Scholar
Ahmadi, A, Cherifi, C, Cheutet, V and Ouzrot, Y (2021) A review of CPS 5 components architecture for manufacturing based on standards. In 11th IEEE International Conference on Software, Knowledge, Information Management and Applications (SKIMA 2017), Colombo, Sri Lanka. Available at https://www.researchgate.net/publication/224264704_Design_and_architectures_for_dependable_embedded_systems.Google Scholar
Aldini, A, Bernardo, M and Corradini, F (2009) A Process Algebraic Approach to Software Architecture Design. London, UK: Springer Verlag. https://doi.org/10.1007/978-1-84800-223-4.Google Scholar
Andrezejwski, G (2001) Timed petri nets for software applications. In The International Workshop on Discrete-Event System Design, DESDes’01, June 27-29, 2001, Przytok near Zielona Gora, Poland. Available at https://www.iie.uz.zgora.pl/iie_archiwum/desdes01/files/ref/I-9.pdf.Google Scholar
Antolak, E and Pulka, A (2023) Validation of task scheduling techniques in multithread time predictable systems. IEEE Access, New York, NY, USA. https://doi.org/10.1109/ACCESS.2023.3275437.Google Scholar
Badouel, E, Bernardinello, L and Darondeau, P (2015) Synthesis of P/T-nets from finite initialized transition systems. In Badouel, E, Bernardinello, L and Darondeau, P (eds), Petri Net Synthesis. Berlin, Germany: Springer Verlag. https://doi.org/10.1007/978-3-662-47967-4.Google Scholar
Baeten, JCM and Middelburg, CA (2001) Process algebra with timing - real-time and discrete time. In Bergstra, JA, Ponse, A and Smolka, SA (eds), Handbook of Process Algebra. Amsterdam, The Nederlands: Elsevier Science B.V., pp. 627684.Google Scholar
Baeten, JCM and Middelburg, CA (2002) Process Algebra with Timing. Berlin, Germany: Springer Verlag.Google Scholar
Baeten, JCM (2005) A brief history of process algebra. Theoretical Computer Science Journal 335(2-3), 131146. Elsevier B.V., Amsterdam, The Netherlands. https://doi.org/10.1016/j.tcs.2004.07.036.Google Scholar
Barad, M (2016) Petri nets—a versatile modeling structure. Applied Mathematics 7(9). http://doi.org/10.4236/am.2016.79074.Google Scholar
Bazzal, M, Krawczyk, L, Govindarajan, RP and Wolff, C (2020) Timing analysis of car-to-car communication systems using real-time calculus - a case study. In The 5th IEEE International Symposium on Smart and Wireless Systems within the International Conferences on Intelligent Data Acquisition and Advanced Computing Systems, 17-18 September 2020, Dortmund, Germany. Available at https://www.researchgate.net/figure/A-Greedy-Processing-Component-GPC-element-transforms-the-input-pairs-of-arrival-and_fig2_347867475.Google Scholar
Becker, M (2020) Towards Source-Level Timing Analysis of Embedded Software Using Functional Verification Methods. PhD Thesis, Fakultat fur Elektrotechnik und Informationstechnik der Technischen Universitat Munchen, Munich Germany. Available at https://mediatum.ub.tum.de/doc/1506241/1506241.pdf.Google Scholar
Bell, M (2023) Software Architect. Hoboken, NJ, USA: John Wiley & Sons Inc.Google Scholar
Bellini, R, Mattolini, P and Nesi, P (2000) Temporal logics for real-time system specification. ACM Computing Surveys (CSUR) 32(1), 1242. Available at https://doi.org/10.1145/349194.349197.Google Scholar
Bera, D, Van Hee, KM and Nijmeijer, H (2014) Modeling hybrid systems with Petri nets. In 4th International Conference on Simulation and Modeling Methodologies, Technologies and Applications, SIMULTECH 2014 - Vienna, Austria, 28.-30.4.2014. Available at https://research.tue.nl/en/publications/modeling-hybrid-systems-with-petri-nets.Google Scholar
Bergstra, JA and Klop, JW (1984) Process algebra for synchronous communication. Information and Control, Elsevier, Amsterdam, NL. Available at https://ir.cwi.nl/pub/1836/1836D.pdf.Google Scholar
Best, E, Devillers, R and Koutny, M (1998) Petri nets, process algebras, and concurrent programming languages. In Reisig, W and Rozenberg, G (eds), Lectures on Petri Nets II: Applications. ACPN 1996. Lecture Notes in Computer Science, vol. 1492. Berlin, Heidelberg: Springer. https://doi.org/10.1007/3-540-65307-4_46.Google Scholar
Best, E and Devillers, R (2024) Synthesis of Petri nets from labelled transition systems. In Best, E and Devillers, R (eds), Petri Net Primer - A Compendium on the Core Model, Analysis, and Synthesis. Basle, Switzerland: Birkhäuser Verlag. https://doi.org/10.1007/978-3-031-48278-6_11.Google Scholar
Bolc, L and Szalas, A (eds, 2019/initially published in 1995) Time & Logic - A Computational Approach. Milton Park, Abingdon, UK: Routledge Revival.Google Scholar
Bolognesi, T and Brinksma, E (1968) Introduction to the ISO Specification Language LOTOS. Technical Report CNUCE-C.N.R., Pisa, Italy & University of Twente, Enschede, The Netherlands. Available at https://cadp.inria.fr/ftp/publications/others/Bolognesi-Brinksma-87.pdf.Google Scholar
Börger, E and Stärk, R (2013) Abstract State Machines - A Method for High-Level System Design and Analysis. Berlin, Germany: Springer Verlag.Google Scholar
Broman, D, Derler, P and Eidson, JC (2013) Temporal issues in cyber-physical systems. Journal of the Indian Institute of Science 93(3). Bangalore, India. Available at https://journal.iisc.ac.in/index.php/iisc/article/view/1686 Google Scholar
Buckl, C, Gaponova, I, Geisinger, M, Knoll, A and Lee, EA (2010) Model-based specification of timing requirements. In EMSOFT ’10, Proceedings of the Tenth ACM International Conference on Embedded software. Scottsdale, Arizona, USA, October 24-29, 2010, pp. 239248. https://doi.org/10.1145/1879021.1879053.Google Scholar
Buttazzo, G (2023) Hard Real-Time Computing Systems - Predictable Scheduling Algorithms and Applications, 4th Edn. Cham, Switzerland: Springer Nature Switzerland. https://doi.org/10.1007/978-3-031-45410-3.Google Scholar
Camargo, M (1998) Formal specification, verification, and simulation of time-dependent systems - a timed process algebra approach. Electronic Notes in Theoretical Computer Science. Published by Elsevier Science BV, Amsterdam, Netherlands. Available at https://www.academia.edu/123683998/Formal_Specification_Verification_and_Simulation_of_Time_Dependent_Systems_a_Timed_Process_Algebra_Approach.Google Scholar
Cervantes, H and Kazman, R (2024) Designing Software Architectures - A Practical Approach. Boston, USA: Pearson Education, Addison-Wesley.Google Scholar
Chao, WS (2015) A Process Algebra For Systems Architecture - The Structure-Behavior Coalescence Approach. CreateSpace Independent Publishing Platform.Google Scholar
Chokshi, DB and Bhaduri, P (2010) Performance analysis of FlexRay-based systems using real-time calculus. In Proceedings of the 2010 ACM Symposium on Applied Computing - SAC’10, Sierre, Switzerland. Available at https://www.academia.edu/13201410/Performance_analysis_of_FlexRay_based_systems_using_real_time_calculus_revisited Google Scholar
Colombo, C and Pace, GJ (2022) Runtime Verification - A Hands-On Approach in Java. Cham, Switzerland: Springer Nature Switzerland AG. https://doi.org/10.1007/978-3-031-09268-8.Google Scholar
Corradini, F, D’Ortenzio, D and Inverardi, P (1999) On the relationship among four timed process algebras. Fundamenta Informaticae 38(4), 377395. IOS Press, IOS Press, Amsterdam, Netherlands. Available at https://content.iospress.com/articles/fundamenta-informaticae/fi38-4-03.Google Scholar
Cortadella, J, Lavagno, L, Kishinevsky, M and Yakovlev, A (1995) deriving petri nets from finite transition systems. IEEE Transactions on Computers 47(8), 859882. https://ieeexplore.ieee.org/document/707587.Google Scholar
David, R and Alla, H (2010) Discrete, Continuous, and Hybrid Petri Nets, 2nd Edn. Berlin, Germany: Springer Verlag. https://doi.org/10.1007/978-3-642-10669-9.Google Scholar
Davidrajuh, R (2021) Petri Nets for Modeling of Large Discrete Systems. Singapore: Springer Nature Singapore. https://doi.org/10.1007/978-981-16-5203-5.Google Scholar
Debouk, R (2019) Overview of the second edition of ISO 26262: Functional safety – road vehicles. Journal of System Safety, Saint Paul, MS, USA 55(1). https://doi.org/10.56094/jss.v55i1.55.Google Scholar
Demri, S, Goranko, V and Lange, M (2016) Temporal Logics in Computer Science - Finite-State Systems. Cambridge Tracts in Theoretical Computer Science, vol. 58. Cambridge, UK: Cambridge University Press.Google Scholar
DeNicola, R (2011) A gentle introduction to Process Algebras. IMT- Institute for Advanced Studies, Lucca, Italy. Available at https://www.pst.ifi.lmu.de/Lehre/fruhere-semester/sose-2013/formale-spezifikation-und-verifikation/intro-to-pa.pdf Google Scholar
Devillers, R and Tredup, R (2022) Some basic techniques allowing petri net synthesis - complexity and algorithmic issues. Fundamenta Informaticae 187(2-4). Petri Nets. Villeurbanne, France. Available at https://doi.org/10.48550/arXiv.2112.03605.Google Scholar
Ferdinand, C and Heckmann, R (2004) aiT – worst-case execution time prediction by static program analysis. In Building the Information Society, IFIP 18th World Computer Congress Topical Sessions, 22–27 August 2004, Toulouse, France. NY, USA: Springer New York, pp. 377383. https://doi.org/10.1007/b98986.Google Scholar
Ferscha, A (1994) Concurrent execution of timed Petri nets. In Proceedings of Winter Simulation Conference, Lake Buena Vista, FL, USA, pp. 229236. https://doi.org/10.1109/WSC.1994.717133.Google Scholar
Fettke, P and Reisig, W (2022) Modularization, composition, and hierarchization of petri nets with heraklit. German Research Center for Artificial Intelligence (DFKI), Saarbrücken, Germany. https://doi.org/10.48550/arXiv.2202.01830.Google Scholar
Fokkink, W (1999) Introduction to Process Algebra. Berlin, Germany: Springer Verlag.Google Scholar
Franke, B (2016) Embedded Systems - Lecture 11: Worst-Case Execution Time. The University of Edinburgh, Edinburgh, Scotland. Available at https://www.inf.ed.ac.uk/teaching/courses/es/PDFs/lecture_11.pdf.Google Scholar
Führer, T, Müller, B, Dieterle, W, Hartwich, F, Hugel, R and Walther, M (2000) Time-Triggered Communication on CAN (TTCAN), Draft for TC 22/SC3/WG1/TF6 (ISO 11898-4). Robert Bosch Gmbh, Suttgart, Germany. Available at https://www.jstor.org/stable/44718317.Google Scholar
Fuhrmann, H, von Hanxleden, R, Rennhack, J and Koch, J (2006) Model-based system design of time-triggered architectures - avionics case study. In 2006 IEEE/AIAA, 25th Digital Avionics Systems Conference, Portland, OR, USA. https://doi.org/10.1109/DASC.2006.313745.Google Scholar
Furia, CA, Mandrioli, D, Morzenti, D and Ross, M (2012) Modeling Time in Computing. Berlin, Germany: Springer Science & Business Media. https://doi.org/10.1007/978-3-642-32332-4.Google Scholar
Furrer, FJ (2019) Future-Proof Software-Systems - A Sustainable Evolution Strategy. Wiesbaden, Germany: Springer Vieweg Fachmedien. https://doi.org/10.1007/978-3-658-19938-8.Google Scholar
Furrer, FJ (2022) Safety and Security of Cyber-Physical Systems - Engineering dependable Software using Principle-based Development. Wiesbaden, Germany: Springer Vieweg Fachmedien. https://doi.org/10.1007/978-3-658-37182-1.Google Scholar
Furrer, FJ (2023) Safe and secure system architectures for cyber-physical systems. Informatik Spektrum 46, 96103. https://doi.org/10.1007/s00287-023-01533-z.Google Scholar
Gaska, T, Watkins, C and Chen, Y (2015) Integrated modular avionics — past, present, and future. IEEE Aerospace and Electronic Systems Magazine 30(9), 1223. https://doi.org/10.1109/MAES.2015.150014.Google Scholar
Gendy, AKG (2009) Techniques for scheduling time-triggered resource-constrained embedded systems. Embedded Systems Laboratory. PhD Thesis, Department of Engineering, University of Leicester, Leicester, UK. Available at https://figshare.le.ac.uk/articles/thesis/Techniques_for_scheduling_time-triggered_resource-constrained_embedded_systems/10092473?file=18194459.Google Scholar
Girault, C and Valk, R (2010) Petri Nets for Systems Engineering - A Guide to Modeling, Verification, and Applications. Berlin, Germany: Springer Verlag.Google Scholar
Gliwa, P (2022) E: Embedded Software Timing - Methodology, Analysis, and Practical Tips with a Focus on Automotive. Cham, Switzerland: Springer Nature Switzerland AG. https://doi.org/10.1007/978-3-030-64144-3.Google Scholar
Goltz, U (1990) CCS and petri nets. In Guessarian, I (ed.), Semantics of Systems of Concurrent Processes. LITP 1990. Lecture Notes in Computer Science, vol. 469. Berlin, Germany: Springer. https://doi.org/10.1007/3-540-53479-2_14.Google Scholar
Gonzalez-Perez, C and Henderson-Sellers, B (2008) Metamodelling for Software Engineering. Chichester, UK: John Wiley & Sons.Google Scholar
Gorrieri, R and Versari, C (2015) Introduction to Concurrency Theory - Transition Systems and CCS. Cham, Switzerland: Springer International Publishing Switzerland. https://doi.org/10.1007/978-3-319-21491-7.Google Scholar
Griffor, E, Greer, C, Wollman, D and Burns, M (2017) Framework for Cyber-Physical Systems. Volume 1, Overview. Special Publication (NIST SP), National Institute of Standards and Technology, Gaithersburg, MD, USA. https://doi.org/10.6028/NIST.SP.1500-201.Google Scholar
Gu, T and Dong, R (2005) A novel continuous model to approximate time Petri nets - modelling and analysis. International Journal of Applied Mathematics and Computer Science 15(1), 141150. University of Zielona Góra, Poland. Available at https://www.amcs.uz.zgora.pl/?action=paper&paper=234.Google Scholar
Guan, N (2018) Techniques for Building Timing-Predictable Embedded Systems. Cham, Switzerland: Springer International Publishing Switzerland. https://doi.org/10.1007/978-3-319-27198-9.Google Scholar
Hale, RWS, Cardell-Oliver, RM and Herbert, JMJ (1994) Real-time safety critical systems. In Towards Verified Systems, vol. 2. Amsterdam, The Netherlands: Elsevier, pp. 7190. https://doi.org/10.1016/B978-0-444-89901-9.50013-6.Google Scholar
Hawking, S (2015) The Illustrated Brief History of Time. New York, NY, USA: Bantam Books.Google Scholar
Henzinger, T, Manna, Z and Pnueli, A (1991) Timed transition systems. In Real-Time - Theory in Practice, Proceedings of the REX Workshop, Mook, The Netherlands, June 3-7, 1991. LNCS, vol. 600. Berlin, Germany: Springer-Verlag. https://doi.org/10.1007/BFb0031984.Google Scholar
Hoare, CAR (1985) Communicating Sequential Processes. Englewood Cliffs, USA: Prentice-Hall International. Available at ∼https://www.cs.cmu.edu/∼crary/819-f09/Hoare78.pdf.Google Scholar
Huang, H, Jiao, L, Cheung, TY and Wak, WM (2012) Property-preserving Petri Net Process Algebra in Software Engineering. Singapore, Singapore: World Scientific Publishing.Google Scholar
ISO (2001) International organization for standardization: ISO/IEC 15437:2001(en), information technology — enhancements to LOTOS (E-LOTOS). In Joint Technical Committee ISO/IEC JTC 1, Information Technology, Subcommittee SC 7, Software Engineering, Geneva, Switzerland. Available at https://www.iso.org/obp/ui/en/#iso:std:iso-iec:15437:ed-1:v1:en.Google Scholar
Jarabo, JIR, Gómez-Martínez, E, Kallwies, H, Haustein, M, Leucker, M, Stolz, V and Stünkel, P (2024) Runtime verification of timed petri nets. In PNSE’24, International Workshop on Petri Nets and Software Engineering, Geneva, Switzerland, 2024. Available at https://ceur-ws.org/Vol-3730/paper07.pdf.Google Scholar
Khomenko, V, Koutny, M and Yakovlev, A (2022) Slimming down petri boxes - compact petri net models of control flows. In 33rd International Conference on Concurrency Theory (CONCUR 2022). Leibniz International Proceedings in Informatics (LIPIcs), vol. 243. Schloss Dagstuhl – Leibniz-Zentrum für Informatik, pp. 8:18:16. https://doi.org/10.4230/LIPIcs.CONCUR.2022.8.Google Scholar
Khononov, V (2025) Balancing Coupling in Software Design - Universal Design Principles for Architecting Modular Software Systems. Hoboken, NJ, USA: Addison-Wesley.Google Scholar
Klemm, M and Cownie, J (2021) High-Performance Parallel Runtimes - Design and Implementation. Berlin, Germany: Walter de Gruyter Gmbh.Google Scholar
Kopetz, H (1998) The time-triggered model of computation. In RTSS’98: Proceedings of the IEEE Real-Time Systems Symposium. IEEE Computer Society, New York, NY, USA, pp. 168177. https://dl.acm.org/doi/10.5555/827270.829023.Google Scholar
Kopetz, H (2017) The Time-Triggered Model of Computation. Berkeley, USA: The Ptolemy Project, University of Berkeley. Available at https://ptolemy.berkeley.edu/projects/embedded/research/hsc/class.F03/ee249/publications/TTmodelofComp.pdf.Google Scholar
Kopetz, H, Ademaj, A, Grillinger, P and Steinhammer, K (2005) The Time-Triggered Ethernet (TTE) design. In Proceedings of the Eighth IEEE International Symposium on Object-Oriented Real-Time Distributed Computing (ISORC’05), Seattle, WA, USA. Available at http://www.ann.ece.ufl.edu/courses/eel6686_15spr/papers/TTE_Design.pdf.Google Scholar
Kopetz, H and Bauer, G (2003) The time-triggered architecture. Proceedings of the IEEE 91(1). doi: 10.1109/JPROC.2002.805821. Available at https://citeseerx.ist.psu.edu/document?repid=rep1&type=pdf&doi=5e461d6b54890ae3bce70334393560aa9235a769.Google Scholar
Kopetz, H and Steiner, W (2022) Real-Time Systems - Design Principles for Distributed Embedded Applications, 3rd edition. Cham, Switzerland: Springer Nature Switzerland. https://doi.org/10.1007/978-3-031-11992-7.Google Scholar
Kröger, F and Merz, S (2008) Temporal Logic and State Systems. Berlin, Germany: Springer-Verlag.Google Scholar
Lee, EA and Woodcock, J (2023) Time-sensitive software. Research Directions, Cyber-Physical Systems 1. Cambridge University Press, Cambridge, UK. https://doi.org/10.1017/cbp.2023.1.Google Scholar
Liu, G (2022) Petri Nets - Theoretical Models and Analysis Methods for Concurrent Systems. Singapore: Springer Nature Singapore. https://doi.org/10.1007/978-981-19-6309-4.Google Scholar
Lokuciejewski, P and Marwedel, P (2011) Worst-Case Execution Time Aware Compilation Techniques for Real-Time Systems. Dordrecht, The Nederlands: Springer Science & Business Media B.V. https://doi.org/10.1007/978-90-481-9929-7.Google Scholar
Maier, R, Bauer, G, Stoger, G and Poledna, S (2002) Time-triggered architecture -A consistent computing platform. IEEE Micro 22(4), 3645. doi: 10.1109/MM.2002.1028474.Google Scholar
Martin, RC (2017) Clean Architecture - A Craftsman’s Guide to Software Structure and Design. Boston, USA: Addison-Wesley.Google Scholar
Maruf, AA, Niu, L, Clark, A, Mertoguno, JS and Poovendran, R (2022) A Timing-Based Framework for Designing Resilient Cyber-Physical Systems under Safety Constraints. https://arxiv.org/abs/2208.14282.Google Scholar
Milner, R (1980) A Calculus of Communicating Systems. LNCS, vol. 92. Berlin, Germany: Springer Verlag. Available at https://www.lfcs.inf.ed.ac.uk/reports/86/ECS-LFCS-86-7/ECS-LFCS-86-7.pdf.Google Scholar
Moreno, RP and Salcedo, JLV (2006) Implementation of time Petri nets in real-time Java. In JTRES’06, Proceedings of the 4th International Workshop on Java Technologies for Real-Time and Embedded Systems, pp. 178187. https://doi.org/10.1145/1167999.1168029.Google Scholar
Muller, RA (2016) Now - The Physics of Time. New York, NY, USA: W. W. Norton & Company.Google Scholar
Murer, S, Bonati, B and Furrer, FJ (2014) Managed Evolution - A Strategy for Very Large Information Systems. Berlin, Germany: Springer Verlag. https://doi.org/10.1007/978-3-642-01633-2.Google Scholar
Nakagawa, EY and Antonino, . (eds) (2024) Reference Architectures for Critical Domains - Industrial Uses and Impacts. Cham, Switzerland: Springer Nature. https://doi.org/10.1007/978-3-031-16957-1.Google Scholar
Nicollin, X and Sifakis, J (1991) An overview and synthesis on timed process algebras. Presented at CAV’91, Alborg Denmark, July 1991. Available at https://www-verimag.imag.fr/PEOPLE/Joseph.Sifakis/overviewtimedprocalg-cav91.pdf.Google Scholar
NIST (2017) Framework for Cyber-Physical Systems - Volume 3: Timing Annex. NIST Special Publication 1500-203. National Institute of Standards and Technology, Gaithersburg, MD, USA. https://doi.org/10.6028/NIST.SP.1500-203.Google Scholar
Núñez-Alvarez, JR, Benítez-Pina, I, Acosta-Montoya, G, Pino-Escalona, A and Villafuela-Loperena, L (2023) Design of an integrated automation & control system using petri nets - case study. Journal of Applied Research and Technology 21(2), 169180. https://doi.org/10.22201/icat.24486736e.2023.21.2.1562.Google Scholar
Obermaisser, R (ed.) (2012) Time-Triggered Communication. Boca Raton, FL, USA: CRC Press.Google Scholar
Öztemür, S (2015) Exceptions and Exception Handling in Business Process Management Systems - Analysis and Classification. Ulm University, Ulm, Germany. Faculty of Engineering and Computer Science. Institute of Database and Information Systems. Available at https://dbis.eprints.uni-ulm.de/id/eprint/1311/1/NA_Oez_2015.pdf.Google Scholar
Pasandideh, S, Gomes, L and Maló, P (2022) Modelling Cyber-Physical Social Systems Using Dynamic Time Petri Nets. Faculty of Science and Technology, NOVA University of Lisbon, Centre of Technology and Systems - CTS, UNINOVA, Campus da Caparica, 2829-516 Monte Caparica, Portugal. Available at https://research.unl.pt/ws/portalfiles/portal/12931496/Modelling_Cyber_Physical_Social_Systems_Using_Dynamic_Time.pdf.Google Scholar
Penczek, W and Pólrola, A (2006) Advances in Verification of Time Petri Nets and Timed Automata - A Temporal Logic Approach. Berlin, Germany: Springer Verlag.Google Scholar
Philippou, A and Sokolsky, O (2007) Process-Algebraic Analysis of Timing and Schedulability Properties. Technical Paper. Available at ∼https://www.cs.ucy.ac.cy/∼annap/papers/rtpa.pdf.Google Scholar
Platzer, A (2018) Logical Foundations of Cyber-Physical Systems. Cham, Switzerland: Springer International Publishing. https://doi.org/10.1007/978-3-319-63588-0.Google Scholar
Popova-Zeugmann, L (2016) Time and Petri Nets. Heidelberg, Germany: Springer Verlag. https://doi.org/10.1007/978-3-642-41115-1.Google Scholar
Power, SE (2021) Philosophy of Time - A Contemporary Introduction. New York, NY, USA: Routledge Publishing.Google Scholar
Rajeev, AC, Mohalik, S and Ramesh, S (2012) Verifying timing synchronization constraints in distributed embedded architectures. In 2012 Design, Automation & Test in Europe Conference and Exhibition (DATE), Dresden, Germany, 12-16 March 2012, pp. 200205. Available at https://ieeexplore.ieee.org/document/6176463.Google Scholar
Richards, M and Ford, N (2025) Fundamentals of Software Architecture - An Engineering Approach. Boston, USA: O’Reilly Media.Google Scholar
Rodriguez, RJ, Julvez, J and Merseguer, J (2013) On the performance estimation and resource optimisation in process petri nets. IEEE Transactions on Systems, Man, and Cybernetics: Systems. New York, USA 43(6), 13851398. https://doi.org/10.1109/TSMC.2013.2245118. Available at https://zaguan.unizar.es/record/57494/files/texto_completo.pdf.Google Scholar
Rohr, M (2015) Workload-sensitive Timing Behavior Analysis for Fault Localization in Software Systems. PhD Thesis, Kiel University, Kiel, Germany. Printed by Books on Demand, Norderstedt, Germany.Google Scholar
Rushby, J (2002) An overview of formal verification for the time-triggered architecture. Invited paper, presented at FTRTFT’02, Oldenburg, Germany, September 2002. LNCS, vol. 2469. Heidelberg, Germany: Springer-Verlag, pp. 83105. Available at https://depend.cs.uni-saarland.de/fileadmin/user_upload/depend/dnjansen/rushbyOverview.pdf.Google Scholar
Rushby, J (2005) An Overview of The Time-Triggered Architecture (TTA) and its Formal Verification. Computer Science Laboratory, SRI International, Menlo Park, California, USA. Available at https://www.csl.sri.com/users/rushby/slides/kestrel05.pdf.Google Scholar
Shaw, R and Jackman, B (2008) An Introduction to FlexRay as an Industrial Network. New York, USA: IEEE.Available at https://www.researchgate.net/publication/224349830_An_introduction_to_FlexRay_as_an_industrial_network.Google Scholar
Shi, W, He, Z, Gu, C, Ran, N and Ma, Z (2023) Performance optimization for a class of petri nets. Sensors, Basel, Switzerland 23(3), 1447. https://doi.org/10.3390/s23031447.Google Scholar
Shrivastava, A, Derler, P, Baboud, YSL, Stanton, K, Khayatian, M, Andrade, HA, Weiss, M, Eidson, J and Chandhoke, S (2016) Time in cyber-physical systems. In CODES ’16: Proceedings of the Eleventh IEEE/ACM/IFIP International Conference on Hardware/Software Codesign and System Synthesis, Article No. 4, Pittsburgh, PA, USA, pp. 110. https://doi.org/10.1145/2968456.2974012.Google Scholar
Sony, M (2020) Design of cyber-physical system architecture for industry 4.0 through Lean Six Sigma - conceptual foundations and research issues. Production and Manufacturing Research 8(1), 158181. https://doi.org/10.1080/21693277.2020.1774814.Google Scholar
Struthers, R (2024) Hands of Time - A Watchmaker’s History of Time. New York, NY, USA: Harper-Collins Publishers.Google Scholar
Thiele, L, Chakraborty, S and Naedele, M (2000) Real-time calculus for scheduling hard real-time systems. In 2000 IEEE International Symposium on Circuits and Systems (ISCAS), Geneva, Switzerland, vol. 4, pp. 101104. https://doi.org/10.1109/ISCAS.2000.858698.Google Scholar
Thramboulidis, K. (2010) IEC 61499 function block model - facts and fallacies. IEEE Industrial Electronics Magazine, New York, NY, USA 3(4), 726. https://doi.org/10.1109/MIE.2009.934788.Google Scholar
Ungureanu, G and Sander, I (2017) A layered formal framework for modeling of cyber-physical systems. In Design, Automation and Test in Europe Conference and Exhibition (DATE), Lausanne, Switzerland, pp. 17151720. https://doi.org/10.23919/DATE.2017.7927270.Google Scholar
Wang, J (1998) Timed Petri Nets - Theory and Application. New York, NY, USA: Springer Science+Business Media. https://doi.org/10.1007/978-1-4615-5537-7.Google Scholar
Wang, Y (2002) The Real-Time Process Algebra (RTPA). Annals of Software Engineering 14, 235274. Kluwer Academic Publishers, Amsterdam, The Netherlands.Google Scholar
Willemse, TAC (2003) Semantics and Verification in Process Algebras with Data and Timing. IPA Dissertation Series 2003-05. Printed by University Press Facilities, Eindhoven, Netherlands. Available at https://timw.win.tue.nl/articles/thesis.pdf.Google Scholar
Wolf, F (2002) Behavioral Intervals in Embedded Software - Timing and Power Analysis of Embedded Real-Time Software Processes. Boston, USA: Kluwer Academic Publishers.Google Scholar
Yoong, LH, Roop, PS and Salcic, Z (2013) Implementing constrained cyber-physical systems with IEC 61499. ACM Transactions on Embedded Computing Systems (TECS) 11(4), Article No. 78, 122. https://doi.org/10.1145/2362336.2362345.Google Scholar
Yoong, LH, Roop, PS, Bhatti, ZE and Kuo, MMK (2016) Model-Driven Design Using IEC 61499 - A Synchronous Approach for Embedded and Automation Systems. Cham, Switzerland: Springer International Publishing. https://doi.org/10.1007/978-3-319-10521-5.Google Scholar
Figure 0

Figure 1. Context for time-sensitive software.

Figure 1

Figure 2. Layered architecture proposal.

Figure 2

Figure 3. Concurrency and latency in a computing system.

Figure 3

Figure 4. Transition systems.

Figure 4

Figure 5. Timed Petri modules and inter-modular connectors.

Figure 5

Figure 6. Software architecture.

Figure 6

Figure 7. Elements of the Transformation Layer A.

Figure 7

Figure 8. Elements of the Transformation Layer B.

Figure 8

Figure 9. Transformation layers and runtime system.

Figure 9

Figure 10. Time-triggered architecture.

Figure 10

Figure 11. RTC key concept – Greedy Processing Component (GPC).

Author Comment: A proposed conceptual architecture for time-sensitive software-systems — R0/PR1

Comments

No accompanying comment.

Review: A proposed conceptual architecture for time-sensitive software-systems — R0/PR2

Comments

This impact paper proposes a six-stage design process to address the problem of ensuring that cyber-physical system software can simultaneously guarantee timing properties and functional properties. The proposal begins with a system described with timing-aware process algebra and converts it to timed Petri modules. For deployment, the Petri modules are deployed to a physical system using a time-triggered protocol (TTP) to guarantee timing properties. The proposal relegates the development of the transforms from process algebra to timed Petri modules and from Petri modules to deployable tasks to future research.

Strengths:

1. The proposal is sound, i.e., if such transform layers can be designed and if all design assumptions hold true, it will always produce a system that satisfies all timing requirements.

2. The novelty appears to be the linking of these existing technologies (process algebra, timed Petri modules, and TTP) into a cohesive design process.

3. This impact paper provides an answer to the research question raised by (Lee and Woodcock, 2023).

Weaknesses:

1. The answer to the question is vague. While a high-level description of the layers is provided, no intuition about the layers to be designed (transformations A and B) is provided, nor is there a specific example of a system or experiment plan to test the proposed design flow. We contrast this with the impact paper (Larsen et al., 2024) previously published in Research Directions: Cyber-Physical Systems, where details of the proposed methodology are well articulated.

2. The references are mostly textbooks and the latest research in this area is ignored. This is particularly the case with respect to transformation layer A (see detailed comments).

3. The presentation, while concise, could be enriched with additional context and explanation (see detailed comments).

Detailed Comments:

1. The references in this work consist of 34 books/chapters, 10 conference papers, 10 journal papers, 5 theses, 5 lecture notes and 3 tech reports/standards. Of the 10 conference papers, only 1 was published after 2010 (Bazzal et. al., 2020). Note that the bibliography entry for the work (Koepetz, 2017) is incorrect: this paper was originally published in RTSS’98. Of the 10 journal papers, 4 were published after 2010 including the research question paper (Lee and Woodcock, 2023), which this impact paper is responding to. Given this distribution of reference types and dates, it is difficult to conclude that the latest research has been considered in this answer to the question posed by Lee and Woodcock.

2. This paper claims that there is previous work on transformation A, but that more research is needed, particularly around timing. A quick search turns up a recent paper focused on transforming process algebra to Petri nets while preserving temporal properties (Khomenko et al., 2022). Why does this work not solve the problem? What attempts have been made and what are the capabilities of the strategies published so far? An answer to these questions would be appropriate in the “Transformation Layer A” section.

3. Insufficient details are provided about transformation B. For example, is there a constraint using which modules are mapped to resources? Whether the tasks created by transformation B are schedulable or not depends on the scheduler and the hardware system to which they are mapped. How should transformation B handle cases where there is no feasible solution?

4. Overall, it appears that any solution that comes from this framework will satisfy timing requirements, but it is not clear that this framework has the capability to generate the most efficient solution in terms of resources. What are some examples of systems where this framework should be used, and is adding more resources until timing constraints can be satisfied always feasible? If this architecture is unable to find a solution that satisfies timing requirements, does it mean that none exists?

5. The first three bullet points in the “Open Questions and Future Work” seem overly ambitious. How can an industry standard be codified before any experiments have been performed?

6. Presentation issues:

- The introduction consists of a single list which enumerates the components of a distributed cyber-physical system. Providing some context, e.g., a real-world example of such a system, a functional process decomposed into components across different resources, an example of an orchestration scheme, etc., may help with comprehension. The introduction does not provide a clear understanding of the question to be answered, nor the proposed answer. Given the 8 informal definitions of time in cyber-physical systems in the “Time in Computing” section, it is also unclear which of these is being addressed in the following sections.

- In Fig. 3, it is unclear what the big blue arrow labeled concurrency management is meant to represent. Also, the meaning of $\tau_{u->z}$ is unclear.

- In the timed Petri modules section the term “quality properties” is introduced but never defined. How does this differ from functional properties?

- Time-triggered communication (TTC), TTP, and time-triggered architecture (TTA) seem to be used interchangeably. E.g., in Fig. 6, TTC is the final layer in the architecture, but in the section “Time-Triggered Protocol (TTP) - Time-Triggered Architecture (TTA),” TTC is considered as part of a time-triggered architecture. In the same section, the list in the first paragraph purports to discuss the concepts of TTA and then refers to TTP in each of the list items.

- In the section on time-triggered protocols, it is unclear why two TTPs are sufficient to guarantee timing requirements in all cases.

- Many of the DOI links in the references section appear to be incorrect. This mostly affects the Springer publications for which DOIs were provided.

- In general there is a lack of context for each section. Providing some additional text that links the concepts in sections to each other and to the main topic of the paper would improve the readability.

References:

Lee EA and Woodcock J (2023). Time-Sensitive Software. Research Directions: Cyber-Physical Systems. 1, e1, 1–3. https://doi.org/10.1017/cbp.2023.1

Larsen PG, Ali S, Behrens R, Cavalcanti A, Gomes C, Li G, De Meulenaere P, Olsen

ML, Passalis N, Peyrucain T, Tapia J, Tefas A, and Zhang H (2024). Robotic safe adaptation in unprecedented situations: the RoboSAPIENS project. Research Directions: Cyber-Physical Systems. 2, e4, 1–6. https://doi.org/10.1017/cbp.2024.4

Khomenko V, Koutny M, and Yakovlev, A (2022). Slimming down Petri Boxes: Compact Petri Net Models of Control Flows. In: 33rd International Conference on Concurrency Theory (CONCUR 2022). Leibniz International Proceedings in Informatics (LIPIcs), vol 243. pp 8:1-8:16. https://doi.org/10.4230/LIPIcs.CONCUR.2022.8

Review: A proposed conceptual architecture for time-sensitive software-systems — R0/PR3

Comments

This article proposes a conceptual architecture for CPS, especially focusing on timing. The proposed architecture starts with the system timing requirements as the input. Then a layered architecture, similar to TCP/IP, is developed for CPS, especially related to timing safety. The layers consists of (1) system specification using timed process algebras, (2) a system architecture, (3) software architecture using timed petri nets and (4) execution architecture using time triggered protocols.

Points in favour:

1) The problem being addressed is a key one and fits the research question well.

2) The paper is easy to understand the concept presented is suitable for a sub-class of CPS (see my critique below as to why this is the case).

3) A set of key references are included but several key ones are lacking.

Points against:

1) There are existing architectures, which are also standardised. Why they are not cited and compared. Firstly, the automotive domain, a prime example for the type of systems this paper deals with, uses ISO26262. Also, the components are described using the Autosar standard. Timing is formalised through timing synchronisation constraints and verified using model checking of Calendar / timed automata (EMSOFT 2010, DATE 2012, S. Ramesh from GM and other authors). This is already a layered architecture that uses Flexray and CAN underneath.

2) Another architecture of interest is the industrial automation standard IEC 61499. This also develops a layer architecture starting with devices, which represent a network of PLCs, resources, which represent real-time tasks, and then composite function-blocks, which are used to define the functionality of individual tasks, service interface function blocks to specify network / device drivers and basic function blocks, which model execution control charts as state machines with algorithms.

There is also a body of work on real-time implementations, especially using the synchronous approach from my group (Yoong et al. 2009, IEEE TC and ACM TECS 2019). The following link from Scholar may help: https://scholar.google.com/scholar?hl=en&as_sdt=0%2C5&q=roop+IEC61499+&btnG=

3) I have some doubts regarding the practicability of the proposed architecture. This is due to the following t5wo major concerns. First, I am concerned about the expressiveness of the models. How do these4 models capture hybrid, dynamical systems? There is a body of work, starting with Edward Lee's pioneering work on CPS and Ptolemy tools, with multiple models of computation, which capture models with different expressiveness. While this paper mainly focuses on transition systems, which I agree are highly used, we also need to consider the modelling of the closed-loop CPS. How is this to be tackled? Moreover, CPS need to consider data-flow. The KPN model and its variants such as SDF and a body of work on synchronous models a la Lustre are also industry standards such as Esterel/ Scade.

4) A gap / hypothesis is needed before the position of the author is outlined. This is missing.

5) A running example is needed, which could enhance the presentation, which is somewhat dry now.

6) There is a need for sketching the roadmap of how this architecture can be made practical and who will be the main adopters of this method.

Other minor comments:

1) In the concurrency part, I suggest citing and discussing the paper on problems with threads by Edward Lee.

2) Also, while listing the points about time in CS, I suggest including time as a modality, like in temporal logics and clocks as a formal model of timers in timed automata.

3) When discussing fundamental concepts such as process algebras, I suggest starting with an introduction and citation to CCS / CSP (which are cited but not highlighted).

4) For run-time verification of timed systems, I suggest S. Pinisetty's work on RV / RE using timed automata. Also, he has worked with me on RE of CPS (EMSOFT 2017).

Presentation

Overall score 2 out of 5
Is the article written in clear and proper English? (30%)
4 out of 5
Is the data presented in the most useful manner? (40%)
3 out of 5
Does the paper cite relevant and related articles appropriately? (30%)
1 out of 5

Context

Overall score 2 out of 5
Does the title suitably represent the article? (25%)
3 out of 5
Does the abstract correctly embody the content of the article? (25%)
2 out of 5
Does the introduction give appropriate context and indicate the relevance of the results to the question or hypothesis under consideration? (25%)
3 out of 5
Is the objective of the experiment clearly defined? (25%)
1 out of 5

Results/Methods

Overall score 3 out of 5
Is sufficient detail provided to allow replication of the study? (50%)
3 out of 5
Are the limitations of the experiment as well as the contributions of the results clearly outlined? (50%)
3 out of 5

Recommendation: A proposed conceptual architecture for time-sensitive software-systems — R0/PR4

Comments

No accompanying comment.

Author Comment: A proposed conceptual architecture for time-sensitive software-systems — R1/PR5

Comments

No accompanying comment.

Decision: A proposed conceptual architecture for time-sensitive software-systems — R1/PR6

Comments

No accompanying comment.