
10-11-2008
|
|
Forum Robot Girl
|
|
|
Join Date: Sep 2000
Inlägg: 22.183
|
|
|
Mer om semantik och ras villkor
2008-10-11T09: 01:00.011 +02:00
I tidigare meddelanden Jag har ställt följande sceanario:
Med tanke på den enkla tillämpningen visas nedan:
- Det är en enskild händelse källa (så ingen klocka synkroniseringsproblem) som genererar händelser av tre typer E1, E2, E3.
- Låt oss också säga att i vår historia finns det en enda händelserna av varje typ som offentliggörs (så inga synonymer frågor) visar tabellen Förekomst Temne (när de inträffade i verkligheten) och upptäckt Temne (när de har rapporterats till systemet ) - var och en av dem har rapporterats 1 Temne enhet efter händelsen, ingen ny beställning problem.
- Åtgärd E1, E2 tjäna som en ingång till en EPA av typen "mönster upptäckt", som upptäcker en temporal sekvens mönster "e1 innan e2", och när detta upptäcks, det kommer en händelse E4 - vissa funktioner E1 och E2.
- Evenemang e3 (rå händelse) och E4 (som händelse) fungera som input till en annan EPA av typen "mönster upptäckt", som en gång upptäcker en temporal sequences mönster "e3 innan e4", om detta mönster upptäcks - skapa händelsen E5 som stimulerar vissa åtgärder hos konsumenterna.
Jag har också ställt frågan är - med tanke på ovan - att den åtgärd som utlöses av e5 inträffa?, Det vill säga att mönstret - "e3 före e4" utvärderas till sant?
Jag fick några svar på denna och du kan läsa dem som kommentarer till det ursprungliga meddelanden, som lovade jag ägnar detta inlägg för att analysen av denna enkla fråga:
Det första vi måste diskutera är semantik "temporal sekvens". Det finns två möjliga typer av semantik för temporal sekvens, som jag kallar "upptäckt Temne semantik" och "händelser Temne semantik".
- Detektion Temne semantik genomförs på olika språk och innebär att tiden för hör till ordningen för Temne-frimärken där "händelse bearbetning plattform" upptäcker att detta uppstår, om det inte finns en enda tråd av en sådan upptäckt, sedan händelserna är helt beställt, annars kan det finnas flera händelser med samma "upptäckt tidsstämpel".
- Förekomsten Temne semantik också genomföras på olika språk innebär att tiden för hör till ordningen för Temne-frimärken som ges som en del av evenemanget information och utse - när denna händelse hände i verkligheten. Det finns några komplicerade synkronisering av temne i flera tillverkare miljön, men i detta exempel antar vi en och samma producent (Jag ska skriva om flera tillverkare fall i en annan meddelanden).
- Observera att detta två för förbindelserna får inte vara identiska.
- Det finns också slags hybridlösning (totalt för semantics ") - den semantik är verkligen" upptäckt Temne "semantik, men så att händelser som anländer lite sent att ta sin roll, händelserna är kö på en buffert (och inte som upptäcks) till time-out för att låta "ur funktion" händelser att komma fram och åter för bufferten och sedan sända evenemang enligt bufferten ordning.
Få tillbaka till exempel - i det lilla bordet på den nedre vänstra sidan av bilden ovan finns förekomst och upptäckt gånger i E1, E2, E3. För e4 det bara upptäckt Temne - e4 skiljer sig från (e1, e2, e3) av det faktum att det är en sekundär händelse och inte rå händelse som de andra tre. Frågan är "vad som är förekomsten Temne av en härledd händelse"? - Det finns inga tydliga svar på det - det finns flera möjliga svar:
- I härrör fall gäller förekomsten Temne \u003d upptäckt temne, eftersom denna händelse är inte verklig händelse, utan ett virtuellt och därmed dess källa är EPA som skapar den, och det inträffade när skapats. I vårt fall betyder det att occurence-Temne (e4) \u003d 4.
- Dess förekomst Temne är förekomsten Temne av den senaste händelsen som fullbordade Mönstret - eftersom de deltagande händelser i skapandet av E4 är (e1, e2) och e2 var den sista som fullbordade mönster, händelser Temne (e4) \u003d händelse - temne (e2) \u003d 2
- Interval semantik: Evenemanget e4 inträffar i intervallet där samtliga deltagare uppträder som detta fall innebär händelser Temne (e4) \u003d [1, 2].
Fenomenet med flera semantiska tolkningar gäller för flera andra semantiska beslut i den semantiska evenemangstyp bearbetning språk, och det bästa lösningen är att ge användaren den semantiska "finjustera" politik, där användaren kan välja önskad semantik, i stället för " hårt koden "en viss semantik (med hjälp av den mest gemensamma en som standard), är detta en av fördelarna med att använda COTS för händelsen behandling, eftersom det är ganska svårt att tänka på dessa frågor när de utvecklar EP manuaully med konventionella språket.
Den semantik av andra "temporal sekvens" (E3, E4) är alltså:
- Enligt "upptäckt Temne" semantics - båda har upptäckt-Temne 4. Som sådan sekvensen villkor inte är uppfyllda. Men om vi införa total ordning med en enda tråd, detta kan skapa ras villkor mellan de två händelserna. I detta fall rekommenderas det att använda en konsekvent prioriterade politiska - antingen bredd första (outspädda händelse alltid kommer i första hand) eller djup första (av härledda händelse alltid kommer först) för att säkerställa deterministiska resultat.
- Enligt "förekomst Temne" - det beror på den politik som väljs, men enligt alla interprerations - E4 innan E3 - alltså den tidsmässiga ordningsföljden inte är nöjd.
Bottome linje: den tidsmässiga följd (E3, E4) är övertygad om:
- Den tidsmässiga semantik är upptäckt temne
- Det genomförs av totalt för
- Den totala syfte är "bredden först" - det vill säga prioritet för rå händelser.
I alla andra fall temporal sekvens kommer inte att vara nöjda och konsekvens åtgärder inte kommer att verkställa.
Källa ...
|