FR2817634A1 - Procede pour realiser une communication intertaches dans un systeme de fonctionnement informatique multitaches - Google Patents

Procede pour realiser une communication intertaches dans un systeme de fonctionnement informatique multitaches Download PDF

Info

Publication number
FR2817634A1
FR2817634A1 FR0114525A FR0114525A FR2817634A1 FR 2817634 A1 FR2817634 A1 FR 2817634A1 FR 0114525 A FR0114525 A FR 0114525A FR 0114525 A FR0114525 A FR 0114525A FR 2817634 A1 FR2817634 A1 FR 2817634A1
Authority
FR
France
Prior art keywords
task
variables
variable
inter
priority
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
FR0114525A
Other languages
English (en)
Other versions
FR2817634B1 (fr
Inventor
Gabriel Wetzel
Jens Fiedler
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Robert Bosch GmbH filed Critical Robert Bosch GmbH
Publication of FR2817634A1 publication Critical patent/FR2817634A1/fr
Application granted granted Critical
Publication of FR2817634B1 publication Critical patent/FR2817634B1/fr
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)
  • Communication Control (AREA)
  • Debugging And Monitoring (AREA)

Abstract

Procédé pour réaliser une communication intertâche dans un système de fonctionnement multitâches qui commande l'exécution d'un programme d'ordinateur subdivisé en plusieurs tâches avec chaque fois au moins un procédé. Les étapes sont les suivantes :- on détermine (12) toutes les variables utilisées,- pour chaque variable on détermine la tâche qui l'utilise et les variables intertâches - pour chaque variable intertâches on détermine (15) les mécanismes applicables théoriquement,- pour les variables intertâches pour lesquelles s'appliquent plusieurs mécanismes, on sélectionne un mécanisme pour une communication intertâches - en fonction du mécanisme théoriquement utilisable ou sélectionné, on insère (23) des moyens dans les tâches pour un échange de données dans le programme d'ordinateur.

Description

