• Keine Ergebnisse gefunden

Spezifikation von Ereignissen und Verhalten

4.3 Formalisierung der Verhaltens-Bestimmung

4.3.3 Spezifikation von Ereignissen und Verhalten

In diesem Abschnitt werden Ereignisse, Ereignis-Muster, Verhalten und Verhal-tens-Muster formal dargestellt. Zun¨achst werden die Mengen aller Ereignisse und Ereignis-Muster eingef¨uhrt. Darauf aufbauend werden die Mengen der Verhalten und Verhaltens-Muster definiert. Abschließend werden die Beziehun-gen zwischen den eingef¨uhrten Ereignissen, Ereignis-Mustern, Verhalten und Verhaltens-Mustern beschrieben.

Zuvor werden noch die Mengen der Namen f¨ur Ereignisse, Ereignis-Muster, Verhalten und Verhaltens-Muster eingef¨uhrt.

12Die beiden mittleren Ebenen k¨onnen auch in ihrer Reihenfolge vertauscht werden. So entscheidet sich ein Kicker bei einem Paß meist erst f¨ur einen Empf¨anger bevor er sich f¨ur eine der Paß-Auspr¨agungen entscheidet.

58 Die Verhaltens-Bestimmung

NE ist die Menge der Namen f¨ur Ereignisse und Ereignis-Muster. Die Elemente dieser Menge sind dabei beliebige Zeichenfolgen. Einige Namen wurden bereits in Abschnitt 4.2 bei der Erarbeitung des Verhaltens-Muster Paß eingef¨uhrt, andere werden in Abschnitt 4.4 bei der Erarbeitung anderer Verhaltens-Muster folgen.

NB ist die Menge der Namen f¨ur Verhalten und Verhaltens-Muster, deren Ele-mente beliebige Zeichenfolgen sind. Bzgl. der Einf¨uhrung der Namen gilt das gleiche wie bei der Menge NE.

Die Menge aller Teilmengen einer MengeM, die sogenannte Potenzmenge wird mit 2M bezeichnet.

4.3.3.1 Ereignisse und Ereignis-Muster

Im letzten Abschnitt wurden Ereignisse durch einen Namen und einen Tupel von Werten definiert. Die Werte k¨onnen dabei Elemente der Mengen: Spieler-Agenten (P), Zeitpunkte (T), und Vektoren (V) sein. Ereignisse mit verschie-denen Namen haben dabei i.A. eine unterschiedliche Anzahl von Werten mit verschiedenden Wertebereichen. So haben z.B. die Ereignisse mit dem Namen XBallControl2 3 Werte aus den Wertebereichen P, T, und T, wohingegen die Ereignisse mit dem Namen sameTeam nur 2 Werte aus den Wertebereichen P und Phaben. Die f¨ur diese Arbeit ben¨otigten Ereignisse bestehen aus

• einem Namenname∈NE,

• keinem, einem, oder zwei Spieler-Agenten p ∈P bzw. keiner, einer, oder zwei Mengen von Spieler-Agenten13 P ∈2P,

• keinem, einem, oder zwei Zeitpunkten t∈T, und

• keinem oder einem Vektor v∈V.

Dabei muß ein Ereignis mindestens einen Wert neben dem Namen aufweisen.

Da Ereignisse mit dem selben Namen die gleiche Anzahl an Werten mit gleichen Wertebereichen haben sollen (siehe Bemerkung im letzten Abschnitt unter Definition 4.1 auf Seite 55), werden zuerst die Mengen aller Ereignis-Wertetupel mit dem Namenname∈NEeingef¨uhrt. Darauf aufbauend werden die Menge aller Ereignisse und die Menge aller Ereignis-Muster definiert.

eventTupelname bezeichnet die Menge aller Ereignis-Wertetupel mit dem Namen name∈NE. Dabei gilt

eventTupelname⊆Pi× 2Pj

×Tk×Vl

wobei i, j, k∈ {0,1,2}, l∈ {0,1}, i+j+k+l≥1, i= 0∨j= 0.

(4.1) Ein Index iim Exponent einer Menge stellt dabei das i-fache Kreuzpro-dukt dieser Menge dar.

13Mengen von Spieler-Agenten werden z.B. bei den Ereignissen des Abseits-Verhaltens ben¨otigt.

4.3 Formalisierung der Verhaltens-Bestimmung 59

Mit den Wertebereichen f¨ur die Exponenten i, j, k, undl werden die un-terschiedlichen Bestandteile aus der obigen Aufz¨ahlung f¨ur die Ereignisse bereitgestellt. Die Bedingung i+j +k+l ≥ 1 stellt sicher, daß je-des Ereignis-Wertetupel minje-destens einen Wert aufweist. Die gew¨unschte Ausschließlichkeit von Spieler-Agenten und Mengen von Spieler-Agenten f¨ur Ereignisse wird durch den Ausdrucki= 0∨j= 0 erreicht.

