120 likes | 220 Views
LaBRI / IRCCYN. Dassault. ARBoost. Méthodes formelles. Analyse de fiabilité. Disponibilité de production. Model cheking, Lustre Ext. Temps Réel. Arbre de Déf. Génération de Seq. Markov, Sim. Sto. AdD, Gén.de Seq. AltaRica (2000). Full AltaRica Lustre AltaRica RealTime AltaRica.
E N D
LaBRI / IRCCYN Dassault ARBoost Méthodesformelles Analyse de fiabilité Disponibilitéde production Model cheking, LustreExt. Temps Réel Arbre de Déf. Génération de Seq. Markov, Sim. Sto. AdD, Gén.de Seq. AltaRica (2000) Full AltaRicaLustre AltaRicaRealTime AltaRica AltaRica Ocas AltaRica OTools AltaRica DataFlow Norme modulaire (2004)
Points concernant le langage clause init clause extern opérateurs attributs (visibilité, orientation, …) synchronisations priorités Extensions XML Graphique Vers une norme Modulaire
clause init init-cls ::=init (init-def ;)+ init-def ::= hierarchy-path := expression Redéfinition dans la hiérarchie Clause init
extern-decl::=IDENTIFIER extern-term = extern-term::=IDENTIFIER extern-term extern-term::= constante::=STRING::=IDENTIFIER( extern-term (, extern-term)* )::={ extern-term (, extern-term)* }::=<flow hierarchy-path >::=<state hierarchy-path >::=<event hierarchy-path >::=<sub hierarchy-path >::=<local hierarchy-path >::=<term( expression )> Clause extern
node component extern law <event a> = exponential(<local lbd>) ; unobservable {<event a>, <event b>} ; property good = <term (output >= 12)> ; edon node main sub c:component; edon law <event C.a> = exponential(<local C.lbd>) ; unobservable <event C.a> = true ; unobservable <event C.b> = true ; property good = <term (C.output >= 12)> ; Clause extern
Loi de probabilité law {<event a>, <event b>} = exponential(0.001); constant(probability) exponential(lambda) GLM(gamma, lambda, mu) Weibull(alpha, beta, t0) periodic-test(lambda, period, t0) Dirac(delay) Paramètres nommés parameter lambda= 0.001; parameter <local A.B.lambda> = uniform(0.1,0.2); constante uniform(min-value, max-value) normal(mean, standard-deviation) lognormal(mean, error-factor) Clause extern
Clause extern • Prédicats, propriétés, observateurs predicate production52 = <term (production=52)>; property prod = <term (A.production+B.production)>; observer mean_prod = weighted_value(<term production>); • Verrous • locker <term (C.failed)>
Syntaxe :IDENTIFIER (,IDENTIFIER)* Utilisation Visibilité des flux, state, event public, parent, private affecte la mise à plat Orientation des flux (in, out) Attributs
Identificateurs ajouter le ^ (mise à plat) Opérateurs arithmétiques min, max Switch Appels à des routines externes %nom-de-fonction Opérateurs
Synchronisations “à la Mec” Diffusion Synchronisations relationnelles <Start: M.start and (S1.start or S2.start)>; GM |- M.start -> sM := expM; GS1 |- S1.start -> sS1 := expS1; GS2 |- S2.start -> sS2 := expS2; GM and (G1 or G2) |- Start -> SM := expM, sS1 := if (GS1) then expS1 else sS1, sS2 := if (GS2) then expS2 else sS2; DCC Synchronisations
Priorités • Ordres partiels • Entiers