La présente invention concerne un procédé de réalisation d'une
communication intertâches dans un système de fonctionnement
multitâches qui commande l'exécution d'un programme d'ordinateur sub-
divisé en plusieurs tâches avec chaque fois au moins un procédé.
Etat de la technique
Les différentes tâches d'un programme d'ordinateur multi-
tâches ont différentes priorités. Les tâches de priorité élevée peuvent inter-
rompre d'autres tâches de priorité inférieure. L'interruption se fait pour les tâches qui sont traitées selon un mode coopératif entre deux procédés. Les
tâches traitées selon un mode préemptif permettent une interruption éga-
lement au milieu d'un procédé. Dans un programme d'ordinateur on pré-
voit habituellement des variables utilisées pour l'échange d'informations
entre les différentes tâches. Ces variables sont appelées variables intertâ-
ches.
Une caractéristique importante pour la communication en-
tre les tâches d'un programme d'ordinateur est la protection de la consis-
tance des données des variables intertâches. Pendant le traitement d'une
partie du programme d'ordinateur (par exemple des procédés ou des tâ-
ches) il ne faut pas que le contenu des variables auquel accède une partie
du programme d'ordinateur ne soit modifié par d'autres parties du pro-
gramme. De même, il faut assurer la consistance des données entre les différentes variables intertâches. Si plusieurs variables intertâches sont logiquement liées, il faut assurer l'échange des contenus des variables
entre les tâches qui se correspondent réciproquement.
Un autre aspect important dans la communication entre les
tâches est l'instant de l'échange des données. On a deux possibilités diffé-
rentes:
- la reprise du contenu de la variable intertâches d'une tâche à une au-
tre tâche n'est pas liée à des intervalles de temps fixes. On utilise tou-
jours la valeur la plus actuelle,
- la reprise du contenu de la variable intertâches d'une tâche à une au-
tre tâche est liée à des intervalles de temps fixes.
A partir des exigences concernant la consistance des don-
nées et les différents instants de l'échange des données on a plusieurs cas d'application:
1. la consistance des données d'une variable intertâches doit être as-
surée. Le transfert du contenu de la variable intertâches, d'une tâ-
che à une autre, n'est pas lié à des intervalles de temps fixes. On
utilise toujours la valeur la plus actuelle.
2. La consistance des données d'une variable intertâches doit être as-
surée. Le transfert du contenu d'une variable intertâches, d'une tâ-
s che à une autre, n'est pas lié à des intervalles de temps fixes. On utilise toujours la valeur la plus actuelle. On effectue des calculs
avec plusieurs opérations d'enregistrement sur la variable intertâ-
ches. 3. La consistance des données entre plusieurs variables intertâches doit être assurée. La reprise du contenu des variables intertâches, d'une tâche à une autre, n'est pas liée à des intervalles de temps
fixes. On utilise toujours la valeur la plus actuelle.
4. La consistance des données d'une variable intertâches ou de plu-
sieurs variables intertâches doit être assurée. La reprise du contenu
des variables intertâches, d'une tâche à une autre, est liée à des in-
tervalles de temps fixes. On a éventuellement des calculs avec plu-
sieurs opérations d'enregistrement sur les variables intertâches.
5. Une grandeur est utilisée dans plusieurs tâches mais l'échange des données entre les tâches ne s'effectue pas. Il s'agit de variables qui se correspondent logiquement mais sont indépendantes les unes des autres. 6. Une grandeur est utilisée dans plusieurs tâches. L'échange des
données entre les tâches est régulé de manière particulière (cas par-
ticuliers). Il s'agit de variables logiquement liées mais indépendantes
les unes des autres.
Le traitement des tâches d'un programme d'ordinateur est connu en mode coopératif selon le document DE 195 OO 957 Al. Dans le cas d'un système de traitement multitâches qui s'appuie à la fois sur le
mode coopératif et sur le mode préemptif, pour le traitement d'un pro-
gramme d'ordinateur on se reportera par exemple au système de traite-
ment en temps réel ERCOSEK de la Société ETAS Entwicklungs- und
Applikationswerkzeuge fur elektronische Systeme GmbH & Co. KG, Stutt-
gart, DE (vgl. ETAS GmbH & Co. KG: ERCOSEK V2.0.0 Manual, Stuttgart,
1998) et le manuel ERCOSEK mentionné dans DE-195 00 957 Ai.
Pour une communication intertâches dans le système de traitement multitâches connu selon l'état de la technique on utilise un modèle de communication de messages ERCOS. Pour ce procédé qui
n'assure pas d'échange de données consistant entre les tâches, le pro-
grammeur doit toutefois définir les variables intertâches par des mots clefs sous la forme de messages, dès la définition des variables. De plus, seul un mécanisme déterminé est soutenu pour la communication intertâches, ce qui limite fortement les possibilités fonctionnelles de la communication intertâches, connues.
Dans un programme d'ordinateur, on enregistre comme ori-
ginal une variable pour chaque message. Au début d'une tâche on copie les originaux dans les variables locales des tâches. Les algorithmes des tâches travaillent pendant toute la durée de fonctionnement de la tâche avec de telles copies. D'autres tâches ne peuvent accéder à ces copie; elles ont au contraire leur propre copie. Si des événements d'algorithme d'une tâche doivent être disponibles également pour d'autres tâches, on copie
les copies locales à la fin de la tâche vers les originaux.
Le procédé connu est utilisable pour les cas d'application 1 et 2. La consistance des données est assurée car les tâches travaillent toujours avec une copie des variables intertâches. Pour le cas d'application 3, on ne peut appliquer le procédé connu que si la copie des variables intertâches n'est pas interrompue. Pour les autres cas d'application 4-6 le procédé ne peut s'appliquer. Le taux d'actualisation
des variables intertâches dépend toujours du déroulement du programme.
On utilise toujours les valeurs les plus actuelles.
La présente invention a pour but de développer un procédé de réalisation d'une communication intertâches du type défini ci-dessus et
de développer ce procédé pour offrir une flexibilité aussi élevée que possi-
ble et permettre une communication intertâches ayant autant que possi-
ble une fonctionnalité couvrant toutes les demandes.
A cet effet, l'invention concerne un procédé de réalisation d'une communication intertâches du type évoqué ci-dessus et ayant les étapes suivantes: - on détermine toutes les variables utilisées dans le programme d'ordinateur, - pour chaque variable on détermine la tâche qui utilise cette variable et
on détermine les variables (variables intertâches) utilisées dans plu-
sieurs tâches,
- pour chaque variable intertâches on détermine les mécanismes appli-
cables théoriquement pour une communication intertâches à partir des mécanismes disponibles, - pour les variables intertâches pour lesquelles s'appliquent plusieurs mécanismes, on sélectionne un mécanisme pour une communication intertâches à partir des mécanismes théoriquement utilisables et - en fonction du mécanisme théoriquement utilisable ou du mécanisme sélectionné on insère des moyens dans les tâches pour un échange de
données dans le programme d'ordinateur.
Avantages de l'invention
On établit ainsi un tableau avec toutes les variables utili-
sées dans le programme d'ordinateur. Pour chaque variable on définit les tâches dans lesquelles la variable est lue et/ou enregistrée. Cette étape
peut être automatisée par exemple avec un programme d'analyse syntaxi-
que traitant les dossiers sources du programme d'ordinateur.
On détermine alors toutes les variables intertâches dans le tableau. Les variables intertâches sont les variables utilisées par plusieurs is tâches. Toutes les variables utilisées dans une seule tâche peuvent être
négligées dans les étapes de procédé suivantes. Cette étape de détermina-
tion des variables intertâches peut être automatisée en ce qu'on exploite
par exemple un outil approprié pour le tableau.
A partir d'une série de mécanismes disponibles qui seront
détaillés ci-après, on détermine pour chaque variable intertâches, les mé-
canismes théoriquement applicables. Ils résultent des tâches qui se pro-
duisent et de leur priorité. Pour cela il faut connaître la priorité de chaque tâche. Cette étape peut s'automatiser par exemple avec un outil traitant le
tableau.
Si pour une variable intertâches on utilise plusieurs méca-
nismes, il faut que par exemple le programmeur décide le mécanisme à
utiliser. De manière correspondante, il faut appliquer le mécanisme sélec-
tionné ou le mécanisme applicable si pour une variable intertâches on ne veut appliquer qu'un mécanisme et que finalement à la fin ou au début de la tâche on insère des moyens pour un échange consistant de données
dans le programme d'ordinateur. On peut automatiser cette étape en utili-
sant un outil approprié qui établit les parties de programmes correspon-
dant aux moyens à insérer.
Les avantages du procédé sont notamment le fait qu'une va-
riable n'a pas à être caractérisée dès la définition comme variable intertâ-
ches. Au contraire, ce n'est que lorsque la configuration du programme d'ensemble est définie que l'on décide s'il faut des mécanismes déterminés
pour une variable. On évite ainsi que trop de variables ou trop peu de va-
riables soient définies comme des variables intertâches.
De plus, le procédé selon l'invention ne soutient pas seule-
ment un mécanisme spécial pour la communication intertâches. Au con-
s traire, le programmeur dispose d'un grand nombre de mécanismes
différents avec leurs propriétés correspondantes (souplesse des program-
mes, optimisation de la consommation des ressources, etc...) pour per-
mettre de sélectionner un mécanisme optimum pour chaque application.
Enfin, le procédé selon l'invention peut être automatisé sans la mise en ceuvre de moyens importants. Le programmeur peut ainsi,
en établissant le programme, être libéré pratiquement totalement des re-
lations en général très complexes.
Selon un développement avantageux de l'invention, les mé-
canismes théoriquement applicables pour une communication intertâches se déterminent à l'aide des tâches qui sont utilisées dans le programme et
à l'aide de leurs priorités.
Grâce au mécanisme disponible pour une communication intertâches on garantit avantageusement que pendant le traitement d'une partie du programme (par exemple procédé ou tâche) le contenu de toutes
les variables intertâches ne sera pas modifié par d'autres parties du pro-
gramme. C'est ainsi que par exemple la consistance d'une variable intertâ-
ches est fragilisée si la variable intertâches est enregistrée dans une tâche de priorité élevée et si elle est lue dans une tâche de priorité inférieure. On
peut rencontrer une autre difficulté si une variable intertâches est enre-
gistrée plusieurs fois dans une tâche de priorité inférieure (par exemple pour l'exécution de calculs intermédiaires) et est lue dans une tâche de priorité élevée que la tâche de priorité inférieure a été interrompue entre les opérations d'enregistrement par la tâche de priorité élevée. Cela est le cas dans l'échéancier coopératif si les opérations d'écriture sont effectuées dans plusieurs procédés. Dans le cas de l'échéancier préemptif il est déjà difficile que les opérations d'écriture se fassent avec plusieurs ordres d'assembleur.
De plus, grâce aux mécanismes disponibles pour une com-
munication intertâches on garantit avantageusement que pendant le trai-
tement du programme, le contenu de toutes les variables intertâches liées
logiquement sont traitées ensemble. C'est ainsi que par exemple la con-
sistance des données entre plusieurs variables intertâches est fragilisée si
les variables intertâches sont enregistrées dans une tâche de priorité éle-
vée et sont lues dans une tâche de priorité inférieure. De plus, la consis-
tance des données entre plusieurs variables intertâches est fragilisée si
ces variables intertâches sont enregistrées dans une tâche de priorité infé-
rieure et sont lues dans une tâche de priorité élevée et si la tâche de prio-
rité inférieure est interrompue entre les opérations d'enregistrement par la tâche de priorité élevée. Cela est le cas dans l'échéancier coopératif si des
opérations d'enregistrement sont effectuées dans plusieurs procédés.
Dans le cas de l'échéancier préemptif, on a déjà des difficultés si les opé-
rations d'enregistrement sont faites avec plusieurs ordres d'assembleur.
Selon un mode de réalisation préférentiel de l'invention, les
mécanismes disponibles comprennent au moins l'un des mécanismes sui-
vants:
- échange actuel des données, copie au début d'une tâche de priorité in-
férieure, - échange actuel de données; il n'y a pas de variable intertâches et pas de copie,
- échange actuel de données; copie à la fin d'une tâche de priorité infé-
rieure,
- échange cyclique de données, copie à la fin d'une tâche de priorité éle-
vée à des instants donnés, - échange cyclique de données, copie au début d'une tâche de priorité élevée à des instants déterminés, - pas d'échange de données, les variables sont indépendantes; pas de copie et
- cas particuliers.
A l'aide des mécanismes présentés ci-dessus on peut réali-
ser toutes les applications décrites ci-dessus.
Selon un développement avantageux de l'invention, pour l'échange actuel des données - dans une tâche de priorité élevée à enregistrer et au moins une tâche
de lecture de priorité inférieure, on associe chaque fois une image pro-
pre à au moins l'une des variables intertâches et au début de chaque
tâche de priorité inférieure on copie le contenu d'au moins l'une des va-
riables intertâches de la tâche de priorité élevée dans au moins une tâ-
che de priorité inférieure, si au moins la variable intertâches est enregistrée dans la tâche de priorité élevée et est lue dans au moins une tâche de priorité inférieure, - on ne copie pas le contenu d'une variable intertâches entre une tâche
de priorité élevée et une tâche de priorité inférieure si la variable inter-
tâches est enregistrée dans la tâche de priorité inférieure et est lue dans au moins une tâche de priorité élevée, ou - à une tâche de priorité inférieure à enregistrer et à au moins une tâche de priorité élevée à lire on associe chaque fois une propre image d'au moins une variable intertâches, et le contenu d'au moins une variable
intertâches est copié à la fin de la tâche de priorité inférieure de la tâ-
che de priorité inférieure vers au moins une tâche de priorité élevée, si
la variable intertâches est enregistrée dans la tâche de priorité infé-
rieure et lue dans au moins une tâche de priorité élevée.
Selon un mode de réalisation préférentiel de l'invention, au cas o au moins une variable intertâches est enregistrée dans la tâche de priorité élevée et est lue dans au moins une tâche de priorité inférieure, on
évite l'interruption de la copie du contenu d'au moins une variable inter-
tâches par une tâche de priorité élevée.
Selon un autre mode de réalisation préférentiel de l'invention, au cas o la variable intertâches est enregistrée dans la tâche de priorité inférieure et est lue dans au moins une tâche de priorité élevée, on permet une interruption du calcul avec plusieurs opérations
d'enregistrement sur la variable intertâches dans la tâche de priorité infé-
rieure. Selon un autre développement avantageux de l'invention, pour l'échange cyclique des données - on copie le contenu d'au moins l'une des variables intertâches dans un premier rappel d'une tâche de priorité élevée à partir de la tâche de priorité élevée vers au moins une tâche de priorité inférieure si au
moins une variable intertâches a été enregistrée dans la tâche de prio-
rité élevée et a été lue dans au moins une tâche de priorité inférieure ou - on copie le contenu d'au moins l'une des variables intertâches au cours d'un premier appel d'une tâche de priorité élevée au début de la tâche de priorité élevée par une tâche de priorité inférieure vers au moins une
tâche de priorité élevée si au moins une variable intertâches a été enre-
gistrée dans la tâche de priorité inférieure et a été lue dans au moins
une tâche de priorité élevée.
Dessins La présente invention sera décrite ci-après de manière plus détaillée à l'aide des dessins annexés dans lesquels:
- la figure 1 montre un tableau avec les mécanismes d'une communica-
tion intertâches dans un système de traitement multitâches, - la figure 2 montre une légende du tableau de la figure 1, - la figure 3 montre un mécanisme connu selon l'état de la technique pour une communication intertâches dans un système de traitement multitâches, - la figure 4 montre un mécanisme pour une tâche de priorité inférieure
pour une communication intertâches avec un échange de données ac-
tuel, - la figure 5 montre le déroulement d'une tâche pour un échange de données actuel, - la figure 6 montre un mécanisme pour une tâche de priorité élevée
pour une communication intertâches avec un échange de données cy-
clique,
- la figure 7 montre un déroulement de tâches dans un échange de don-
nées cyclique, - la figure 8 montre un tableau explicitant un procédé selon l'invention à l'aide de cinq variables prises à titre d'exemple,
- la figure 9 montre un ordinogramme d'un procédé selon l'invention cor-
respondant à un mode de réalisation préférentiel.
Description des exemples de réalisation
Selon l'état de la technique on connaît des programmes d'ordinateurs subdivisés en plusieurs tâches. Une tâche est une partie de programme qu'il faut exécuter comme conséquence d'un événement ou à
des intervalles de temps réguliers. Chaque tâche a une certaine priorité.
Les tâches peuvent être exécutées en mode de coopération ou en mode de préemption. Toutes les tâches préemptives ont en principe une priorité
plus élevée que les tâches coopératives. Une tâche comprend une sé-
quence d'au moins un procédé. Un procédé est une unité fonctionnelle
bouclée à l'intérieur d'une tâche. En technique des programmes, un pro-
cédé est une fonction sans argument et sans valeur de retour. Les procé-
dés sont traités séquentiellement.
Si à un instant déterminé il faut exécuter simultanément plusieurs tâches, celles-ci seront traitées en fonction de leur priorité. La tâche de priorité la plus élevée est exécutée en premier lieu. Une tâche de
priorité plus faible est interrompue par une tâche de priorité plus élevée.
Une tâche préemptive peut interrompre une tâche de priorité inférieure (préemptive ou coopérative) à tout instant, c'est-à-dire même pendant
l'exécution d'un procédé. Une tâche coopérative peut interrompre des tâ-
ches de priorité inférieure (seulement des tâches coopératives) unique-
ment entre deux procédés. L'exécution d'un programme d'ordinateur composé d'une ou plusieurs tâches est commandée par un système de fonctionnement ou de pilotage multitâches. Il existe dans les différentes tâches une variable à
laquelle on accède en lecture et/ou en inscription dans plusieurs tâches.
l0 De telles variables sont appelées " variables intertâches ". Ces variables
servent à l'échange d'informations entre les tâches.
La sécurité de la consistance des données entre plusieurs
variables intertâches doit être prise en compte. Si plusieurs variables in-
tertâches sont reliées logiquement, il faut assurer que toujours les conte-
nus correspondants des variables soient échangés entre les tâches.
Pendant l'exécution du programme d'ordinateur il faut veiller à la consistance des données des variables intertâches. On garantit que pendant le traitement d'une partie des programmes (par exemple un procédé ou une tâche) le contenu de toutes les variables auxquelles accède
la partie de programme ne soit pas modifié par d'autres parties de pro-
grammes. C'est ainsi que la consistance des données d'une variable in-
tertâches peut par exemple être mise en danger si la variable intertâches est surscrite dans une tâche de priorité plus élevée et qu'elle est lue dans
une tâche de priorité inférieure. On rencontre une autre difficulté lors-
qu'une variable intertâches est inscrite plusieurs fois dans une tâche de priorité inférieure (par exemple pour l'exécution de calculs intermédiaires)
et qu'elle est lue dans une tâche de priorité élevée et que la tâche de prio-
rité inférieure peut être interrompue entre les opérations d'écriture par la tâche de priorité plus élevée. Cela est le cas dans un échéancier coopératif
si les opérations d'enregistrement sont effectuées dans plusieurs procédés.
Dans un échéancier préemptif, il est déjà délicat que les opérations
d'enregistrement soient réalisées avec plusieurs ordres d'assembleur.
Un autre aspect important de la communication intertâches
est l'instant de l'échange des données. Il existe deux possibilités différen-
tes:
- dans un échange de données actuel, la reprise du contenu de la varia-
ble intertâches, d'une tâche à une autre tâche, n'est pas liée à des in-
tervalles de temps fixes et on utilise toujours la valeur la plus actuelle, O10
- dans un échange cyclique de données, la reprise du contenu de la va-
riable intertâches par une tâche à l'autre est liée à des intervalles de
temps fixes.
Il existe trois possibilités d'un échange actuel de données (voir figure 4): 1. Une ou plusieurs variables intertâches sont enregistrées dans une tâche de priorité élevée et sont lues dans une ou plusieurs tâches de priorité faible. Dans ce cas, la tâche enregistrée en priorité élevée et les tâches à lire en priorité faible sont chaque fois associées à une copie propre des variables intertâches. Au début de chaque tâche de priorité inférieure on copie le contenu des variables intertâches par la tâche de priorité élevée vers la tâche de priorité faible (voir " début de tâche" à la figure 4). S'il s'agit de plusieurs variables intertâches il faut assurer que l'opération de copie ne soit pas interrompue par
une tâche de priorité plus élevée.
2. Une variable intertâches est enregistrée dans une tâche de priorité inférieure et elle est lue dans une ou plusieurs tâches de priorité élevée. Dans ce cas il n'existe qu'une variable pour toutes les tâches
et il n'est pas nécessaire de faire des copies.
3. Une variable intertâches est enregistrée dans une tâche de priorité inférieure et elle est lue dans une ou plusieurs tâches de priorité plus élevée. Les calculs faits avec plusieurs opérations d'écriture sur la variable intertâches dans la tâche de priorité inférieure peuvent être interrompus. En variante on peut également écrire plusieurs variables intertâches dans une tâche de priorité inférieure ou les lire dans une plusieurs tâches de priorité plus élevée. La consistance des données entre ces variables intertâches doit être garantie. Dans
ces deux cas on associe à la tâche d'enregistrement de priorité infé-
rieure et aux tâches de lecture de priorité élevée, chaque fois une copie propre des variables intertâches. A la fin de la tâche de priorité inférieure on copie le contenu des variables intertâches de la tâche de priorité intérieure dans les tâches de priorité élevée (voir " fin de tâche" à la figure 4). S'il s'agit de plusieurs variables intertâches ou
de plusieurs tâches de priorité élevée, il faut assurer que les opéra-
tions de copie ne seront pas interrompues par l'une des tâches de
priorité plus élevée.
La figure 5 montre à titre d'exemple l'exécution d'une tâche selon un premier cycle et selon un second cycle pour l'échange actuel des données. Il apparaît clairement que les opérations de copie sont exécutées par la tâche de priorité élevée Hi vers la tâche de priorité inférieure Lo ou à partir de la tâche de priorité inférieure Lo vers la tâche de priorité élevée
Hi au début ou à la fin de la tâche de priorité inférieure.
Pour réaliser l'échange cyclique des données, on réalise
dans le programme d'ordinateur plusieurs copies respectives pour les va-
riables intertâches concernées. Chaque tâche dans laquelle on utilise la variable intertâches se voit attribuer sa propre copie. Le nombre de copies
d'une variable intertâches résulte ainsi du nombre de tâches dans les-
quelles cette variable est utilisée.
Pour l'échange cyclique des données on a deux possibilités (voir figure 6) : 1. On enregistre une ou plusieurs variables intertâches dans une tâche de priorité plus élevée et on la lit dans une ou plusieurs tâches de
priorité inférieure. Dans ce cas, au début d'un cycle (au premier ap-
pel de la tâche de priorité élevée) à la fin de la tâche de priorité éle-
vée (voir " fin de tâche" à la figure 6), copier le contenu des variables
intertâches à partir de la tâche de priorité Hi vers les tâches de prio-
rité inférieure Lo.
2. On enregistre une ou plusieurs variables intertâches dans une tâche de priorité inférieure et on les lit dans une ou plusieurs tâches de
* priorité élevée. Dans ce cas, au début du cycle (dans le premier ap-
pel de la tâche de priorité la plus élevée) au début de la tâche de priorité la plus élevée (voir " début de tâche" à la figure 6) copier le contenu des variables intertâches de la tâche de priorité faible Lo
vers les tâches de priorité élevée Hi.
La durée d'un cycle est définie par la tâche de durée de dé-
tection la plus longue au cours de laquelle on utilise la variable intertâ-
ches. Chaque cycle commence par l'appel de la tâche de priorité la plus
élevée. Puis on a les autres tâches (de priorité plus faible). Dans des sys-
tèmes à orientation cyclique on a habituellement la tâche de durée de dé-
tection la plus courte qui a la plus forte priorité et la tâche de durée de
détection la plus longue aura la priorité la plus faible. Les durées de dé- tection sont liées selon un rapport de nombres entiers.
La copie des variables intertâches se fait à un instant dé-
terminé dans la tâche de priorité la plus élevée (du cycle). Cette tâche et ainsi la copie des variables intertâches ne peut être interrompue. En cas d'échéancier intact, la tâche de priorité faible ne peut être interrompue par
la tâche de priorité élevée au début d'un cycle. Pour cette raison, le procé-
dé peut également s'utiliser si les variables intertâches sont enregistrées plusieurs fois dans les tâches et/ou si la consistance des données doit
être garantie entre les différentes variables intertâches.
La figure 7 montre l'exécution d'une tâche pour un premier cycle et son second cycle pour un échange cyclique de données, présenté à
titre d'exemple. Il apparaît clairement que les opérations de copie de la tâ-
che de priorité inférieure Lo vers la tâche de priorité élevée Hi ou à partir de la tâche de priorité élevée Hi vers la tâche de priorité faible Lo se fait au
début ou à la fin de la tâche de priorité élevée.
A partir des exigences concernant la consistance des don-
nées et des différents instants d'échange de données on obtient les appli-
cations suivantes:
1. Il faut garantir la consistance de donnée d'une variable intertâches.
Le transfert du contenu de la variable intertâches, d'une tâche à une autre tâche n'est pas lié à des intervalles de temps fixes (échange
actuel de données).
2. La consistance de données d'une variable intertâches doit être ga-
rantie. Le transfert du contenu de la variables intertâches d'une tâ-
che à une autre tâche n'est pas lié à des intervalles de temps fixes
(échange actuel de données). On a des calculs avec plusieurs opéra-
tions d'écriture sur la variable intertâches.
3. La consistance des données entre plusieurs variables intertâches doit être assurée. Le transfert du contenu des variables intertâches, d'une tâche à une autre tâche n'est pas lié à des intervalles de
temps fixes (échange actuel de données).
4. la consistance de données d'une variable intertâches ou de plu-
sieurs variables intertâches doit être assurée. Le transfert des con-
tenus des variables intertâches d'une tâche à une autre tâche est lié à des intervalles de temps fixes (échange cyclique de données). On a
des calculs avec plusieurs opérations d'enregistrement sur des va-
riables intertâches.
5. Une grandeur est utilisée dans plusieurs tâches mais un échange de
données entre les tâches n'a pas lieu. Il s'agit de variables indépen-
dantes, mais qui sont liées logiquement.
6. Une grandeur est utilisée dans plusieurs tâches. L'échange des données entre les tâches est régulé d'une manière particulière (cas particulier). Il s'agit de variables dépendantes les unes des autres et
qui se correspondent logiquement.
La figure i montre les mécanismes selon l'invention pour la
réalisation de ces applications. Ces mécanismes seront détaillés ultérieu-
rement. On décrira tout d'abord un mécanisme selon l'état de la technique, à savoir le mécanisme ERCOS (modèle de communication de message). Ce mécanisme connu est contenu dans un système multitâches
ERCOS (marque déposée de la Société ETAS Entwicklungs Applikations-
werkzeuge fur elektronische Systeme GmbH und Co. KG, Stuttgart. Le
l0 mécanisme connu est représenté à la figure 3. Dans ce système de fonc-
tionnement multitâches, connu, on réalise une communication intertâ-
ches en ce que dès la définition des variables du programme d'ordinateur, le programmeur définit toutes les variables intertâches par des mots clefs sous la forme de messages. Dans le programme d'ordinateur, pour chaque message on fixe une variable comme original 0. Au début d'une tâche Hi,
Lo, on copie les originaux 0 en variables locales de la tâche Hi, Lo. Les al-
gorithmes des tâches travaillent pendant toute la durée de fonctionnement
de la tâche avec ses copies. D'autres tâches ne peuvent accéder à ces co-
pies; au contraire elles ont leurs propres copies. Si les résultats des algo-
rithmes des tâches Hi, Lo doivent être disponibles pour d'autres tâches, on effectue des copie locales à la fin des tâches Hi, Lo dans les originaux O
(voir figure 3).
Ce mécanisme connu ne peut s'utiliser que pour les appli-
cations 1 et 2. La consistance des données est assurée en ce que les tâ-
ches Hi, Lo traitent toujours une copie de la variable intertâches. Pour l'application 3 on ne peut utiliser le procédé que si la copie des variables intertâches n'a pas été interrompue. Pour les autres cas d'application 4 à
6 on ne peut utiliser le procédé connu. Le taux d'actualisation des varia-
bles intertâches dépend du déroulement du programme d'ordinateur. On
utilise toujours les valeurs les plus actuelles.
Pour réaliser une communication intertâches dans un sys-
tème de fonctionnement multitâches, d'une manière plus souple et pour augmenter la fonctionnalité de la communication intertâches, l'invention propose un procédé dont l'ordinogramme correspondant à un mode de réalisation préférentiel est représenté à la figure 9. Une partie du procédé selon l'invention est constituée par les mécanismes représentés à la figure 1. Le mécanisme A concerne un échange actuel de données; au début d'une tâche de priorité inférieure on effectue une copie. Le mécanisme A s'utilise pour les cas d'application 1, 2, 3. On accède à la tâche de priorité élevée Hi en écriture (W) et en lecture (R). On accède seulement en lecture
(R) à la tâche de priorité inférieure Lo. Le mécanisme B. 1 concerne égale-
ment un échange actuel de données et il n'existe qu'une variable. Dans ces conditions les copies ne sont pas nécessaires. Le mécanisme B. 1 ne s'utilise que pour le cas d'application 1. On accède à la tâche de priorité élevée Hi seulement en lecture (R) et à la tâche de priorité inférieure Lo à
la fois en lecture (R) et en écriture (W). Le mécanisme B.2 concerne fina-
lement également un échange de données actuel; à la fin de la tâche de
priorité inférieure on copie. Le mécanisme B.2 peut s'utiliser dans les ap-
plications 2 et 3. On accède à la tâche de priorité élevée Hi seulement en
lecture (R) et à la tâche de priorité inférieure Lo en lecture (R) et en écri-
ture (W).
Le mécanisme C concerne un échange cyclique de données;
à la fin d'une tâche de priorité élevée Hi on copie à des instants détermi-
nés. Le mécanisme C peut s'utiliser seulement pour l'application 4. On accède à la tâche de priorité élevée Hi à la fois en lecture (R) et en écriture
(W) et à la tâche de priorité inférieure Lo seulement en lecture (R). Le mé-
canisme D concerne également un échange cyclique de données; au dé-
but de la tâche de priorité élevée Hi on copie à des instants déterminés. Le
mécanisme D s'utilise également seulement pour le cas d'application 4.
Pour la tâche de priorité élevée Hi on accède seulement en lecture (R); on
accède à la fois en lecture (R) et en écriture (W) à la tâche de priorité infé-
rieure Lo. Dans le mécanisme E il n'y a pas d'échange de données car les variables sont indépendantes. Le mécanisme E s'utilise pour l'application
5. On accède à la tâche de priorité élevée Hi et à la tâche de priorité infé-
rieure Lo à la fois en lecture (R) et en écriture (W). Le mécanisme F con-
cerne tous les cas particuliers. Il s'utilise pour l'application 6. Dans le mécanisme F on accède à la tâche de priorité élevée Hi et à la tâche de
priorité inférieure Lo à la fois en lecture (R) et en écriture (W).
Pour une description plus détaillée de la figure 1 on se re-
portera à la légende de la figure 1 qui est donnée à la figure 2.
Le procédé selon l'invention sera décrit ci-après de manière plus détaillée à l'aide de la figure 9. Le procédé commence par le bloc de fonction 10. Dans le bloc de fonction 1 1 on établit le programme de l'ordinateur ou les tâches et les procédés du programme. Ensuite, dans le
bloc fonctionnel 12, on détermine toutes les variables utilisées par le pro-
gramme. Ces variables peuvent se trouver par exemple dans un tableau.
Pour chaque variable on définit les tâches utilisant les variables, c'està-
dire lisant et/ou enregistrant les variables. Cette étape peut être faite de manière automatique par exemple un programme d'analyse synthétique
qui exploite les dossiers sources du programme de l'ordinateur.
Ensuite, dans le bloc fonctionnel 13, on détermine toutes les variables utilisées dans plusieurs tâches. Ces variables seront appelées les variables intertâches. Cette étape peut être automatisée en exploitant
par exemple les tableaux avec les variables à l'aide d'un outil approprié.
Puis pour chaque variable intertâches on détermine les mé-
l0 canismes théoriquement utilisables parmi les mécanismes disponibles (voir figures 1 et 3). Pour cela, dans un bloc fonctionnel 14, on sélectionne
une première variable intertâches. Dans un bloc fonctionnel 15 on déter-
mine ensuite les mécanismes théoriquement utilisés pour les variables intertâches sélectionnées. Dans le bloc d'interrogation 16 on vérifie si toutes les variables intertâches ont été traitées. Dans la négative, on passe
sur le bloc fonctionnel 14 et on sélectionne la variable intertâches sui-
vante. Dans l'affirmative, on poursuit le procédé selon l'invention. Cette étape du procédé représentée par les blocs fonctionnels 14 à 16 peut être automatisée si on exploite le tableau et les variables qu'il contient, par
exemple avec un outil approprié.
Au cours de la suite du procédé on sélectionne pour les va-
riables intertâches utilisables dans plusieurs mécanismes, l'un des méca-
nismes utilisables. Cela peut se faire soit par programmation soit de
manière automatique. Pour cela, dans le bloc fonctionnel 17, on sélec-
tionne tout d'abord une première variable intertâches. Dans le bloc d'interrogation 18, suivant, on vérifie si toutes les variables intertâches ont été traitées. Dans la négative on passe sur un bloc d'interrogation 19
en vérifiant si pour cette variable intertâche sélectionnée on utilise plu-
sieurs mécanismes. Dans l'affirmative, dans un bloc fonctionnel 20, on
sélectionne l'un des mécanismes utilisables et on passe sur le bloc fonc-
tionnel 17. Si pour la variable intertâches sélectionnée on ne peut utiliser qu'un mécanisme, on passe du bloc d'interrogation 19 directement sur le bloc fonctionnel 17. Dans le bloc fonctionnel 17 on sélectionne alors la variable intertâches suivante. Dès que toutes les variables intertâches ont été traitées, on poursuit le procédé selon l'invention par le bloc fonctionnel 21. Dans la suite du déroulement du procédé, au début et à la fin de la tâche du programme de l'ordinateur, on prend des mesures pour un échange de données consistantes dans le programme. Le choix des mesures à intégrer dans les tâches dépend des mécanismes sélectionnés pour les variables intertâches. Dans le bloc fonctionnel 21 on sélectionne tout d'abord une première tâche du programme. Dans un bloc d'interrogation 22 on vérifie ensuite si la tâche sélectionnée contient une variable intertâches. Dans la négative, on passe directement sur le bloc fonctionnel 21 et on sélectionne la tâche suivante. Dans l'affirmative on
passe sur le bloc fonctionnel 23 dans lequel on insère les mesures néces-
saires à l'échange consistant des données au début ou à la fin de la tâche sélectionnée. Ensuite, dans un autre bloc d'interrogations 24 on vérifie si toutes les tâches du programme ont été traitées. Dans la négative on passe directement sur le bloc fonctionnel 21 et on sélectionne la tâche suivante. Dans l'affirmative, on terme le procédé selon l'invention dans un
bloc fonctionnel 25.
Un autre exemple de la présente invention sera décrit ci-
après l'aide de la figure 8. On envisage un programme d'ordinateur com-
prenant en tout 8 tâches portant les références 1 à 8. Le numéro indique en même temps la priorité de la tâche. La tâche 1 a la plus grande priorité
et la tâche 8 la priorité la plus faible.
Tout d'abord on examine toutes les variables du programme à l'aide d'un programme d'analyse syntaxique. Dans le tableau de la figure 8 on a donné à titre exemple cinq variables gvRadub, g_xFzgow,
gASRb, g_uFzr ub, gaRad_ub (colonne 1). Pour chaque variable on dé-
finit les tâches utilisant ces variables, c'est-à-dire lisant et/ou enregistrant
ces variables (colonnes 2 et 3).
Dans les étapes suivantes on ne considère que les variables intertâches. Toutes les variables qui ne sont utilisées que dans une tâche
ne sont pas des variables intertâches (voir gxFzguw, g_uFzrub).
Pour les variables intertâches on indique dans la quatrième colonne les mécanismes théoriquement utilisables. Enfin, il faut par
exemple que le programmeur sélectionne un mécanisme parmi les méca-
nismes théoriquement utilisables. Le mécanisme sélectionné est donné
dans la colonne 5.
Un outil approprié peut être inséré en fonction du méca-
nisme sélectionné, au début ou à la fin de la tâche des ordres de pro-
grammes appropriés pour réaliser les mesures décrites ci-dessus pour garantir la consistance des données pour une communication intertâches
dans le programme d'ordinateur.
Comme indiqué ci-dessus, l'ampleur des mécanismes pos-
sibles est très grande. Les relations sont complexes. Il peut dans ces con-
ditions être intéressant de concevoir l'outil pour exploiter le tableau et les variables qu'il contient pour configurer les possibilités déjà dans le champ préalable. Si par exemple une application permet l'utilisation limitée de seulement une partie du mécanisme (dans le cas limite il s'agit d'un seul mécanisme) on peut exclure d'emblée les mécanismes non nécessaires. Le cas de plusieurs mécanismes utilisant une variable intertâches est dans
ces conditions rare. Le programmeur peut se décharger encore plus forte-
ment et dans le cas limite totalement de la sécurisation de la consistance
des données.

Claims (7)

    REVENDICATIONS ) Procédé pour réaliser une communication intertâches dans un système de fonctionnement multitâches qui commande l'exécution d'un pro- gramme d'ordinateur subdivisé en plusieurs tâches avec chaque fois au moins un procédé, caractérisé par les étapes de procédé suivantes: - on détermine (12) toutes les variables utilisées dans le programme d'ordinateur, - pour chaque variable on détermine la tâche qui utilise cette variable et on détermine (13) les variables (variables intertâches) utilisées dans plusieurs tâches, - pour chaque variable intertâches on détermine (15) les mécanismes applicables théoriquement pour une communication intertâches à par- tir des mécanismes disponibles, - pour les variables intertâches pour lesquelles s'appliquent plusieurs mécanismes, on sélectionne un mécanisme pour une communication intertâches à partir des mécanismes théoriquement utilisables et - en fonction du mécanisme théoriquement utilisable ou du mécanisme sélectionné on insère (23) des moyens dans les tâches pour un échange de données dans le programme d'ordinateur.
  1. 2 ) Procédé selon la revendication 1, caractérisé en ce qu'
    on détermine les mécanismes théoriquement applicables pour une com-
    munication intertâches à l'aide des tâches du programme d'ordinateur et
    de leur priorité.
  2. 3 ) Procédé selon l'une quelconque des revendications 1 ou 2,
    caractérisé en ce que par des mécanismes disponibles pour une communication intertâches on assure que pendant le traitement d'une partie du programme
    d'ordinateur, on ne modifie pas le contenu de toutes les variables intertâ-
    ches par d'autres parties du programme d'ordinateur.
  3. 4 ) Procédé selon l'une quelconque des revendications 1 à 3,
    caractérisé en ce que par les mécanismes disponibles pour une communication intertâches on assure que pendant le traitement du programme d'ordinateur on modifie
    ensemble le contenu de toutes les variables intertâches qui se correspon-
    dent logiquement.
    ) Procédé selon la revendication 3, caractérisé en ce que les mécanismes disponibles comprennent au moins l'un des mécanismes suivants:
    - échange actuel des données, copie au début d'une tâche de priorité in-
    férieure, - échange actuel de données; il n'y a pas de variable intertâches et pas de copie,
    - échange actuel de données; copie à la fin d'une tâche de priorité infé-
    rieure,
    - échange cyclique de données, copie à la fin d'une tâche de priorité éle-
    vée à des instants donnés, - échange cyclique de données, copie au début d'une tâche de priorité élevée à des instants déterminés, - pas d'échange de données, les variables sont indépendantes; pas de copie et
    - cas particuliers.
  4. 6 ) Procédé selon la revendication 5, caractérisé en ce que pour l'échange actuel des données - dans une tâche de priorité élevée à enregistrer et au moins une tâche
    de lecture de priorité inférieure, on associe chaque fois une image pro-
    pre à au moins l'une des variables intertâches et au début de chaque
    tâche de priorité inférieure on copie le contenu d'au moins l'une des va-
    riables intertâches de la tâche de priorité élevée dans au moins une tâ-
    che de priorité inférieure, si au moins la variable intertâches est enregistrée dans la tâche de priorité élevée et est lue dans au moins une tâche de priorité inférieure, - on ne copie pas le contenu d'une variable intertâches entre une tâche
    de priorité élevée et une tâche de priorité inférieure si la variable inter-
    tâches est enregistrée dans la tâche de priorité inférieure et est lue dans au moins une tâche de priorité élevée ou - à une tâche de priorité inférieure à enregistrer et à au moins une tâche de priorité élevée à lire on associe chaque fois une propre image d'au moins une variable intertâches et le contenu d'au moins une variable
    intertâches est copié à la fin de la tâche de priorité inférieure de la tâ-
    che de priorité inférieure vers au moins une tâche de priorité élevée, si
    la variable intertâches est enregistrée dans la tâche de priorité infé-
    rieure et lue dans au moins une tâche de priorité élevée.
  5. 7 ) Procédé selon la revendication 6, caractérisé en ce qu' au cas o au moins une variable intertâches est enregistrée dans la tâche de priorité élevée et est lue dans au moins une tâche de priorité inférieure,
    on évite l'interruption de la copie du contenu d'au moins une variable in-
    tertâches par une tâche de priorité élevée.
  6. 8 ) Procédé selon la revendication 6, caractérisé en ce qu' au cas o la variable intertâches est enregistrée dans la tâche de priorité inférieure et est lue dans au moins une tâche de priorité élevée, on permet une interruption du calcul avec plusieurs opérations d'enregistrement sur
    la variable intertâches dans la tâche de priorité inférieure.
  7. 9 ) Procédé selon la revendication 5, caractérisé en ce que pour l'échange cyclique des données - on copie le contenu d'au moins l'une des variables intertâches dans un premier rappel d'une tâche de priorité élevée à partir de la tâche de priorité élevée vers au moins une tâche de priorité inférieure si au
    moins une variable intertâches a été enregistrée dans la tâche de prio-
    rité élevée et a été lue dans au moins une tâche de priorité inférieure ou - on copie le contenu d'au moins l'une des variables intertâches au cours d'un premier appel d'une tâche de priorité élevée au début de la tâche de priorité élevée par une tâche de priorité inférieure vers au moins une
    tâche de priorité élevée si au moins une variable intertâches a été enre-
    gistrée dans la tâche de priorité inférieure et a été lue dans au moins
    une tâche de priorité élevée.