F¨ur jeden Namenname haben die Indizesi, j, k, und lbestimmte Werte, d.h. die Indizes sind durch den Namen definiert. Alle Ereignis-Wertetupel valueSeq ∈eventTupelname haben damit die gleiche Anzahl an Werten und die gleichen Wertebereiche.

Jede Ereignis-Wertetupel-MengeeventTupelnameist dabei eine Teilmen-ge des Kreuzproduktes Pi × 2Pj

×Tk ×Vl. Die Teilmenge ist durch den Namen (die Bedeutung) der Ereignis-Wertetupel-Menge bestimmt.

So enth¨alt die Menge der Ereignis-Wertetupel eventTupelsameT eam nur die Paare vonP×P, bei denen beide Spieler zum selben Team geh¨oren.

F¨ur die Menge der Ereignis-WertetupeleventTupelballFree haben die Ex-ponenteni, j, undlden Wert 0 und der Exponentkden Wert 2, es gilt also eventTupelballFree ⊆ T2 = T×T. Damit ist jedes Ereignis-Wertetupel valueSeq ∈ eventTupelballFree ein Element von T×T. Die Ereignis-Wertetupel-MengeeventTupelballFree ist dabei die Teilmenge von T×T, die alle Zeitpunkt-Paare enth¨alt, bei denen der erste Zeitpunkt kleiner oder gleich dem zweiten Zeitpunkt ist.

events bezeichnet die Menge allerEreignisse. Ein Ereignis besteht aus einem Namen und einem Tupel von Werten (vgl. Definition 4.1 auf Seite 55).

Der Name ist ein Element der Menge NE. Der Wertetupel ist durch ein Element der entsprechenden Ereignis-Wertetupel-MengeeventTupelname bestimmt.

events=

name(valueSeq) :name∈NE,

valueSeq ∈eventTupelname (4.2) Damit ist z.B. XBallControl2(mp7,224,225) ein Ereignis aus der Menge events.

eventPatterns bezeichnet die Menge aller Muster. Ein Ereignis-Muster EP ∈ eventPatterns repr¨asentiert alle Ereignisse gleichen Na-mens (vgl. Definition 4.2 auf Seite 56). Dies gilt f¨ur Ereignis-Muster EP = name(eventTupelname) mit name ∈ NE. Damit ergibt sich die Menge aller Ereignis-Muster als

eventPatterns=

name(eventTupelname) : name∈NE . (4.3) Das Ereignis-Muster EP = ballFree (eventTupelballFree) repr¨asentiert beispielsweise alle Ereignisse E = ballFree (valueSeq) mit valueSeq ∈ eventTupelballFree ⊆T×T.

Ein Ereignis-Muster kann ebenso mit Attributen beschrieben werden. Wir verwenden deshalb auch die Attributsbezeichnung und benennen z.B. das Ereignis-Muster ballFree (eventTupelballFree) auch mit ballFree (ti, tj).

60 Die Verhaltens-Bestimmung

Die Mengen f¨ur Ereignisse und Ereignis-Muster wurden aufbauend auf den Mengen der Ereignis-Wertetupel definiert.

events=

name(valueSeq) : name∈NE, valueSeq∈eventTupelname eventPatterns=

name(eventTupelname) : name∈NE

Damit beschreibt jedes Ereignis-Muster EP = name(eventTupelname) ei-ne Ereignismenge {E1, . . . En} mit Ei = name(valueSeqi) und valueSeqi ∈ eventTupelname. Jedes dieser Ereignisse Ei wird durch das Ereignis-Muster EP repr¨asentiert. Diese Beziehung wird im folgenden mit Ei ∈∈ EP gekenn-zeichnet.

4.3.3.2 Verhalten und Verhaltens-Muster

Wie schon das Verhaltens-Muster Paß durch eine Sequenz von Bedingungen und damit durch eine Sequenz von Ereignis-Mustern festgelegt wurde (siehe Verhaltens-Muster 2 auf Seite 51 und Abschnitt 4.3.1 auf Seite 55), werden auch alle anderen Verhaltens-Muster durch eine Sequenz von Ereignis-Mustern definiert.

Zwischen den Attributen der Ereignis-Muster eines Passes wurden einige Va-riablenbindungen durchgef¨uhrt. Diese m¨ussen formal abgebildet werden. Dazu werden Unifikatoren definiert, wobei ein Unifikator zwei bestimmte Attribute zweier Ereignis-Muster miteinander bindet. Danach f¨uhren wir die Verhaltens-mengen analog den EreignisVerhaltens-mengen ein, d.h. wir beginnnen mit der Definition der Mengen aller Verhaltens-Wertetupel mit dem Namen name ∈NB. Ausge-hend von dieser Definition wird die Menge aller Verhalten und die Menge aller Verhaltens-Muster eingef¨uhrt.

