Ticket #84 (new Feature)

Opened 16 years ago

Last modified 16 years ago

Increase flexibility to describe AADL data usage by threads

Reported by: P. Dissaux (Ellidis) Owned by:
Priority: major Milestone: Unknown
Component: framework Version:
Keywords: Cc:

Description (last modified by jlegrand) (diff)

Increase flexibility to describe AADL data usage by threads.
See the text bellow (in french).


  1. Dans la version précédente la property Critical_Section s'appliquait à un Data. Désormais, elle s'applique au Process. Tu aurais pu la garder sur la déclaration des subcomponent Data du Process:

process implementation P.I
subcomponents

T1 : thread T;
T2 : thread T;
D0 : data D { Cheddar_Properties::Critical_Section => ( "T1", "2", "2", "T2", "4", "5" ); };

end P.I;

Ou bien considérer que cela fait partie de la déclaration de chaque Thread subcomponent

process implementation P.I
subcomponents

T1 : thread T { Cheddar_Properties::Critical_Section => ( "D0", "2", "2" ); };
T2 : thread T { Cheddar_Properties::Critical_Section => ( "D0", "4", "5" ); };
D0 : data D;

end P.I;

Voire à considérer que dans ce cas, cela fait pleinement partie de
l'implémentation du thread:

process implementation P.I
subcomponents

T1 : thread T.I1;
T2 : thread T.I2;
D0 : data D;

end P.I;

thread implementation T.I1
properties

Cheddar_Properties::Critical_Section => ( "D0", "2", "2"); };

end T.I1;

thread implementation T.I2
properties

Cheddar_Properties::Critical_Section => ( "D0", "4", "5"); };

end T.I2;

Enfin, cela pourrait aussi judicieusement porter sur la data access:

process implementation P.I
subcomponents

T1 : thread T;
T2 : thread T;
D0 : data D;

connections

data access D0 -> T1.S {Cheddar_Properties::Critical_Section => ( "2", "2"); };
data access D0 -> T2.S {Cheddar_Properties::Critical_Section => ( "4", "5"); };

end P.I;

thread T
features

S : requires data access D

end T;

  1. A quoi correspondent exactement les intervalles de temps spécifiés (à partir de quelle origine et avec quel pas ?).

La dernière solution ci-dessus permettrait d'utiliser un Time_Range plus explicite

Critical_Section: Time_Range applies to ( access connections );
(ou un list of Time_Range si on souhaite accéder plusieurs fois à la même donnée)

Voilà pour aujourd'hui, (dis moi si j'ai rien compris)

Pierre


Change History

comment:1 Changed 16 years ago by jlegrand

  • Description modified (diff)
Note: See TracTickets for help on using tickets.