FR0114525A 2000-11-11 2001-11-09 Procede pour realiser une communication intertaches dans un systeme de fonctionnement informatique multitaches Expired - Fee Related FR2817634B1 (fr)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE2000156046 DE10056046A1 (de) 2000-11-11 2000-11-11 Verfahren zur Realisierung einer Intertask-Kommunikation in einem Multitasking-Betriebssystem

Publications (2)

Publication Number Publication Date
FR2817634A1 true FR2817634A1 (fr) 2002-06-07
FR2817634B1 FR2817634B1 (fr) 2007-06-08

Family

ID=7663026

Family Applications (1)

Application Number Title Priority Date Filing Date
FR0114525A Expired - Fee Related FR2817634B1 (fr) 2000-11-11 2001-11-09 Procede pour realiser une communication intertaches dans un systeme de fonctionnement informatique multitaches

Country Status (3)

Country Link
DE (1) DE10056046A1 (fr)
FR (1) FR2817634B1 (fr)
IT (1) ITMI20012343A1 (fr)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111108471A (zh) * 2017-09-19 2020-05-05 标致雪铁龙汽车股份有限公司 用于确保机动车辆的多核处理器的数据的稳定性的方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5442789A (en) * 1994-03-31 1995-08-15 International Business Machines Corporation System and method for efficiently loading and removing selected functions on digital signal processors without interrupting execution of other functions on the digital signal processors
US5884072A (en) * 1990-01-30 1999-03-16 Johnson Service Company Networked facilities management system with updated data based on aging time
CA2360040A1 (fr) * 1999-01-29 2000-08-03 Siemens Aktiengesellschaft Procede d'acces securise a au moins une variable dans un systeme de processeur commande en mode multitache preamptif

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0365728B1 (fr) * 1988-10-28 1993-12-29 International Business Machines Corporation Accès aux ressources pour système à multiprocesseurs
US5278986A (en) * 1991-12-13 1994-01-11 Thinking Machines Corporation System and method for compiling a source code supporting data parallel variables

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5884072A (en) * 1990-01-30 1999-03-16 Johnson Service Company Networked facilities management system with updated data based on aging time
US5442789A (en) * 1994-03-31 1995-08-15 International Business Machines Corporation System and method for efficiently loading and removing selected functions on digital signal processors without interrupting execution of other functions on the digital signal processors
CA2360040A1 (fr) * 1999-01-29 2000-08-03 Siemens Aktiengesellschaft Procede d'acces securise a au moins une variable dans un systeme de processeur commande en mode multitache preamptif

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111108471A (zh) * 2017-09-19 2020-05-05 标致雪铁龙汽车股份有限公司 用于确保机动车辆的多核处理器的数据的稳定性的方法