uni ist die Menge aller Unifikatoren, wobei ein Unifikatoru ∈uni ein Qua-drupel nat¨urlicher Zahlen ist, u= (i, j, k, l) mit i, j, k, l∈N.

uni=N×N×N×N (4.4)

Die Unifikatoren werden zur Variablenbindung zwischen den einzelnen Ereignis-Mustern EPh ∈ eventPatterns (h= 1, . . . , n) einer Ereignis-Muster-Sequenz EP = (EP1, . . . EPn) genutzt. Dabei bedeutet ein Uni-fikator u= (i, j, k, l), daß die j-te Variable von Ereignis-Muster EPi mit der l-ten Variable von Ereignis-Muster EPk gebunden ist, d.h. die ent-sprechenden Variablenwerte m¨ussen identisch sein. Eine Menge von Uni-fikatoren U ⊂unidefiniert eine Menge von solchen Variablenbindungen.

behaviorTupelname bezeichnet die Menge aller Verhaltens-Wertetupelmit dem Namenname∈NB. Die Verhaltens-Wertetupel-Menge ist durch eine Sequenz von Ereignis-Mustern EP = (EP1, . . . EPn) ∈ eventPatternsn und durch eine Menge von Unifikatoren U ⊂unidefiniert. Die Sequenz (inklusive dessen Stelligkeit) und die Menge sind dabei durch den Namen

4.3 Formalisierung der Verhaltens-Bestimmung 61

name eindeutig festgelegt. EP wird als Ereignis-Muster-Sequenz undU als Unifikator-Menge vonbehaviorTupelname bezeichnet. Es gilt

behaviorTupelname=n

(E1, . . . , En) :Eh∈∈EPh, h= 1, . . . , n,

∀(i, j, k, l)∈U :Ei.j =Ek.lo ,

mit fixiertenEP = (EP1, . . . EPn)∈eventPatternsn, U ⊂uni.

(4.5) Der Ausdruck Ei.j bezeichnet dabei das j-te Element vj des Ereignis-Wertetupels von EreignisEi =namei(v1, . . . , vm).

Ein Verhaltens-Wertetupel eventSeq ∈ behaviorTupelname besteht da-mit aus einer Sequenz von Ereignissen eventSeq = E = (E1, . . . , En).

Jedes Ereignis Eh (h= 1, . . . , n) wird dabei durch ein entsprechendes Ereignis-MusterEPh repr¨asentiert,Eh ∈∈EPh.

Durch die Unifikatoren (i, j, k, l) ∈ U wird die Menge aller Ereignis-Sequenzen {(E1, . . . , En) : Eh ∈∈ EPh, h = 1, . . . , n} auf eine Teilmenge eingeschr¨ankt.

Die Verhaltens-Wertetupel-MengebehaviorTupelballTransfer ist beispiels-weise durch die Sequenz von Ereignis-Mustern EPballTransfer und durch die UnifikatormengeUballTransfer definiert.

EPballTransfer = XBallControl2(p1, t0, t1),ballFree (t2, t3),

XBallControl1(p2, tn, tn),follow (ti, tj),follow (tk, tl) UballTransfer =

(1,3,4,1),(2,1,4,2),(2,2,5,1),(3,2,5,2)

Mit der UnifikatormengeUballTransfer werden die ben¨otigten Variablenbin-dungent1 =ti,t2=tj,t3=tk,tn=tlrealisiert. Damit fehlt nur noch der Name, damit die Verhaltens-Wertetupel-MengebehaviorTupelballTransfer

dem Verhaltens-Muster Balltransfer (Verhaltens-Muster 1 auf Seite 46) entspricht.

behaviors bezeichnet die Menge allerVerhalten. Jedes Verhalten besteht aus einem Namenname∈NBund einer Sequenz von EreignisseneventSeq∈ behaviorTupelname.

behaviors=

name(eventSeq) : name∈NB,

eventSeq ∈behaviorTupelname (4.6) Ein Beispiel f¨ur ein VerhaltenB des Verhaltens-Muster Balltransfer ist

B = ballTransfer XBallControl2(mp7,224,225),ballFree (226,231), XBallControl1(mp9,232,232),follow (225,226), follow (231,232)

62 Die Verhaltens-Bestimmung

behaviorPatterns bezeichnet die Menge allerVerhaltens-Muster. Alle Ver-halten mit den gleichen Namen werden durch dasselbe VerVer-haltens-Muster BP ∈behaviorPatterns repr¨asentiert (vgl. Definition 3.6 auf Seite 35).

