• Aucun résultat trouvé

Designing Reliable Real-Time Concurrent Object-Oriented Software Systems Alfredo Capozucca, Nicolas Guelfi LASSY - University of Luxembourg, 6, rue Richard Coudenhove-Kalergi, L-1359 Luxembourg

N/A
N/A
Protected

Academic year: 2021

Partager "Designing Reliable Real-Time Concurrent Object-Oriented Software Systems Alfredo Capozucca, Nicolas Guelfi LASSY - University of Luxembourg, 6, rue Richard Coudenhove-Kalergi, L-1359 Luxembourg"

Copied!
1
0
0

Texte intégral

(1)

Designing Reliable Real-Time Concurrent

Object-Oriented Software Systems

Alfredo Capozucca, Nicolas Guelfi

LASSY - University of Luxembourg,

6, rue Richard Coudenhove-Kalergi, L-1359 Luxembourg

Introduction

• Coordinated Atomic Actions conceptual framework (CaaFWrk): fault tolerance technique meant for increasing the reliability of concurrent object-oriented software systems

Figure 1: CaaFWrk core elements.

Problem definition

Real-time software systems are concurrent (either inherent or imposed) and very often have reliability requirements. Thus, these types of software systems are first-class candidates to be designed using the CaaFWrk. Timing requirements imposed by most real-time software systems cannot be modelled (or, at least, not easily) by the CaaFWrk as it is.

Work summary

1. Analysis of the first proposal for time extensions on the CaaFWrk (aka Timed-CaaFWrk)

2. Description of the open issues found on this proposal: • Timing constraints over roles

• Recovery semantics

• CAAs/Roles interleaving

• Pre-emptive scheme to speed up the recovery process 3. Solutions to the open issues ⇒ Timed-CaaFWrk++

Results

The Timed-CaaFWrk++ conceptual framework:

• allows to set multiple timing constraints over a Role and specify those recovery actions to be taken in case a constraint is violated ⇒ less(timeExpr){...}exceed{...}

• extends the recovery semantics: handling an exception in the scope of a Role before starting the cooperative recovery

• includes the Immediate Ceiling Priority Protocol as scheduling pol-icy to reduce the non-determinism found within a software system designed by several CAAs executing concurrently

• supports both the pre-emptive and blocking schemes, the decision about which one to use is made by the scheduler ⇒

if tE − te ≤ tA then complete else abort, where

– te = Elapsed Time (measured by a timer at runtime)

– tE = Maximum Elapsed Time (defined at design-time)

– tA = Abortion Time (either:

∗ calculated upon release of the CAA at runtime, or ∗ defined at design-time)

Figure 2: It shows a CAA (here CAA4) interrupting the execu-tion of another CAA (here CAA3) with a lower priority. The figure also shows the internal execution of the CAA with higher priority and those timing constraints it may hold.

Conclusion

Références

Documents relatifs

Keywords: Software Engineering, Software Design Patterns, Scientific Soft- ware, Finite Element Method, Object-oriented Approach.. 1

3 Mathematics Research Unit, University of Luxembourg, 6, rue Richard Coudenhove-Kalergi, 1359 Luxembourg, Luxembourg. We study different algebraic and geometric properties

H 02 : The results of metric analysis of functionally equivalent applications across different platforms do not differ. H A02 : The results of metric analysis of

The aim of this paper is to show how an object-oriented analysis and design (OOAD) approach, augmented with a set of relevant design patterns and followed with an imple- mentation

In section 4, building on this analysis, we outline a tentative OO framework based on the UML making possible the use of formal verification and validation technology.. We then show

L’archive ouverte pluridisciplinaire HAL, est destinée au dépôt et à la diffusion de documents scientifiques de niveau recherche, publiés ou non, émanant des

In this paper, w e refute the argument that small classes are more cohesive than larger classes (where size is dened in terms of the number of methods in a class).. A t present,

The contribution of this paper is to propose a method (based on the use Creational Design Patterns) to simplify SCM by reifying the variants of an object-oriented software system