Abstract
Many safety-critical real-time applications are implemented using distributed architectures, composed of heterogeneous processing elements interconnected in a network. Our focus in this paper is on the TTEthernet protocol, a deterministic, synchronized and congestion-free network protocol based on the Ethernet standard and compliant with the ARINC 664 Specification Part 7. TTEthernet is highly suitable for safety-critical real-time applications since it offers separation for messages using the concept of virtual links and supports three time-criticality classes: Time-Triggered (TT), Rate-Constrained (RC) and Best-Effort. In this paper we are interested in the design optimization of TTEthernet networks used to transmit real-time application messages. Given the set of TT and RC messages, and the topology of the network, our approach optimizes the packing of messages in frames, the assignment of frames to virtual links, the routing of virtual links and the TT static schedules, such that all frames are schedulable and the worst-case end-to-end delay of the RC messages is minimized. We propose a Tabu Search-based metaheuristic for this optimization problem. The proposed algorithm has been evaluated using several benchmarks.
Similar content being viewed by others
Abbreviations
- ASAP:
-
As-soon-as-possible (ASAP)
- AVB:
-
Audio video bridging
- BAG:
-
Bandwidth allocation gap
- BE:
-
Best-effort
- CAN:
-
Controller area network
- DOTTS:
-
Design optimization of TTEthernet-based systems
- ES:
-
End system
- ET:
-
Event-triggered
- FIFO:
-
First in first out
- FU:
-
Filtering unit
- NS:
-
Network switch
- PE:
-
Processing element
- PFO:
-
Packing and fragmenting optimization
- RC:
-
Rate-constrained
- RO:
-
Routing optimization
- SIL:
-
Safety-integrity level
- SMT:
-
Satisfiability modulo theory
- SO:
-
Scheduling optimization
- SS:
-
Straightforward solution
- TDMA:
-
Time-division multiple access
- TP:
-
Traffic policing task
- TR:
-
Traffic regulator task
- TS:
-
Tabu search
- TT:
-
Time-triggered
- TTP:
-
Time-triggered protocol
- VL:
-
Virtual link
- WCD:
-
Worst-case end-to-end delay
- \(\mathcal G(\mathcal V, \mathcal E)\) :
-
TTEthernet cluster
- \(\mathcal V = \mathcal {ES} \cup \mathcal NS\) :
-
Set of all the end systems and network switches in the cluster
- \(\mathcal {ES}\) :
-
Set of all the end systems
- \(ES^{src}_i\) :
-
The source end system for frame \(f_i\)
- \(\mathcal {ES}^{dest}_i\) :
-
The set of destination end systems for frame \(f_i\)
- \(\mathcal {NS}\) :
-
Set of all the network switches
- \(ES_i\) :
-
An end system
- \(NS_i\) :
-
A network switch
- \(\mathcal E\) :
-
Set of physical links
- \(\mathcal L\) :
-
Set of dataflow links in the cluster
- \(l_i\) :
-
A dataflow link
- \(\mathcal {DP}\) :
-
Set of dataflow paths in the cluster
- \(dp_i\) :
-
A dataflow path
- \(\mathcal {VL}\) :
-
Set of virtual links in the cluster
- \(vl_i\) :
-
A virtual link
- \(BAG(vl_i)\) :
-
The BAG of \(vl_i\)
- \(\mathcal B\) :
-
The set of BAG for all VLs
- \(\mathcal B^{\circ }\) :
-
The initial set of BAG for all VLs
- \(\mathcal R_{VL}(vl_i)\) :
-
The routing of virtual link \(vl_i\)
- \({\mathcal {M}} = {\mathcal {M}}^{TT} \cup {\mathcal {M}}^{RC} \cup {\mathcal {M}}^{BE}\) :
-
Set of all the messages in the cluster
- \(\mathcal M^{TT}\) :
-
Set of the TT messages
- \(\mathcal M^{RC}\) :
-
Set of the RC messages
- \(\mathcal M^{BE}\) :
-
Set of the BE messages
- \(m_i\) :
-
A message
- \(m_i.rate\) :
-
The rate of message \(m_i\)
- \(m_i.period\) :
-
The period of message \(m_i\)
- \(m_i.deadline\) :
-
The deadline of message \(m_i\)
- \(m_i.size\) :
-
The size of message \(m_i\)
- \(\Phi _m(m_i)\) :
-
Fragmenting of message \(m_i\) into message fragments
- \(\Phi _m^{\circ }\) :
-
The initial fragmenting of messages into message fragments
- \(\mathcal M^+\) :
-
The set of message fragments, and messages that were not fragmented
- \(\mathcal P\) :
-
The packing of messages
- \(\mathcal P^{\circ }\) :
-
The initial packing of messages
- \(\mathcal A_i\) :
-
An application
- \(\tau _j\) :
-
A task
- \(\mathcal F\) :
-
Set of all the frames in the cluster
- \(f_i\) :
-
A frame
- \(f_i.deadline\) :
-
Deadline for \(f_i\)
- \(f_i.offset\) :
-
Offset, i.e., send time relative to the start of the period of frame \(f_i\)
- \(f_{i,x}\) :
-
\(x^{th}\) instance of frame \(f_i\)
- \(f_{i,x}.jitter\) :
-
Jitter for \(f_{i,x}\)
- \(f_{i,x}^{l_j}\) :
-
The \(x^{th}\) instance of \(f_i\) on dataflow link \(l_j\)
- \(pred(f_{i,x}^{l_j})\) :
-
The set of predecessor frame instances of \(f_{i,x}\) on \(l_j\)
- \(succ(f_{i,x}^{l_j})\) :
-
The set of successor frame instances of \(f_{i,x}\) on \(l_j\)
- \(R_{f_i}\) :
-
Worst-case delay of \(f_i\)
- \(\mathcal M_F(f_i)\) :
-
The assignment of frame to VLs
- \(C_j^{[\nu _m, \nu _n]}\) :
-
Transmission duration of \(f_j\) on dataflow link \([\nu _m, \nu _n]\)
- \(B_{1, Tx}\) :
-
A transmission buffer
- \(Q_{1, Tx}\) :
-
A transmission queue in an ES
- \(Q_{Tx}\) :
-
An outgoing queue in a NS
- \(TT_R\) :
-
Receiver task
- \(\mathcal S\) :
-
Complete set of local schedules
- \(\mathcal S^{\circ }\) :
-
Initial set of local schedules
- \(\mathcal S_R\) :
-
Receive schedule
- \(\mathcal S_S\) :
-
Send schedule
- \(T_{cycle}\) :
-
System cycle
- \(BW(vl_i)\) :
-
The maximum bandwidth required by \(vl_i\)
- \(\delta _{TT}\) :
-
Degree of schedulability for the TT frames
- \(\delta _{RC}\) :
-
Degree of schedulability for the RC frames
- \(w_{TT}\) :
-
Weight for the TT frames, used to compute the cost function
- \(w_{RC}\) :
-
Weight for the RC frames, used to compute the cost function
- Best :
-
The best-so-far solution in the Tabu Search algorithm
- Current :
-
The current solution in the Tabu Search algorithm
- Next :
-
The solution selected as the next solution in the Tabu Search algorithm
- \(\mathcal C\) :
-
Candidate list
- L :
-
Tabu list
- maxLSize :
-
Tabu tenure
- tabu(Next):
-
The tabu of the move that generated the Next solution
- \(hr_{TT}^{l_x}\) :
-
The TT frame with the highest rate on dataflow link \(l_x\)
- \(lg_{TT}^{l_x}\) :
-
The largest TT frame on dataflow link \(l_x\)
- \(BW_{Avail}(l_j)\) :
-
The available bandwidth on dataflow link \(l_j\)
- \(BW_{Req}(l_j)\) :
-
The required bandwidth on dataflow link \(l_j\)
- \(BW_{\%}^{BW}\) :
-
The percentage of BE messages that have their bandwidth requirements met
References
Al Sheikh A, Brun O, Chéramy M, Hladik PE (2013) Optimal design of virtual links in AFDX networks. Real-Time Syst J 49(3):308–336
Almeida L, Pedreiras P, Fonseca J (2002a) The FTT-CAN protocol: why and how. IEEE Trans Ind Electron 49(6):1189–1201
Almeida L, Tovar E, Fonseca JAG, Vasques F (2002b) Schedulability analysis of real-time traffic in WorldFIP networks: an integrated approach. IEEE Trans Ind Electron 49(5):1165–1174
ARINC (2009) ARINC 664P7: Aircraft data network, Part 7. Avionics full-duplex switched ethernet network, ARINC (Aeronautical Radio, Inc)
Ayed H, Mifdaoui A, Fraboul C (2012) Frame packing strategy within gateways for multi-cluster avionics embedded networks. In: Proceedings of emerging technologies factory automation, pp 1–8.
Azim A, Carvajal G, Pellizzoni R, Fischmeister S (2014) Generation of communication schedules for multi-mode distributed real-time applications. In: design, automation and test in Europe conference and exhibition, pp 1–6.
Baransel C, Dobosiewicz W, Gburzynski P (1995) Routing in multihop packet switching networks: Gb/s challenge. IEEE Netw 9(3):38–61
Burns A, Davis R (2013) Mixed criticality on controller area network. In: Proceedings of the euromicro conference on real-time systems, pp 125–134.
Cormen TH, Leiserson CE, Rivest RL, Stein C (2009) Introduction to algorithms, 3rd edn. MIT Press, Cambridge
Cummings R, Richter K, Ernst R, Diemer J, Ghosal A (2012) Exploring use of ethernet for in-vehicle control applications: AFDX, TTEthernet, EtherCAT, and AVB. SAE Int J Passenger Cars-Electron Electr Syst 5(1):72–88
Davis R, Burns A, Bril R, Lukkien J (2007) Controller area network (CAN) schedulability analysis: refuted, revisited and revised. Real-Time Syst 35(3):239–272
Davis R, Burns A (2009) Robust priority assignment for messages on controller area network (CAN). Real-Time Syst 41(2):152–180
Decotignie JD (2005) Ethernet-based real-time and industrial communications. Proc IEEE 93(6):1102–1117
Dobrin R, Fohler G (2001) Implementing off-line message scheduling on controller area network (CAN). In: Proceedings of the international conference on emerging technologies and factory automation, vol.1, pp 241–245
ETG (2013) ETG.1000.1 EtherCAT Specification. EtherCAT Technology Group.
Fletcher M (2009) Progression of an open architecture: from Orion to Altair and LSS. White paper S65–5000-20-0, Honeywell International, Glendale
Garey MR, Johnson DS (1979) Computers and intractability: a guide to the theory of NP-completeness. W. H. Freeman & co., New York
Gendreau M (2002) An Introduction to Tabu search. Centre for Research on Transportation (C.R.T.)
Glover F, Laguna M (1997) Tabu search. Kluwer Academic Publishers, Norwell, MA
Grammatikakis MD, Hsu D, Kraetzl M, Sibeyn JF (1998) Packet routing in fixed-connection networks: a survey. J Parallel Distrib Comput 54(2):77–132
Hanzalek Z, Burget P, Sucha P (2010) Profinet IO IRT message scheduling with temporal constraints. IEEE Trans Ind Inform 6(3):369–380. doi:10.1109/TII.2010.2052819
Herpel T, Kloiber B, German R, Fey S (2009) Routing of safety-relevant messages in automotive ECU networks. In: Proceedings of the vehicular technology conference, pp 1–5.
IEEE (2009) IEEE 802.1Qav—IEEE Standard for local and metropolitan area networks—virtual bridged local area networks amendment 12: forwarding and queueing enhancements for time-sensitive streams. The Institute of Electrical and Electronics Engineers Inc.
IEEE (2010) IEEE 802.1Qat—IEEE standard for local and metropolitan area networks—virtual bridged local area networks amendment 14: stream reservation protocol. The Institute of Electrical and Electronics Engineers Inc.
IEEE (2011a) IEEE 802.1AS—IEEE standard for local and metropolitan area networks—timing and synchronization for time-sensitive applications in bridged local area networks. The Institute of Electrical and Electronics Engineers Inc.
IEEE (2011b) IEEE 802.1BA—IEEE standard for local and metropolitan area networks—audio video bridging (AVB) systems. The Institute of Electrical and Electronics Engineers Inc.
IEEE (2012) IEEE 802.3—IEEE standard for ethernet. The Institute of Electrical and Electronics Engineers Inc.
ISO (2003) ISO 11898: Road vehicles—controller area network (CAN). International Organization for Standardization (ISO), Geneva
ISO (2010) ISO 10681: Road vehicles—communication on FlexRay. International Organization for Standardization (ISO), Geneva
Kopetz H (2011) Real-time systems: design principles for distributed embedded applications. Springer, Berlin
Lee YH, Rachlin E, Scandura PA (2005) Safety and Certification Approaches for Ethernet-Based Aviation Databuses. Tech. Rep. DOT/FAA/AR-05/52, Federal Aviation Administration.
Marau R, Almeida L, Pedreiras P, Lakshmanan K, Rajkumar R (2010) Utilization-based schedulability analysis for switched ethernet aiming dynamic QoS management. In: Proceedings of the conference on emerging technologies and factory automation, pp 1–10.
Mohammad U, Al-holou N (2010) Development of an automotive communication benchmark. Canadian J Electr Electron Eng 1(5):99–115
Nam M-Y, Lee J, Park K-J, Sha L, Kang K (2014) Guaranteeing the end-to-end latency of an IMA system with an increasing workload. IEEE Trans Comput 63(6):1460–1473
Obermaisser R (2011) Time-triggered communication. CRC Press, Boca Raton
Paulitsch M, Schmidt E, Gstöttenbauer B, Scherrer C, Kantz H (2011) Time-triggered communication (industrial applications). In: Time-triggered communication. CRC Press, Boca Raton, pp 121–152
Pedreiras P, Gai P, Almeida L, Buttazzo G (2005) FTT-Ethernet: a flexible real-time communication protocol that supports dynamic QoS management on ethernet-based systems. IEEE Trans Ind Inform 1(3):162–172
Pedreiras P, Almeida L (2004) Message routing in multi-segment FTT networks: the isochronous approach. In: Proceedings of the parallel and distributed processing symposium, pp 122–129.
Pop P, Eles P, Peng Z (2005) Schedulability-driven frame packing for multicluster distributed embedded systems. ACM Trans Embed Comput Syst 4(1):112–140
Pop T, Pop P, Eles P, Peng Z, Andrei A (2008) Timing analysis of the FlexRay communication protocol. Real-Time Syst 39(1–3):205–235
Pop P, Eles P, Peng Z (1999) Scheduling with optimized communication for time-triggered embedded systems. In: Proceedings of the international workshop on hardware/software codesign, pp 178–182.
Rushby J (2001) A comparison of bus architectures for safety-critical embedded systems. Tech. rep, Computer Science Laboratory, SRI International
SAE (1993) SAE J2056/1 Class C Application Requirement Considerations. Standard, SAE International
SAE (2011) AS6802: Time-Triggered Ethernet. SAE International.
Saket R, Navet N (2006) Frame packing algorithms for automotive applications. J Embed Comput 2(1):93–102
Sandstrom K, Norstom C, Ahlmark M (2000) Frame packing in real-time communication. In: Proceedings of the conference on real-time computing systems and applications, pp 399–403.
Schneele S, Geyer F (2012) Comparison of IEEE AVB and AFDX. In: Proceedings of the digital avionics systems conference, pp 7A1-1–7A1-9.
Schumacher M, Jasperneite J, Weber K (2008) A new approach for increasing the performance of the industrial ethernet system profinet. In: Peoceedings of the international workshop on factory communication systems, pp 159–167. doi:10.1109/WFCS.2008.4638725
Steinbach T, Lim HT, Korf F, Schmidt TC, Herrscher D, Wolisz A (2012) Tomorrow’s in-car interconnect? a competitive evaluation of IEEE 802.1 AVB and time-triggered ethernet (AS6802). In: Proceedings of the IEEE vehicular technology conference, pp 1–5. IEEE Press
Steiner W (2010) An evaluation of SMT-based schedule synthesis for time-triggered multi-hop networks. In: Proceedings of the real-time systems symposium, pp 375–384.
Steiner W (2011) Synthesis of static communication schedules for mixed-criticality systems. In: Proceedings of the international symposium on object/component/service-oriented real-time distributed computing workshops, pp 11–18.
Steiner W, Bauer G, Hall B, Paulitsch M, Varadarajan S (2009) TTEthernet dataflow concept. In: Proceedings of the international symposium on network computing and applications, pp 319–322.
Suen J, Kegley R, Preston J (2013) Affordable avionic networks with gigabit ethernet assessing the suitability of commercial components for airborne use. In: Proceedings of SoutheastCon, pp 1–6.
Suethanuwong E (2012) Scheduling time-triggered traffic in TTEthernet systems. In: Proceedings of the conference on emerging technologies and factory automation, pp 1–4.
Tămaş-Selicean D (2014) Design of mixed-criticality applications on distributed real-time systems. PhD Thesis, Technical University of Denmark.
Tămaş-Selicean D, Pop P (2011) Design optimization of mixed-criticality real-time applications on cost-constrained partitioned architectures. In: Proceedings of the real-time systems symposium, pp 24–33.
Tămaş-Selicean D, Pop P, Steiner W (2012) Synthesis of communication schedules for TTEthernet-based mixed-criticality systems. In: Proceedings of the international conference on hardware/software codesign and system synthesis, pp 473–482.
Tanasa B, Dutta Bordoloi U, Eles P, Peng Z (2011) Reliability-aware frame packing for the static segment of FlexRay. In: Proceedings of the international conference on embedded software, EMSOFT ’11. ACM, New York, pp 175–184
Wang B, Hou J (2000) Multicast routing and its QoS extension: problems, algorithms, and protocols. IEEE Netw 14(1):22–36
Wisniewski L, Schumacher M, Jasperneite J, Schriegel S (2012) Fast and simple scheduling algorithm for profinet IRT networks. In: Proceedings of the international workshop on factory communication systems, pp 141–144. doi:10.1109/WFCS.2012.6242556
Zafirov AT (2012) Modelling and simulation of the TTEtherent communication protocol. M.Sc. Thesis, Technical University of Denmark, Denmark
Acknowledgments
This work has been funded by the Advanced Research & Technology for Embedded Intelligence and Systems (ARTEMIS) within the project ‘RECOMP’, support code 01IS10001A, agreement No. 100202.
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Tămaş–Selicean, D., Pop, P. & Steiner, W. Design optimization of TTEthernet-based distributed real-time systems. Real-Time Syst 51, 1–35 (2015). https://doi.org/10.1007/s11241-014-9214-8
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11241-014-9214-8