AUTOSAR compliant multi-core RTOS(Part-4)
Published: 2024-02-13 17:59:41

Dear readers,
My name is Sadashiv Balawad and I am working as Junior Software Engineer at Luxoft India. Luxoft gave me many opportunities to work on various projects, which inspired me to talk about the importance of multicore Real Time Operating Systems(Part-4)

**Model-based verification methods**
Among the formal methods, model-checking is an automated technique to verify that amodel of a device conforms to a specification expressed as a property. This specification defines the requirements for the expected conduct of the gadget. The verification is achieved through exploring the model’s states with the assist of algorithms and allows to guarantee properties. Achieving the machine abstraction and specification is a critical
step that can require device mastery and information within the methods used. The version have to also be accurate and as near as viable to the machine from a behavioral point of view. Therefore, the belongings verification ought to be the equal for the device and its version.
The device is described via a version that abstracts the machine, most usually using state machines consisting of automata, Petri nets, and technique algebras. The preference of version relies upon on its expressiveness, i.E., its ability to represent many device traits. In trendy, the expressiveness of a model may be opposed to its simplicity of verification.
As an expressive formalism can be very helpful in modeling, it can additionally be blockading in the verification segment. The specification of the gadget is described with the aid of homes that may be expressed within the form of observers of the version or using a particular logic such as Linear Temporal Logic (LTL) [27] and Computation Tree Logic (CTL) or the temporal extension of the latter: TCTL . In, L. Lamport decomposes the correctness homes of a system into  categories: safety houses which specific that an unfavored situation will by no means happen, and liveliness residences which ensure that underneath certain conditions, the preferred situation will eventually arise. These two categories of residences also can be decreased to a reachability verification that appears for a route in which the favored scenario is met.


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/tc3d4nig5ip53tcefg5h.png)
                fig 2- Model-Checking Approach.

Once the model and its specification are constructed, an analysis of whether the version satisfies the specification is performed. This evaluation explores all viable executions of the machine from its preliminary country. The generation of a counter-example is automated when the assets is false in the shape of an execution trace starting from the preliminary state to the state violating the assets. Thus, the version-checking approach is carried out on
two predominant levels (modeling and specification verification), as proven in Figure 2.
With model-checking, the person does now not interfere in the verification method and effortlessly identifies the states of the system inflicting its violation through counter-examples
generation. The main advantage is, consequently, its computerized man or woman. However, the approach is restricted by means of computing capacities. The trouble of the combinatorial explosion
is due to the exhaustive exploration of the system’s state area. Several discount studies are proposed to cope with this limitation of exhaustive strategies .

**Timed models**
Time-based fashions allow the modeling and verification of actual-time programs by considering mission execution times and synchronization mechanisms. Adding temporal parameters to the utility can restriction its behaviors, limiting the quantity of states of its model. Moreover, it's far vital to check the quantitative temporal residences to identify specific motives for failure. The main households of models are extended with time, including timed automata and time Petri nets .

**Timed automata**
A timed automaton is an extended finite automaton with clocks to keep in mind time. A finite automaton is an abstract gadget with a constrained number of states that accepts an input alphabet to adapt its kingdom. The values of the clocks boom at some point of the execution of the timed automaton and may be associated with constraints known as invariants. The invariants of the device manipulate the length for which the machine can continue to be in a given location and could depart it once the invariant is no longer satisfied. The clocks are then reset to zero whilst the transition is fired, and the related action is finished.
The formalism is supported by several fashions checking equipment, Among them, UPPAAL is one of the first-class-recognized and maximum efficient tools. The tool is conceived for the modeling and formal verification of actual-time structures the use of a network of a timed prolonged finite automaton with useful functions written within the UPPAAL language. Kronos, proposed with the aid of S. Yovine , is a software tool that lets in customers to affirm the specs of a real-time device for the duration of its layout phase. T.Amnell et al. [37] recommend
the TIMES tool as a scheduling analyzer primarily based on timed automata and their extensions. It helps simulation, formal verification and code generation of the model. TIMES gives a graphical editor that permits the person to specify the parameters of a fixed of responsibilities which include priority, closing date and execution time. Nevertheless, the tool does now not allow the evaluation of challenge sets with shared assets.

**Petri nets and time**
Petri nets have  foremost temporal extensions: Time Petri nets [39] and the timed Petri nets . Time Petri nets are an extension of the classical Petri internet called an area transition internet, in which every transition is related to a time c programming language. This c programming language
specifies the viable firing dates. The 2d temporal extension of Petri Nets is Timed Petri Nets where transitions are fired as quickly as viable even as a transition may be fired inside a given c programming language for Time Petri Nets. Time is therefore represented by means of minimum(or exact) periods for Timed Petri nets. Time also can be related to transitions (T-time), locations (P-time) and arcs (A-time). T-time Petri nets are the
most broadly used in actual-time structures and those used in our modeling in this thesis mission, and they have the identical expressiveness as Turing machines , opposite to Timed automata. We present the formalism with its color extension in element in coming chapter

I will try to explain more this topic in next part

Thank you