Dies gilt f¨ur Verhaltens-Muster BP = name(behaviorTupelname) mit name∈NB. Daraus resultiert die Menge aller Verhaltens-Muster

behaviorPatterns=

name(behaviorTupelname) :

name∈NB . (4.7) Mit BP = ballTransfer (behaviorTupelballTransfer) ist also formal das Verhaltens-Muster Balltransfer beschrieben.

Die beiden Mengen f¨ur Verhalten und f¨ur Verhaltens-Muster wurden auf-bauend auf den Mengen der Verhaltens-Wertetupel eingef¨uhrt.

behaviors=

name(eventSeq) : name∈NB, eventSeq ∈behaviorTupelname behaviorPatterns=

name(behaviorTupelname) : name∈NB

Jedes Verhaltens-Muster BP = name(behaviorTupelname) beschreibt eine Verhaltensmenge {B1, . . . , Bm} mit Bi = name(eventSeqi) und eventSeqi ∈ behaviorTupelname. Damit ist jedes dieser VerhaltenBi durch das Verhaltens-Muster BP repr¨asentiert. Diese Beziehung zwischenBi und BP wird im fol-genden mit Bi ∈∈BP gekennzeichnet.

4.3.3.3 Beziehungen zwischen Ereignissen und Verhalten sowie ihrer Muster

In den letzten beiden Abschnitten wurden die Mengen der Ereignisse, der Ereignis-Muster, der Verhalten, und der Verhaltens-Muster aufeinander aufbau-end definiert. Diese Definitionen erfolgten so, daß: Ereignisse (E=namee(. . .), namee ∈ NE) durch Ereignis-Muster (EP = namee(. . .)) repr¨asentiert sind (E ∈∈ EP), Verhaltens-Muster (BP = nameb(. . .), nameb ∈ NB) u.a. durch eine Sequenz von Ereignis-Mustern definiert sind (BP defniert durch EP = (EP1, . . . EPn)), und Verhalten (B =nameb(. . .)) einerseits durch Verhaltens-Muster repr¨asentiert sind (B ∈∈BP) und andererseits eine Sequenz von Ereig-nissen darstellen (B=nameb(E1, . . . En)).

Die Beziehungen zwischen diesen vier Mengen sind in Abbildung 4.8 auf der n¨achsten Seite als ERM (Entity-Relationship-Model) wiedergegeben. Im obe-ren Teil jeder ovalen Box (Entity) wird ein Beispiel-Element gezeigt. Im unteobe-ren Teil wird die Beziehung dieses Element zu den Elementen der anderen Mengen wiedergegeben. Die zahlenm¨aßige Beziehung wird durch das Relationssymbol

♦ und durch die Kardinalit¨aten (a, b) dargestellt. Folgende zahlenm¨aßige Be-ziehungen gelten zwischen den vier Mengen:

• 1 Ereignis-Muster repr¨asentiert 0 bis m Ereignisse ((0,∗)),

• 1 Verhaltens-Muster wird durch 2 bis n Ereignis-Muster definiert ((2,∗)),

4.3 Formalisierung der Verhaltens-Bestimmung 63

Abbildung 4.8: Beziehungen zwischen Ereignissen, Ereignis-Mustern, Verhalten und Verhaltens-Mustern als ER-Model

• 1 Verhaltens-Muster repr¨asentiert 0 bis k Verhalten ((0,∗)),

• 1 Verhalten besteht aus 2 bis n Ereignissen ((2,∗)),

• 1 Ereignis wird durch genau ein Ereignis-Muster repr¨asentiert ((1,1)),

• 1 Ereignis-Muster kann an der Definition von 0 bis p Verhaltens-Muster beteiligt sein ((0,∗)),

• 1 Verhalten wird durch genau ein Verhaltens-Muster repr¨asentiert ((1,1)), und

• 1 Ereignis kann zu 0 bis q Verhalten geh¨oren ((0,∗)).

Prinzipiell ist es auch m¨oglich Ereignis-Muster bzw. Verhaltens-Muster zu definieren, die keine Ereignisse bzw. Verhalten repr¨asentieren. Dies kann durch die Erzeugung eines Widerspruches bei der Definition passieren. Ereignis-Muster bzw. Verhaltens-Ereignis-Muster sind allerdings nur sinnvoll, wenn sie minde-stens ein Ereignis bzw. Verhalten repr¨asentieren.

F¨ur die zahlenm¨aßigen Beziehungen lassen sich leicht Beispiele angeben. So ist z.B. das Verhaltens-Muster ballTransfer durch 5 Ereignis-Muster definiert.

Das Ereignis-Muster XBallControl2 ist an der Definition mehrerer Verhaltens-Muster wie z.B. Paß und BallTransfer beteiligt.