Also Published As

Publication number Publication date
DE10056046A1 (de) 2002-05-23
FR2817634B1 (fr) 2007-06-08
ITMI20012343A1 (it) 2003-05-08

Similar Documents

Publication Publication Date Title
EP0030504B1 (fr) Dispositif de synchronisation et d'affectation de processus entre plusieurs processeurs dans un système de traitement de l'information
WO2002039277A1 (fr) Procede de securisation rendant deterministe l'execution en temps reel d'applications multitaches du type controle-commande avec confinement d'erreur
FR2821193A1 (fr) Dispositif de conception d'interface d'utilisateur
EP1719054B1 (fr) Dispositif a memoire virtuelle partagee auto-administree apte a gerer au moins un flux de donnees multipiste
FR2969334A1 (fr) Module materiel de securite et procede de debogage d'un tel module
FR2713368A1 (fr) Procédure et procédé de communication entre machines et procédé généralisé de préparation de programmes afférents.
FR3047821A1 (fr) Procede et dispositif de gestion d'un appareil de commande
FR2742892A1 (fr) Systeme de protection de logiciel pour ordinateur ecrit en langage interprete
FR2765706A1 (fr) Lecteur de cartes a puces a protocole de transmission rapide
CH621201A5 (fr)
EP2585931B1 (fr) Dispositif, chaine et procédé de traitement de données, et programme d'ordinateur correspondant
FR2817634A1 (fr) Procede pour realiser une communication intertaches dans un systeme de fonctionnement informatique multitaches
EP1341087B1 (fr) Procédé et système de gestion d'un journal personnel d'évènements
EP2278466A1 (fr) Dispositif et procédé pour l'exécution distribuée de traitements de données numériques
EP1012710A1 (fr) Procede de chargement d'un programme d'utilisation dans un support a puce
EP0407295B1 (fr) Procédé d'observation de l'exécution d'un programme chargé dans un système informatique et dispositif pour la mise en oeuvre dudit procédé
EP3881515A1 (fr) Système de supervision formelle de communications
FR2475763A1 (fr) Processeur numerique a structure pipeline
EP0112427B1 (fr) Dispositif de commande logique programmable
CA2067890A1 (fr) Procede et dispositif de selection d'informations utilisables par une unite locale reliee a un systeme de transmission numerique
EP0557197B1 (fr) Système de partage de temps d'accès à une mémoire partagée entre un processeur et d'autres applications
EP3874368B1 (fr) Executer des portions de code sur des ressources d´execution
FR2866729A1 (fr) Dispositif a memoire virtuelle partagee auto-administree apte a gerer au moins un flux de donnees multipiste
EP0017585A1 (fr) Procédé et système d'exploitation d'une mémoire adressable permettant d'associer à volonté des extensions aux données contenues dans la mémoire
FR3118815A1 (fr) Estimation de la progression de l'exécution d'une tâche logicielle

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 15

PLFP Fee payment

Year of fee payment: 16

ST Notification of lapse

Effective date: 20180731