The FlexRay bus is a communication standard used in the automotive industry. It offers a deterministic message transmission in the static segment following a time-triggered schedule. Even if its bandwidth is ten times higher than the bandwidth of controller area network (CAN), its throughput limits are going to be reached in high-class car models soon. A solution that could postpone this problem is to use an efficient scheduling algorithm that exploits both channels of the FlexRay. The significant and often neglected feature that can theoretically double the bandwidth is the possibility to use two independent communication channels that can intercommunicate through the gateway. In this paper, we propose a heuristic algorithm that decomposes the scheduling problem to the electronic control unit (ECU)-to-channel assignment subproblem, which decides which channel the ECUs should be connected to and the channel scheduling subproblem that creates static segment communication schedules for both channels. The algorithm is able to create a schedule for cases where channels are configured in the independent mode, as well as in the fault-tolerant mode or in cases where just part of the signals are fault tolerant. Finally, the algorithm is evaluated on real data and synthesized data, and the relation between the portion of fault-tolerant signals and the number of allocated slots is presented.
Management, allocation and scheduling of heterogeneous resources for complex distributed real-time applications is a challenging problem. Timing constraints of applications may be fulfilled by the proper use of real-time scheduling policies, admission control and enforcement of timing constraints. However, it is not easy to design basic infrastructure services that allow for easy access to the allocation of multiple heterogeneous resources in a distributed environment. In this paper, we present a middleware for providing distributed soft real-time applications with a uniform API for reserving heterogeneous resources with real-time scheduling capabilities in a distributed environment. The architecture relies on standard POSIX OS facilities, such as time management and standard TCP IP networking services, and it is designed around CORBA, in order to facilitate modularity, flexibility and portability of the applications using it. However, real-time scheduling is supported by proper extensions at the kernel-level, plugged within the framework by means of dedicated resource managers. Our current implementation on Linux supports the reservation of the CPU, disk and network bandwidth. However, additional resource managers supporting alternative real-time schedulers for these resources, as well as additional types of resources, may be easily added. We present experimental results gathered on both synthetic applications and a real multimedia video streaming case study, showing the advantages deriving from the use of the proposed middleware. Finally, overhead figures are reported, showing the sustainability of the approach for a wide class of complex, distributed, soft real-time applications. FlexRay is a new industry standard for next-generation communication in automotives. Though there are a few recent researches on performance analysis of FlexRay, two important aspects of the FlexRay design have been overlooked. The first is a holistic integrated scheduling scheme that can handle both static and dynamic segments in a FlexRay network. The second is cost-effective and scalable performance. To address these aspects, we propose a novel holistic scheduling scheme, called HOSA, which can provide scalable performance by using flexible and ease-of-use dual channel communication in FlexRay. HOSA is built upon a novel slot pilfering technique to schedule and optimize the available slots in both static and dynamic segments. Moreover, to achieve efficient implementation, we propose approximate computation, which can efficiently support cost-effective and holistic scheduling by judiciously obtaining the tradeoff between computation complexity and available pilfered slots. HOSA hence offers the salient feature of improving bandwidth utilization. Moreover, to deliver high performance and bridge the gap between real-time communications in networks and storage management in end devices, we implement a deduplication-aware scheme in a real SSD prototype that can reduce space overhead and extend SSD lifespan (by significantly reducing duplicate write operations). The deduplication scheme meets the needs of message updates in FlexRay. Extensive experiments based on synthetic test cases and real-world case studies demonstrate the efficiency and efficacy of HOSA. In the last decade, the FlexRay communication protocol has been promoted as a standard for dependable in-vehicular communications. In the FlexRay protocol, the communication timeline is organized as a sequence of four segments, whereas the Static Segment assigns a set of static slots for the transmission of synchronous messages. In this paper, we address the following problems: "How to efficiently transmit periodic messages in the Static Segment without requiring their periods to be multiples of, or to be synchronized with the FlexRay Communication Cycle?" "Is it possible to guarantee that periodic messages are transferred before their deadlines, without imposing such strict synchronization?" Unlike traditional approaches that use linear-programming based techniques, we evaluate the minimum number of allocated slots using traditional Response Time Analysis (RTA). The use of RTA techniques allows us to consider the timing requirements associated to each of the asynchronous message streams. Unlike other approaches, the RTA-based technique proposed in this paper: (a) is able to deal with message stream sets where periods are not multiple of the FlexRay cycle duration and (b) does not require the strict synchronization between tasks signals at the application layer and slots at the FlexRay communication controller. The proposed slot allocation scheme may be of high practical interest when considering the interconnection of FlexRay CAN in-vehicular communication systems, allowing the remapping of existing CAN message streams to FlexRay.  FlexRay is a communication bus (and associated protocol) that supports transmission of time-triggered and event-triggered frames. A method for determining the worst-case response-time of FlexRay frames is proposed by Pop in 2008, and is formulated as iterative sequence of Integer Linear Programming (ILP) problems. As we show, the method of Pop is conservative (overestimates the response time). We propose a new ILP formulation that computes a precise value of the worst-case response time of FlexRay frames transmitted in the dynamic segment. Furthermore, our approach is non-iterative as it requires the solving of a single ILP for computing, respectively, the delay of full bus cycles and the delay of a partial (last) bus cycle. The proposed solution is also validated by applying it to a SAE benchmark and can be used for formally guaranteeing that no message will miss its deadline during system operation.