Home

Handbuch Petri-Netz Editor 1.0

image

Contents

1. pi I ti p O t 6 4 8 fur alle p P Definition 6 4 8 Reachability Set Das Reachability Set R Nm f r ein markiertes Petri Netz Nm P T I O Uo mit der Anfangs markierung u ist die kleinste Menge der Markierungen die sich folgenderma en zusammensetzt 1 Ho R Nm 2 falls ue R Nm und weiters fur eine beliebige Transition t T gilt p ti dann ist auch u e R N Definition 6 4 9 Relationf Eine Markierung p ist einer Markierung u hnlich u f y falls folgende Relationen zutreffen u p 2 u p f r alle Stellen pj P und H P gt H p f r mindestens eine Stelle p P 6 4 9 Definition 6 4 10 Positive Kommunikationslinie Die Transition kann nur feuern wenn in der Eingangsstelle p mindestens eine Marke vorhanden ist ber die Kommunikationslinie erfolgt ein Ansto an die Transition t jedoch ohne dass aus der Stelle p eine Marke abgezogen wird Positive Kommunikationslinien werden durch strichlierte Kanten darge stellt die durch ein gekennzeichnet werden Definition 6 4 11 Negative Kommunikationslinie Die Transition kann nur feuern wenn in der Eingangsstelle p keine Marke vorhanden ist Auch in diesem Fall erfolgt kein Markentransport sondern nur eine Aktivierung der Transition t Negative Kom munikationslinien werden durch strichlierte Kanten dargestellt die durch ein gekennzeichnet werden Definition 6 4 12 Erweiterte Anz
2. Neue Lampe links von selektierter Lampe einf gen Neue Lampe rechts von selektierter Lampe einf gen Selektierte Lampe entfernen Eigenschaften der Lampe anzeigen Lampenanzeige aktualisieren Abb 10 Kontextmen Erweiterungsbereich und Lampe n Lampeneinstellungen Text Ethyibenzol Aniage Liste aller Trigger Elemente welche die Lampe einschalten Liste aller Trigger Elemente welche die Lampe ausschalten Abb 11 Lampeneinstellungen 3 Entwurfsmodus In diesem Modus k nnen Petri Netze entworfen und ver ndert werden 3 1 Auswahl Selektionsmodus Im Selektionsmodus werden Elemente bzw Strukturen der Zeichenfl che ausge w hlt Selektierte Elemente k nnen e durch einfaches Anklicken und Ziehen auf der Zeichenfl che verschoben e durch Ausschneiden oder Kopieren in die Zwischenablage transferiert e durch L schen entfernt werden 3 2 Stelle einf gen Abb 12 Ansichten einer Stelle normal und selektiert Wenn der Stellen Modus aktiviert ist wird durch einen Klick auf die Zeichenfl che eine Stelle an dieser Position eingef gt Eine Stelle wird durch einen Kreis dargestellt in welchem die enthaltenen Marken angezeigt werden Bis zu vier Marken werden als Punkte gezeichnet ab 5 Marken wird die Anzahl numerisch angezeigt Ist eine Stelle hinsichtlich ihrer F higkeit Marken aufzunehmen beschr nkt so wird dieser Umstand durch eine Linie aus der Stelle heraus dargestellt und deren maximale Kapa
3. Erweiterte Next state Funktion Die Next state Funktion u t ist f r ein markiertes Petri Netz Nm P T I O u mit der Markierung u und der Transitiont e T dann und nur dann f r alle Stellen p P mit der Kapazit t K definiert wenn gilt gt n und u p p I t p Oflt lt K wenn p l t n u p 21 und H p p O t DISK wenn p I t 6 4 13 0 und u p p Olt lt K wenn p I t Wenn die Transition t aktiviert ist und u t definiert ist dann gilt u t p mit U p p 1 t p O t wenn p I t n U p 4 H P p O t wenn p I t 6 4 14 Hp lr p O t wenn p I t Fur alle p P 6 5 Abbildungen Abb 1 Petri Netz Editor starten Abb 2 Komponenten des Petri Netz Editors Abb 3 Kontextmenu Abb 4 Menu Datei Bearbeiten Petri Netz Fenster und Hilfe Abb 5 Werkzeugleisten mit Datei Bearbeitungs Entwurfs und Simulatorfunktionen Abb 6 StatusZeile Abb 7 Einstellungen 8 Abb 8 Druckvorschau Abb 9 Lampenanzeige Abb 10 Kontextmen Erweiterungsbereich und Lampe Abb 11 Lampeneinstellungen Abb 12 Ansichten einer Stelle normal und selektiert Abb 13 Darstellungen einer Stelle Markenzahl Beschrankung Abb 14 Eigenschaften einer Stelle Abb 15 Ansichten einer Transition normal und selektiert je horizontal und vertikal Abb 16 Eigenschaften einer Transition Abb 17 Ansichten e
4. Netz Editor zieht Verbindungen und Kommunikationslinien automatisch zusammen wenn diese in gleicher Richtung die gleichen Elemente verbinden Es wird somit kein neuer Pfad gezeichnet sondern lediglich das Kantengewicht des vorhandenen Pfads um eins erh ht Abb 22 Pfad mit einem Kantengewicht gt 1 Abb 23 Eigenschaften einer Kommunikationslinie Abb 24 Eigenschaften einer Verbindung 3 6 Beschriftung einf gen Abb 25 Beispiel f r eine Beschriftung Elemente und Strukturen k nnen mit Texten gekennzeichnet bzw der Ablauf beschrieben werden Ein Textbaustein kann beliebig auf der Zeichenfl che positioniert werden Durch einen Doppelklick auf einen bereits selektierten Textbaustein wird dieser in den Editiermodus gebracht Im Eigenschafts Bereich kann der Text jederzeit editiert werden Beschreibungstesxt A Text 4 a Abb 26 Eigenschaften einer Beschriftung 3 7 Lampen hinzuf gen und verkn pfen Um die Lampen anzuzeigen w hlt man zuerst im Kontextmen Anzeige Zeige Lampen Danach im Kontextmen der Lampenanzeige Lampe hinzuf gen Es wird nun eine neue Lampe der Lampenanzeige hinzugef gt Durch einen Doppelklick auf die neue Lampe wird ihr Dialogfenster f r die Lampen einstellungen ge ffnet Siehe auch Punkt 2 9 Lampen F gen sie der Liste Zustand An jene Elemente hinzu welche beim Feuern die Lampe einschalten sollen F gen sie entsprechend der Liste Zustand Aus jene E
5. Public Public Overridable Sub loadXML ByVal reader As System Xml XmlTextReader Overridable Sub saveXML ByVal writer As System Xml XmlTextWriter 6 3 4 6 PNTransition Konstruktor und Einstellungen Public Sub New ByVal engine As PNEngine Streamoperationen Public Public Overridable Sub loadXML ByVal reader As System Xml XmlTextReader Overridable Sub saveXML ByVal writer As System Xml XmlTextWriter TransitionListenerStart Handler Public Public Public Public Public Public Public Sub addTransitionListenerStart ByVal 1 As TransitionListener Sub addTransitionListenerStartAtFirstPos ByVal 1 As TransitionListener Sub removeTransitionListenerStart ByVal 1 As TransitionListener Sub removeAllTransitionListenerStart Function getTransitionListenerStart As ArrayList Function containsTransitionListenerStart ByVal 1 As TransitionListener As Boolean Overridable Sub fireTransitionkFventStart TransitionListenerEnd Handler Public Fuplic Public Public Public Public Public Sub Sub addTransitionListenerEnd ByVal 1 As TransitionListener addTransitionListenerEndAtFirstPos ByVal 1 As TransitionlListener removeTransitionListenerEnd ByVal 1 As TransitionListener removeAllTransitionListenerEnd sus Sub Function getTransitionListenerEnd As ArrayList Function containsTransitionListenerEnd ByVal 1 As TransitionListener As Boolean Overridable Sub fireTransit
6. engine loadFromFile Mein Petri Netz ped Dann werden die Abbruchbedingungen und sonstigen Einstellungen gesetzt und das Petri Netz schlussendlich ausgef hrt engine Abort False engine LogTrace False engine MaxSteps 100000 engine doExecute Die Petri Net Engine ruft nun f r jede gefeuerte Transition die Listener Methoden Public Sub EngineTransitionFiredStart und Public Sub EngineTransitionFiredEnd auf Beiden Methoden wird dabei jene Transition Ubergeben die gerade gefeuert wird Da PNTransition von PNElement abgeleitet ist verf gt die Klasse ber das Attribut ID welche im Petri Netz Editor f r jedes Element vergeben wird und eindeutig sein muss Es kann nun mit Hilfe dieser ID eine Select Anweisung geschrieben werden und derart f r jede Transition individuell verzweigt werden Select Case transition ID Case lampelan Case lampelaus Case lampe2an Case lampe2aus End Select Will man vor der Ausf hrung die Marken von Stellen ver ndern so kann man dies durch engine Marken operandA n Wurden die Marken von Stellen ver ndert so sollte vor einer Ausf hrung unbedingt engine evalFeuerbereiteTransitionen aufgerufen werden um neuerlich alle feuerbereiten Transitionen f r den n chsten Schritt zu berechnen Mittels n engine Marken ergebnis kann die Markenzahl gezielt ausgelesen werden 6 3 3 Beispiele 6 3 3 1 Lampensteuerung mit Spracheingabe s
7. Elementep e l t sonst bzw wie viele Kanten von tj nach p f hren 0 fallsp O t p O t 6 4 3 Anzahlder Elementep O t sonst Definition 6 4 4 Kantengewicht Ist n p I t 0 so sind Kanten von p P nacht T gerichtet Diese n Kanten k nnen in einer Kante mit dem Kantengewicht n zusammengefasst werden Ist hingegen m p O t 0 so f hren m Kanten von t T nach p P Diese m Kanten k nnen ebenfalls in einer Kante mit dem Kantengewicht m zusammengefasst werden Definition 6 4 5 Schaltbedingung Eine Transition t T in einem markierten Petri Netz Nm P T I O u hei t aktiviert wenn f r alle De P gilt pi 2 pi I t 6 4 4 Definition 6 4 6 Feuern einer Transition Ist die Schaltbedingung f r eine Transition ke T in einem gegebenen markierten Petri Netz Nm P T O u erf llt d h ist sie aktiviert so ist das Feuern dieser Transition der Ubergang von der Markierung u zu p die folgenderma en definiert ist U ID pi pi I t pi O t 6 4 5 fur alle p P Definition 6 4 7 Next state Funktion Die Next state Funktion ou t ist f r ein markiertes Petri Netz Nm P T I O u mit der Markierung u und der Transition t T dann und nur dann definiert wenn gilt L pi 2 pi I t 6 4 6 fur alle p P d h t ist aktiviert Wenn u ti definiert ist dann gilt u t p 6 4 7 mit UD H Pi
8. eine Transition feuern kann und Stelle darf h chstens y 1 Marken enthalten damit eine Transition feuern kann werden durch eine Positive Kommunikationslinie mit Kanten gewicht x und eine Negative Kommunikationslinie mit Kantengewicht y realisiert In unserem Fall ben tigen wir zwei Negative Kommunikationslinien mit je einem Kantengewicht von 1 Daraus ergibt sich das folgende Petri Netz die beiden hinzugef gten Negativen Kommunikationslinien sind gr n selektiert Die eine Negative Kommunikationslinie verlauft von der Stelle S1 Operand A hin zur Transition T4 Restmarke B abziehen und blockiert diese solange bis Operand A keine Marken mehr hat Die andere Negative Kommunikationslinie verlauft von der Stelle S2 Operand B hin zur Transition T2 Restmarke A abziehen und blockiert diese solange bis Operand B keine Marken mehr hat Insgesamt gesehen wird also zuerst das Minimum der beiden Operanden in die Ergebnis Stelle geschrieben und danach uber einen Seitenpfad der noch verblei bende Rest hinzugef gt 5 2 2 Testen des Petri Netzes Ein Simulationslauf best tigt unsere Behauptungen und f hrt zu folgendem Ergebnis Be wi E e OperandA c OperandB a a e2 8 Restmarke A abziehen T2 Restmarke B d i 74 T1 Gemeinsame Marke er abziehen verarbeiten Si T3 T5 gt Restmarke A Ergebnis Restmarke B hinzuf gen hinzuf gen Schritt Transition ID Bezeichnung 1 T1 Gemeinsame Mar
9. markiert Die brigen Transitionen unterst tzen keine Sprachsynthese Das zentrale Element stellt die Stelle S4 PITCH dar in welchem die Stimmh he gespeichert ist Ihr Wertebereich reicht von 0 bis 30 Die unmittelbar ber S4 liegenden Transitionen T7 T13 ver ndern die Markenzahl von S4 in Zehnerschritten Die fett gezeichneten Pfade besitzen die Kantengewichte von 30 20 10 10 20 und 30 von links nach rechts Die obersten 6 Transitionen interpretieren die Markenzahl der Stelle S4 als Stimm h he und produzieren einen der drei Ausgaben do fa so T18 lt sapi gt lt pitch middle S4 gt do lt sapi gt T17 lt sapi gt lt pitch middle S4 gt fa lt sapi gt T16 lt sapi gt lt pitch middle S4 gt so lt sapi gt T15 lt sapi gt lt pitch middle S4 gt do lt sapi gt T14 _ lt sapi gt lt pitch middle S4 gt fa lt sapi gt T1 SES lt sapi gt lt pitch middle S S4 gt so lt sapi gt Sprachausgabe des Petri Netzes do fa so in zufalligen Stimmlagen begin nend mit der normalen Stimmlage 0 6 2 Spracheingabe 6 2 1 XML Schema Grammar Das Top Level XML Element umschlie t alle anderen XML Elemente um eine Command and Control Grammatik zu definieren Beispiel lt GRAMMAR LANGID 409 gt lt GRAMMAR gt Ein nicht terminierendes Regel Element Beispiel lt RULE NAME TopLevelRule ies INAME string TOPLEVEL
10. on als g ltige Eingabe gesprochen werden Es ist hier wichtig dass bei den Befehlen one und two die Eigenschaften Wenn Erkennungspuffer Befehl enth lt dann feuern und Wenn Befehl gefeuert wird dann Befehl in Erkennungspuffer konsumieren markiert sind Im Erfolgsfall wird schlie lich die entsprechende Lampe ein oder ausgeschaltet In den beiden anderen Spracherkennern darf die Option Erkennungspuffer l schen nicht markiert sein da ansonsten die Information die bereits der erste Spracherken ner erkannt hat wieder gel scht w rde Die Lampe 1 enth lt in der Liste Zustand An die Transition T1 in der Liste Zustand Aus die Transition T2 Lampe 2 enth lt in der Liste Zustand An die Transition T3 und in der Liste Zustand Aus die Transition T4 Im Fehlerfall oder nach einem erfolgreichen Erkennungsvorgang beginnt der Kreislauf im Zustand READY wieder von neuem 6 2 3 2 Minimum Funktion mit Sprachein ausgabe The first number is j Nicht erkannt S e E E a H H o clear speakbuffer a S L u fe E i The minimum of operandA and operandB is Kan iresult PEN READY TO SPEAK speak THE END Aufgabe Implementieren sie eine binare Minimumfunktion f r die Zahlen null bis zehn welche die Zahlen abfr gt und das Ergebnis
11. rke Landessprache Wenn sie im Einstellungs Dialog des Petri Netzes die Option Sprachausgabe aktivieren markieren erscheinen im Eigenschaften Dialog der Transitionen drei weitere Optionen f r die Sprachsynthese Sprachputfer loschen SEN Optionen fur die Text hinzufugen Sprachsynthese Sprachpuffer sprechen Zu sprechender Text Textposition Abb 30 Eigenschafts Bereich einer Transition mit den Optionen fur Sprachsynthese Jeder Petri Netz Editor besitzt einen Sprachpuffer Feuert eine Transition so kommen ihre Einstellungen zur Sprachausgabe zum Tragen Ist die Option Sprachpuffer l schen markiert wird der Sprachpuffer einleitend also vor allen anderen Sprachaktionen gel scht Ist die Option Text hinzuf gen markiert so wird der Text der Transition am Ende des Sprachpuffers angef gt Der Text darf die Tags des XML Schemas SAPI enthalten Dar berhinaus existiert eine einfache Referenzierung der Form id Jede Referenzierung wird vor dem Einf gen in den Sprachpuffer durch jenen Inhalt des referenzierten Petri Netz Elements ersetzt der vor dem Feuern der Transition gegeben ist Referenziertes Petri Netz Element Ergebnis Beispiel SS SS gt Negative Kommunikationslinie P1 oder P S H r Start Endpunkte St tzpunkte Kantengewicht des Pfades PP1 oder PP S1 Abb 31 Referenzierung Wie die Beispiele zeigen ist auch eine Mehrfach Referenzierung moglich Ist die Option Sprachp
12. sprachlich mitteilt Vorgehensweise Wir verwenden je einen Spracherkenner f r jeden der beiden Operanden und schreiben die ermittelte Zahl als Markenzahl in die vorgesehene Stelle Weitere Vorgehensweise siehe Beispiel 5 1 Eingabe z B three five Ausgabe The minimum of three and five Is three 6 3 Petri Netz API Dem Programm liegt im Verzeichnis ib die Bibliothek PetriNet dil bei Diese Bibliothek kann in ein beliebiges dotNET Projekt eingebunden werden und bietet die Moglichkeit ein Petri Netz das zuvor mit dem Petri Netz Editor entworfen wurde Zu laden und auszuf hren Im Prinzip muss das dotNet Projekt eine Schnittstelle implementieren und sich De der Petri Net Engine als Listener registrieren Bei der Ausfuhrung wird dann fur jede gefeuerte Transition ein Ereignis ausgel st Uber das ID Feld der Transition kann die gefeuerte Transition im Ereignis Handler eindeutig festgestellt werden 6 3 1 Klassen Ubersicht PNStelle PNTransition PNVerbindung PNBeschreibung PNSpracherkenner PNEngineListener i em pm rm pm em pm rm pm em pm rm zem em pm rm zm m el Abb 33 Klassen bersicht PetriNet dll 6 3 2 PNEngine und PNEngineListener Zuerst muss eine Instanz der Klasse PNEngine erzeugt der Listener registriert und das Petri Netz geladen werden Imports PetriNet Public class Implements PNEngineListener Dim engine As PNEngine New PNEngine engine addEngineListener Me
13. zwar allen Petri Netz Editoren zur Verf gung ist jedoch von der systemweiten Zwischenablage zu unterscheiden Mit St tzpunkt hinzuf gen wird einem Pfad ein weiterer Punkt hinzugef gt Der St tzpunkt wird an der Stelle erzeugt an der das Kontextmenu aufgerufen wurde Mit den Funktionen In den Vordergrund und In den Hintergrund wird ein Element hinsichtlich der Z Achse verschoben Ein Element im Vordergrund verdeckt dabei Elemente die sich im Hintergrund befinden Die Funktion Eigenschaften ID zeigt die zum Element geh renden Eigenschaften an N heres zu den Eigenschaften findet man in Kapitel 3 Entwurfsmodus Hinweis Die Funktion St tzpunkt hinzuf gen ist nur dann aktiv wenn das Kontextmen ber einem Pfad aufgerufen wird Genaueres dazu im Kapitel 3 5 Verbindung ziehen Die Funktionen In den Vordergrund In den Hintergrund und Eigenschaften ID sind nur dann aktiv wenn das Kontextmen ber einem grafischen Element aufgerufen wird Die Funktionen Ausschneiden Kopieren und L schen sind nur dann aktiv wenn Elemente selektiert sind Die Funktion Einf gen ist nur dann aktiv wenn sich Elemente in der PED Zwischen ablage befinden 2 3 Menu S D e a vd eal Lh e Neu lt a Neue Datei erstellen Offnen lt i Bestehende Datei ffnen schlie en Petri Netz Editor schlie en Speichern lt Datei speichern Speichern unter lt lt Datei unter neuem Namen speichern Einstellungen lt a Dialog Einstellu
14. A mindestens eine Marke hat durch S1 gt T1 erf llt wenn Operand B mindestens eine Marke hat gt Pos K Linie Gewicht 1 wenn PUSHBACK keine Marke hat gt Neg K Linie Gewicht 1 3 T2 darf nur dann feuern wenn Puffer mindestens eine Marke hat durch S4 gt T2 erf llt wenn PUSHBACK eine Marke hat gt Pos K Linie Gewicht 1 A T4 darf nur feuern wenn PUSHBACK eine Marke hat durch S5 gt T4 erf llt wenn Puffer keine Marken mehr hat gt Neg K Linie Gewicht 1 Daraus ergibt sich folgendes Petri Netz S mtliche hinzugef gten Positiven und Negativen Kommunikationslinien sind gr n selektiert 5 3 2 Testen des Petri Netzes Ein Simulationslauf best tigt erneut unsere Herangehensweise PU SHBACK T4 TRASH a el Operand A CR ae B Pe EI e al kA di i i m d V T2 TA y Buffer Ergebnis 6 Anhang 6 1 Sprachausgabe 6 1 1 XML Schema SAPI lt SAPI gt REQUIRED string lt VOICE gt OPTIONAL string ABSMIDDLE string lt PITCH gt MIDDLE string en E Ean E lt VOLUME gt LEVEL int Abb 29 Die wichtigsten Elemente und Attribute SAPI Tags k nnen verschachtelt werden Nach dem End Tag ist der Zustand der Maschine derselbe wie vor dem Start Tag Beispiele lt SAPI gt lt SAPI gt lt SAPI gt lt SAPI gt lt SAPI gt lt SAPI gt Wahlt eine Stimmenimplementierung aus Beispiele lt VOICE REQUIRED NAME Microsof
15. ACTIVE gt lt RULE gt TOPLEVEL IN ACTIVE ACHTUNG Die oberste Regel einer Grammatik f r den PED muss den Namen TopLevelRule haben Optionales Element Das Element muss nicht gematched werden Beispiel lt O gt switch lt O gt on lt GRAMMAR gt LANGID int Liste alternativer Phrasen Beispiel lt L gt lt P gt one lt P gt lt P gt two lt P gt sl lt P gt Das Element muss gematched werden Beispiel lt P gt exit lt P gt el lt L gt Abb 32 Die wichtigsten Elemente und Attribute Eine genauere Auflistung aller Elemente und Attribute findet man in der Hilfedatei zum Microsoft Soeech SDK SAPI 5 1 unter White Papers XML Schema Grammar MS Speech SDK Beispiel fur eine Grammatik Datei lt GRAMMAR LANGID 409 gt lt RULE NAME TopLevelRule TOPLEVEL ACTIVE gt lt L gt lt P gt repeat lt P gt lt P gt exit lt P gt SE lt RULE gt lt GRAMMAR gt Diese Grammatik erkennt die beiden Kommandos repeat und exit Beachten sie dass der Name der obersten Regel TopLevelRule lauten muss sonst wird die Grammatik im PED nicht erkannt bzw nicht aktiviert 6 2 2 Petri Netz Erweiterungen fur die Spracherkennung Vergewissern sie sich zuerst dass sie eine SAPI Implementierung auf dem Rechner installiert haben Im Verzeichnis C Programme Gemeinsame Dateien Microsoft Shared Speech befinden sich die Dateien sapi dll sowie die Control Panel Datei sapi cpl Uber das Control Panel
16. Benutzerhandbuch a ro E meyi Emapa Areas 7 E Q H f FS Copyright 2004 by J Lukasser 7 Alle Rechte vorbehalten Betreuer Dr Wolfgang Kastner Wien am 1 Juni 2004 Inhalt 1 Einleitung 2 Petri Netz Editor im berblick 2 1 Komponenten des Petri Netz Editors 2 2 Kontextmen 2 3 Men 2 4 Werkzeugleisten 2 5 Zeichenfl che 2 6 Statuszeile 2 7 Einstellungen 2 8 Druckvorschau und Drucken 2 9 Lampen 3 Entwurfsmodus Sch Auswahl Selektionsmodus 3 2 Stelle einf gen 3 3 Transition einfugen 3 4 Spracherkenner einf gen 3 5 Verbindung ziehen 3 6 Beschriftung einf gen Sor Lampe hinzufugen und verknupfen 4 Simulationsmodus 4 1 Schrittweise Ausf hrung 4 2 Vollautomatische Ausf hrung 5 Beispiele 5 1 Beispiel 1 Minimum Oe ae Entwerten des Petri Netzes 5 1 2 Testen des Petri Netzes 5 2 Beispiel 2 Maximum 5 2 1 Entwerfen des Petri Netzes 5 2 2 Testen des Petri Netzes 5 3 Beispiel 3 Multiplikation 5 1 1 Entwerfen des Petri Netzes 5 3 2 Testen des Petri Netzes 6 Anhang 6 1 Sprachausgabe 6 1 1 XML Schema SAPI 6 1 2 Petri Netz Erweiterungen fur die Sprachsynthese 6 1 3 Beispiele 6 1 3 1 Minimum Funktion mit Sprachausgabe 6 1 3 2 Ein Petri Netz lernt singen 6 2 Spracheingabe 6 2 1 XML Schema Grammar 6 2 2 Petri Netz Erweiterungen f r die Spracherkennung 6 2 3 Beispiele 6 2 3 1 Lampensteuerung mit Sp
17. M Spachausgabe M Sprachausgabe aktivieren Emuleren Abbrechen Ok Abb 7 Einstellungen Petri Netz Geben sie hier ihrem Petri Netz eine Bezeichnung Diese Bezeichnung wird im Fenstertitel angezeigt und darf sich vom Dateinamen unterscheiden Die Maximale Markenzahl pro Stelle wird w hrend der Simulation berpr ft berscheitet die Markenzahl einer Stelle diese Grenze so wird die Simulation beendet Seiten Hier wird die Gr e der Zeichenfl che festgelegt Voreingestellt sind die Ma e von einem A4 Blatt im Hochformat Simulation Markieren sie hier die Auswahl Transition Trace loggen wenn sie im Simualtions modus die gefeuerten Transitionen aufzeichnen mochten Markieren sie Simulation animieren um feuernde Transitionen rot darzustellen 2 8 Druckvorschau und Drucken FE Druckvorschau Abb 8 Druckvorschau In der Druckvorschau k nnen die im Dialog Einstellungen eingerichteten Seiten betrachtet werden Die Seiten k nnen entweder an den Drucker gesendet oder als PDF Datei ge speichert werden Um das Petri Netz als Grafik Datei zu speichern verwenden sie bitte den Befehl Grafik speichern aus dem Men Petri Netz 2 9 Lampen Lampe Erweiterungs bereich Abb 9 Lampenanzeige Neue Lampe hinzuf gen Alle Lampen einschalten Alle Lampen ausschalten Lampenreihenfolge umkehren Lampenanzeige aktualisieren Selektierte Lampe ein ausschalten Alle Lampen einschalten Alle Lampen ausschalten
18. PNEngineListener Public Sub removeAllEngineListener Public Sub fireEngineStartEvent Public Sub fireEngineStopEvent Public Sub fireEngineAbortEvent Public Sub fireEngineStepEvent Public Sub fireEngineAudioLevelEvent ByVal level As Integer Public Sub fireEngineRecognizeBufferChangedEvent Public Sub fireEngineSpeakBufferChangedEvent Public Sub fireEngineLogTraceBeforeStepEvent ByVal transition As PNTransition Public Sub fireEngineLogTraceAfterStepEvent ByVal transition As PNTransition Public Sub fireEngineTransitionFiredStartEvent ByVal transition As PNTransition Optional ByVal data As Object Nothing Public Sub fireEngineTransitionFiredEndEvent ByVal transition As PNTransition Optional ByVal data As Object Nothing Public Sub fireEngineProgressBarEvent ByVal value As Integer Implementiertes Interface TransitionListener Public Sub transitionFiredStart ByVal sender As PNTransition Optional ByVal data As Object Nothing Public Sub transitionFiredEnd ByVal sender As PNTransition Optional ByVal data As Object Konstruktor und Einstellungen Public Pup lin Public Public Public Public Public Pup lic Public Public Public Public Public Public Public Sub New Sub createAll Sub resetStepCounter Property StepCounter As Long Property MaxSteps As Long Property LogTrace As Boolean Property FileName As String Property RecognizeBuffer As String Property SpeakBuffer A
19. ahlfunktion Die Funktion p II gibt an wie viele Kanten von p P nacht T gerichtet sind 0 fallsp e t fur eine positive Kommunikationslinie p I t a pen PE 6 4 10 fur einenegative Kommunikationslinie Anzahlp I t sonst Definition 6 4 13 Stellenkapazitat Die Stellenkapazitat K einer Stelle gibt an wie viele Marken diese Stelle maximal aufnehmen kann wodurch die Stelle K bounded wird Sind in einer Stelle mit der Kapazitat K bereits k Marken enthalten so kann die Eingangstransition nicht mehr feuern und die Schaltbedingung ist nicht mehr erfullt Definition 6 4 14 Erweiterte Schaltbedingung Eine Transition T in einem markierten Petri Netz Nm P T I O u hei t aktiviert wenn f r alle De P mit der Kapazit t K gilt gt n und u p p I t p Olt lt K wenn p l t n J UD ln 21 und u p p Oft lt K wenn p I t 6 4 11 0 und u p p Oft lt K wenn p t Definition 6 4 15 Erweiterte Schaltregel Ist die Schaltbedingung f r eine Transition ii T in einem gegebenen markierten Petri Netz Nn P T I O u erf llt d h ist sie aktiviert so ist das Feuern dieser Transition der Ubergang von der Markierung u zu p die folgenderma en definiert ist H p p 1 t p O t wenn p I t n H DJen H P p O t wenn p I t 6 4 12 H p p O t wenn p I t Definition 6 4 16
20. atei eingelesen Gibt die Funktion canSlotFire True zur ck oder rennt der Spracherkenner in ein Timeout wird fireConnectionsOnSlot mit dem entsprechenden SlotIndex aufgerufen Die Befehle haben den Index SlotIndex O bis n 1 f r n gleich der Anzahl der Befehle n f r den Leer Befehl und n 1 f r den Nicht erkannt Befehl Die Methode fireConnectionsOnSlot informiert alle Listener aus TransitionListener End und bergibt zus tzlich den PNSpracherkennerSlot als data Objekt Nachdem alle Slots gefeuert wurden werden abschlie end noch einmal alle Listener aus TransitionListenerEnd informiert jedoch mit data nothing Mit welchem Slot eine PNVerbindung verbunden ist h ngt vom StartSelection PointIndex bzw EndSelectionPointIndex ab Dabei entsprechen Werte von 0 bis 5 jenen 6 Punkten des Spracherkenners ber welche immer gefeuert wird Die Werte 6 und 7 entsprechen dem Leer Befehl 8 und 9 dem Nicht erkannt Befehl Der erste normale Befehl besitzt die Werte 10 und 11 12 und 13 entsprechen dem zweiten Slot usw Allgemein gilt Normaler SlotIndex SelectionPointiIndex 10 2 Integer PNBeschreibung ist von PNElement abgeleitet und enth lt keine Erweiterungen Die Klasse wurde hier nur implementiert um als m gliche Referenzierung mittels zu dienen 6 3 4 1 PNEngine PNEngineListener Handler Public Sub addEngineListener ByVal 1 As PNEngineListener Public Sub removeEngineListener ByVal 1 As
21. ausschneiden lb EE Di m Text einfugen Neg K Linie ziehen 7 mme gt Pos K Linie ziehen Verbindung ziehen Petri Netz als Grafik speichern Spracherkenner einf gen Simulation anhalten Transition einfugen Simulation vollautomatisch ausf hren Stelle einf gen Simulationsschritt ausf hren Auswahlmodus Abb 5 Werkzeugleisten mit Datei Bearbeitungs Entwurfs und Simulatorfunktionen 2 5 Zeichenfl che Die Zeichenfl che stellt das aktuelle Petri Netz dar Im Entwurfsmodus wird ein Gitter angezeigt an dem die Elemente und Strukturen ausgerichtet werden Wenn die Zeichnung breiter bzw h her als der darstellbare Bereich ist dann werden Scrollbars eingeblendet Die Gr e der Zeichenfl che wird im Dialog Einstellungen eingerichtet 2 6 Statuszeile A A A A Fortschrittsanzeige Textbereich Mikrofonpegel Abb 6 Statuszeile 2 Einstellungen Einstellungen Petri Metz Bezeichnung Petrachemie Gesamtbild Max Marken pro Stelle 399 W Mach Hinzuf gen einer Stelle Transition etc in den Auswahimodus wechseln M Sidebar if Komponentenbaum anzeigen Seiten Horizontal 2 Seite einrichten Vertikal 1 vw Eckjustierungen drucken Simulation w Selektion in den Simulationsmodi verbergen w Transition Trace loggen w Simulation animieren Animationsintervall ar me 3x pro Schritt Overhead M Spacheingabe M Spracheingabe aktivieren Emuleren
22. d Nicht erkannt Der Slot Leer wird dann gefeuert wenn nach Ablauf des Erkennungstimeouts der Erkennungsbuffer leer ist Der Slot Nicht erkannt wird dann gefeuert wenn nach Ablauf des Erkennungs timeouts der Erkennungspuffer nicht leer ist und kein anderer Befehlsslot feuern Konnte Hinweis Es k nnen auch mehrere Befehlsslots gleichzeitig feuern sofern ihre Feuerbedingungen erf llt sind ID Sprachbetehle Timeout ris SOO Erkennungsputfer loschen Spracheingabe Echo erkannter Befehl Ersmsiile Sprachbetehle Prompt T ext immer sprechen Sprachpuffer loschen Text hinzufugen Sprachausgabe Sprachpuffer sprechen Prompt Text Textposition Abb 18 Eigenschaften eines Spracherkenners Sofern die drei Sprachausgabefelder Sprachpuffer l schen Text hinzuf gen und Sprachpuffer sprechen ausgew hlt sind wird der Inhalt des Feldes Text als Prompt Text verwendet Ist einleitend ein Befehlsslot bereits feuerbereit so wird dieser Promt Text ignoriert es sei denn die Option Prompt Text immer sprechen ist aktiviert Ist die Option Erkennungspuffer l schen markiert so wird der Erkennungspuffer gel scht Je nachdem ob das Feld Grammatik auf eine externe Grammatikdatei verweist oder nicht wird nun entweder die externe Grammatikdatei eingelesen und aktiviert oder aber eine einfache Grammatik aus den Befehlsslots generiert welche die einzelnen Befehle als Alternativen enth lt Sodann wird das Erkennungstimeout ge
23. der As System Xml XmlTextReader Public Overridable Sub saveXML ByVal writer As System Xml XmlTextWriter Sonstiges Public Overridable Property ClearSpeakBuffer As Boolean Public Property AddToSpeakBuffer As Boolean Public Property SpeakAndWaitFor As Boolean Public Overridable Sub doSpeak ByVal text As String Optional ByVal waitFor As Boolean 6 3 4 4 PNStelle Konstruktor und Einstellungen Public Sub New ByVal engine As PNEngine Public Property Marken As Integer Public Property Limit As Integer Streamoperationen Public Overridable Sub loadXML ByVal reader As System Xml XmlTextReader Public Overridable Sub saveXML ByVal writer As System Xml XmlTextWriter 6 3 4 5 PNVerbindung Konstruktoren und Einstellungen Public Public Public Public Public East e Public Public Public Sub New ByVal engine As PNEngine Sub New ByVal engine As PNEngine Sub New ByVal engine As PNEngine ByVal endElem As PNElement ByVal _typ As PNVerbindungsTyp ByVal startElem As PNElement ByVal _typ As PNVerbindungsTyp Typ As PNVerbindungsTyp Gewicht As Integer StartElement As PNElement EndElement As PNElement StartSelectionPointIndex As Integer EndSelectionPointIndex As Integer PIOPEILY Properly Proper FLOpEerLy Property Pr perLy Verbindungen Public Public Sub connect ByVal startElem As PNElement ByVal endElem As PNElement Sub disconnect Streamoperationen
24. die connect Methode wird die Verbindung in die jeweiligen Start und End Elemente eingetragen Mit der disconnect Methode wird die Verbindung aus den Start und End Elementen entfernt PNTransition besitzt zwei Listener Listen TransitionListenerStart und Transition ListenerEnd sowie Methoden um diese zu verwalten Wird eine Transition gefeuert so werden zuerst alle Listener aus TransitionListenerStart informiert Anschlie end wird die doFire Methode aufgerufen welche die Markenverteilung ndert Abschlie end werden alle Listener aus TransitionListenerEnd informiert PNEngine ist jeweils in beiden Listener Listen registriert und spielt eine Vermittler rolle indem sie diese Ereignisse an das PNEngineListener Interface weiterleitet Ein Anwendungsprogramm muss also nur das PNEngineListener Interface implementieren und wird so automatisch ber alle gefeuerten Transitionen informiert PNSpracherkenner ist von PNTransition abgeleitet und besitzt die Infrastruktur um eine Befehlsliste SlotList zu verwalten Die Befehle sind vom Datentyp PNSprach erkennerSlot welcher den Befehls String die weiteren Feuerbedingungen f r diesen Befehl startsWith contains exact sowie consume clear und den Typ enth lt Normal Empty NotRecognized Wird ein Spracherkenner gefeuert so werden zuerst alle Listener aus Transition ListenerStart informiert Nun wird der Spracherkenner initialisiert und die Grammatik entweder erzeugt oder aus einer D
25. er Toolbar und wechseln sie zur ck in den Auswahl Selektionsmodus Wir wollen uns nun die Simulation schrittweise ansehen Schrittweise Simulation Dr cken sie zun chst einmal auf den Schritt Knopf in der Toolbar um den Schritt Modus zu aktivieren Beachten sie dass dabei der Schritt Knopf gedr ckt bleibt Operand A Operand D T1 Gemeinsame Marke verarbeiten Ergebnis Beachten sie auch dass die Transition T1 schwarz gef rbt d h feuerbereit ist Klicken sie nun einmal auf die Transition T1 um sie einmal zu feuern Wurde in den Einstellungen die Option Simulation animieren markiert so leuchtet die Transition Kurz rot auf um ihr Feuern zu versinnbildlichen Gleichzeitig wird im Transition Trace Fenster ein Eintrag hinzugef gt Operand A Operand B 51 52 A T1 D Gemeinsame Marke verarbeiten Ergebnis Schritt Transition ID Bezeichnung 1 T1 Gemeinsame Marke verarbeiten In diesem Schritt wurde also von den Stellen S1 und S2 je eine Marke abgezogen und eine Marke der Stelle S3 hinzugef gt Klicken sie nun erneut einmal auf die Transition T1 und beobachten sie was passiert Operand Operand B LO LO Gemeinsame Marke T14 verarbeiten Ergebnis Bezeichnung 1 TI Gemeinsame Marke verarbeiten 2 Gemeinsame Marke verarbeiten Erneut wurden von den Stellen S1 und S2 je eine Marke abgezogen und eine Marke der Stelle S3 hinzugef gt Beachten sie dass die Transition noch imm
26. er feuerbereit ist da sie noch immer der Schaltbedingung gen gt Ein weiterer Klick auf die Transition bringt uns ans Ende der Simulation und f hrt zum Ergebnis des automatischen Simulationslaufes Die Transition ist nun grau eingef rbt und l sst sich nicht mehr weiter feuern 5 2 Beispiel 2 Maximum Aufgabe Implementieren sie eine binare Maximum Operation in einem Petri Netz derart dass die beiden Operanden als Markenzahl in zwei korrespondierenden Stellen abgebildet werden Ermitteln sie das Maximum der Markenzahl dieser beiden Stellen Vorgehensweise Wir werden nun aufbauend auf dem vorherigen Beispiel eine Maximum Funktion implementieren in dem wir einfach den verbleibenden Rest in den Operanden Stellen der Minimum Funktion der Ergebnis Stelle hinzuf gen 5 2 1 Entwerfen des Petri Netzes Erstellen sie anhand der Anleitung aus dem vorherigen Beispiel das folgende Petri Netz Beachten sie dass dieses Petri Netz noch keine L sung des Problems darstellt da hier als Ergebnis vom Maximum bis hin zur Addition beider Operanden alles m glich ist Wir m ssen sicherstellen dass jene Transitionen welche Restmarken von den Operanden abziehen T2 und T4 erst dann feuern k nnen wenn bereits das Minimum beider Operanden im Ergebnis steht D h wenn der gegen berliegende Operand f r T2 ist das S2 und f r T4 ist das S1 keine Marken mehr enth lt Bedingungen der Form Stelle muss mindestens x Marken enthalten damit
27. ie Auswahl wahrscheinlichkeit f r jede feuerbereite Transition gleich hoch 4 1 Schrittweise Ausf hrung Abb 28 Knopf f r die schrittweise Ausf hrung Wird dieser Knopf gedr ckt so wechselt der Petri Netz Editor in den Simulations modus und f hrt das Petri Netz schrittweise aus Ein einmaliges Dr cken dieses Knopfs f hrt genau einen Simulationsschritt durch Es k nnen entweder weitere Einzelschritte ausgef hrt werden oder die vollauto matische Ausf hrung kann gestartet werden Durch Dr cken auf den Stopp Knopf wird die Simulation beendet und in den Ent wurfsmodus gewechselt Wurde im Dialog Einstellungen die Option Transition Trace loggen markiert so wird bei der Abarbeitung des Petri Netzes automatisch eine Liste der gefeuerten Tran sitionen erstellt und erg nzt Der Schrittmodus erlaubt es nun das Petri Netz in einen vorhergehenden Zustand zur ckzuf hren Hierzu muss im Kontextmen des Transition Trace Fensters der Men punkt Rollback zu Schritt x gew hlt werden 4 2 Vollautomatische Ausfuhrung Abb 29 Knopf fur die vollautomatische Ausf hrung Wird dieser Knopf gedruckt so wechselt der Petri Netz Editor in den Simulations modus und fuhrt das Petri Netz vollautomatisch aus Wurde das Petri Netz vorher im Schrittmodus ausgef hrt so wird an der aktuellen Stelle fortgesetzt Die Ausf hrung erfolgt schrittweise wobei zwischen den einzelnen Schritten eine einstellbare Pause eingelegt wird Dieser Zustand ka
28. iehe Beispiel 6 2 3 1 6 3 3 2 Entscheidungsnetz fur Hebelarm START GLEICHES GEWICHT Ja Nein GLEICHES GEWICHT UNTERSCHIEDLICHES GEWICHT GLEICHER ABSTAND GR SSERES GEWICHT AUF DERSELEBEN SEITE WIE GROSSERER UNTERSCHIEDLICHES GEWICHT UNTERSCHIEDLICHER ABSTAND ABSTAND d UNTERSCHIEDLICHES GEWICHT UNTERSCHIEDLICHER ABSTAND GROSSERES GEWICHT AUF KLEINEREM ABSTAND PRODUKTE MASSE ABSTAND GLEICH Ja Nein GROSSERES GROSSERES GEWICHT UND PRODUKT GROSSERER ABSTAND GR SSERES GEWICHT GLEICHGEWICHT ABSTAND HEBELARM SENKT SICH HEBELARM SENKT SICH HEBELARM SENKT SICH HEBELARM SENKT SICH WAAGE IM WAAGE NICHT IM GLEICHGEWICHT GLEICHGEWICHT 6 3 4 Beschreibung der Klassen und Schnittstellen Die zentrale Klasse des Petri Netz API ist PNEngine Sie verwaltet die Strukturen des Petri Netzes und ist verantwortlich fur das Laden Ausfuhren und Speichern Klassen die das Interface PNEngineListener implementieren und als Listener in der Klasse PNEngine registriert sind werden wahrend der Abarbeitung des Netzes uber bestimmte Ereignisse wie das Feuern einer Transition informiert Die Klasse kann das Petri Netz auch dynamisch ver ndern indem Stellen Transitionen und Verbindungen hinzugef gt oder gel scht werden Marken k nnen verteilt und die Markenanzahl der Stellen kann abgefragt werden Wird ein Petri Netz durch PNEngine ges
29. ineTransitionFiredStart ByVal sender As PNEngine ByVal transition AS PNIransi tion Optional ByVal data As Object Nothing EngineTransitionFiredEnd ByVal sender As PNEngine ByVal transition As PNTransition Optional ByVal data As Object Nothing EngineAudioLevel ByVal sender As PNEngine ByVal AudioLevel As Integer EngineRecognizeBufferChanged ByVal sender As PNEngine ByVal buffer As String EngineSpeakBufferChanged ByVal sender As PNEngine ByVal buffer As String EngineLogTraceBeforeStep ByVal sender As PNEngine ByVal transition As PNTransition EngineLogTraceAfterStep ByVal sender As PNEngine ByVal transition As PNTransition EngineProgressBar ByVal sender As PNEngine ByVal value As Integer 6 3 4 3 PNElement Konstruktor und Einstellungen Public Sub New ByVal engine As PNEngine Public ReadOnly Property Engine As PNEngine Public Property ID As String Public Property Text As String Public Property UserData As Object Verbindungen Public ReadOnly Property Connections As Arraylist Public Function getInputConnections As ArrayList Public Function getOutputConnections As ArrayList Public Sub addConnection ByVal con As PNVerbindung Public Sub addConnections ByVal arr As ArrayList Public Sub removeConnection ByVal con As PNVerbindung Public Sub removeConnections ByVal arr As ArrayList Public Sub removeAllConnections Streamoperationen Public Overridable Sub loadXML ByVal rea
30. ines Spracherkenners normal und selektiert Abb 18 Eigenschaften eines Spracherkenners Abb 19 Dialog Sprachbefehle eines Spracherkenners Abb 20 Ansichten einer Verbindung normal und selektiert Abb 21 Positive und negative Kommunikationslinie Abb 22 Pfad mit einem Kantengewicht gt 1 Abb 23 Eigenschaften einer Kommunikationslinie Abb 24 Eigenschaften einer Verbindung Abb 25 Beispiel fur eine Beschriftung Abb 26 Eigenschaften einer Beschriftung Abb 27 Werkzeugleiste mit Simulatorfunktionen Abb 28 Knopf fur die schrittweise Ausf hrung Abb 29 SAPI Die wichtigsten Elemente und Attribute Abb 30 Eigenschafts Bereich einer Transition mit den Optionen f r die Sprachsynthese Abb 31 Referenzierung Abb 32 Grammar Die wichtigsten Elemente und Attribute Abb 33 Klassen Ubersicht PetriNet dll 6 6 Literatur MS Speech SDK Microsoft Speech SDK SAPI 5 1 Hilfedatei Microsoft Corporation 1995 2004 PED Oprea Valentin Petri Netz Editor PED Benutzerhandbuch Wien 2002 PN Bernd Rosenstengel Udo Winand Petri Netze Braunschweig Wiesbaden Vieweg Verlag 1991 PROZAUT Kastner W Schild G H Proze automatisierung Wien Springer Verlag 1998
31. ionkventEnd Sonstiges Public Public Public Function canFire As Boolean Sub doFireStart Function doFire Overridable Overridable Overridable As Object 6 3 4 7 PNSpracherkenner Konstruktor und Einstellungen Publier Public Public Public Public Public Public Public Public Sub New ByVal engine As PNEngine Properly PEODBLLF Property EEN ELOperLy Property ReadOnly ReadOnly Timeout As Integer Echo As Boolean AlwaysSpeakPrompt As Boolean ClearRecognitionBuffer As Boolean OnNotRecognizedClearRecognitionBuffer GrammerFile As String Property useGrammerFile As Boolean Property SlotList As ArrayList As Boolean Streamoperationen Public Public Overridable Sub loadXML ByVal reader As System Xml XmlTextReader Overridable Sub saveXML ByVal writer As System Xml XmlTextWriter Sonstiges Public Public Public Public Public Public Public Public Overrides Function canFire As Boolean Overrides Sub doFireStart Overrides Function doFire As Object Function canSlotFire As Boolean Sub fireConnectionsOnSlot ByVal idx As Integer Sub initSpracherkennung Overridable Sub consumeRecognized ByVal slot As PNSpracherkennerSlot Optional ByVal firstOccurence As Boolean Overridable Sub clearRecognizedBuffer True 6 3 4 8 PNBeschreibung Konstruktor und Einstellungen Public Sub New ByVal engine As PNEngine Streamoperationen P
32. ke verarbeiten Ti Gemeinsame Marke verarbeiten 3 TI Gemeinsame Marke verarbeiten 4 T4 Restmarke E abziehen Restmarke B hinzuf gen 5 3 Beispiel 3 Multiplikation Aufgabe Implementieren sie eine Multiplikations Operation in einem Petri Netz der art dass die beiden Operanden als Markenzahl in zwei korrespondierenden Stellen abgebildet werden Ermitteln sie das Ergebnis einer Multiplikation der Markenzahlen dieser beiden Stellen Vorgehensweise Die Idee besteht darin in einem zyklischen Verfahren die Marken von Operand A einer Ergebnis Stelle hinzuzuf gen Jeweils am Zyklusende wird dem Operanden B eine Marke abgezogen Das ganze Verfahren dauert solange bis Operand B keine Marken mehr besitzt 5 3 1 Entwerfen des Petri Netzes Entwerfen sie zun chst folgendes Petri Netz peamlA OpesandB amp B EE DEE TT GE EE EE DE EE BR E ER T E S KEE EEN EE Der Zyklus mit dem die Marken von Operand A in die Ergebnis Stelle geschrieben werden ist gr n selektiert Das rechte nicht selektierte Teilnetz repr sentiert den Abzug der Marken aus dem Operanden B Folgende Situationen m ssen nun sichergestellt werden 1 T3 darf nur dann feuern wenn Operand A keine Marken mehr hat gt Neg K Linie Gewicht 1 wenn Operand B mindestens eine Marke hat durch S2 gt T3 erf llt wenn PUSHBACK keine Marke hat gt Neg K Linie Gewicht 1 2 T1 darf nur feuern wenn Operand
33. lemente hinzu welche beim Feuern die Lampe ausschalten sollen 4 Simulationsmodus Abb 27 Werkzeugleiste mit Simulatorfunktionen Der Simulationsmodus dient dazu Petri Netze auszufuhren Die Simulation kann entweder schrittweise auf eine interaktive Art und Weise oder vollautomatisch erfolgen Dabei kann zwischen beiden Ausfuhrungsmodi gewechselt werden Wird eine Simulation vollautomatisch durchgef hrt so sind keine nderungen am Petri Netz m glich Bei einer schrittweisen Ausf hrung existieren hingegen zweierlei Eingriffsm glichkeiten e Marken ndern durch Doppelklicken auf eine Stelle wird diese in den Editiermodus gewechselt wo sodann die Markenzahl ver ndert werden kann e Transitionen feuern sofern eine Transition feuerbereit ist kann diese durch einfaches Anklicken zum Feuern gebracht werden Im Simulationsmodus sind folgende zwei Optionen von Bedeutung e Animationsintervall gibt die Verz gerung zwischen zwei aufeinander folgenden Ausf hrungsschritten in Millisekunden an Der Parameter ist nur bei der vollautomatischen Ausf hrung relevant e Transition Trace loggen f gt die gefeuerten Transitionen einer Trace Liste hinzu Im Schrittmodus kann ein Rollback durchgef hrt werden Generell sind feuerbereite Transitionen schwarz dargestellt nicht feuerbereite Transitionen sind grau Sind vor einem Ausf hrungsschritt mehrere Transitionen feuerbereit so wird zuf llig eine Transition ausgew hlt Dabei ist d
34. me Marke verarbeiten 53 e ew e 2 2 2 2 2 2 2 2 2 e 2 2 2 e 2 2 2 ew ew 2 2 2 wm sw Klicken sie zum Abschluss der Eingabe auf einen leeren Zeichenbereich um die Ein gabe in die Stelle zu bernehmen Hinweis Alternativ k nnen sie den Wert nat rlich auch im Eigenschafts Bereich im Feld Marken ab ndern Operand A OpeandB d ie Wiederholen sie diese Vorgehensweise f r die Stelle S2 und geben sie dort den Wert 4 ein _ QperandA 0perandE ne oe ee Fie SE KO BEE T Nun ist das Petri Netz f r den ersten Simulationslauf bereit 5 1 2 Testen des Petri Netzes Stellen sie sicher dass in den Einstellungen des Petri Netzes die Option Transition Trace loggen markiert ist sonst bekommen sie keine Liste der gefeuerten Tran sitionen geliefert Automatische Simulation Wechseln sie nun in den Simulationsmodus indem sie auf den Play Knopf in der Toolbar drucken und beobachten sie was passiert Nach genau drei Schritten bleibt die Simulation stehen In der Ergebnis Stelle stehen drei Marken Das Transition Trace Fenster zeigt folgende drei Schritte an Schritt Transition ID Bezeichnung 1 TI Gemeinsame Marke verarbeiten 2 71 Gemeinsame Marke verarbeiten 3 Gemeinsame Marke verarbeiten Das abgearbeitete Petri Netz sieht nun folgenderma en aus Operand A Operand B aoe S2 e Gemeinsame Marke verarbeiten Ergebnis Dr cken sie nun den Stopp Knopf in d
35. ndungs Modus und verbinden sie die Stelle S1 mit der Transition T1 Wiederholen sie dieses Verfahren und verbinden sie die Stelle S2 mit der Transition T1 und abschlie end noch einmal die Transition T1 mit der Stelle S3 Hinweis Sie k nnen jederzeit den Verbindenproze mit der Escape Taste ab brechen oder nachtr glich die Verbindungen ver ndern sie sollten nun folgendes Bild vor sich haben Beschriftungen Selektieren sie nun die Stelle S1 indem sie einmal auf die Stelle S1 klicken Achten sie darauf dass sich der Petri Netz Editor auch im Auswahl Selektionsmodus befindet Beachten sie dass nun in der rechten unteren Ecke des Petri Netz Editors die Eigen schaften dieser Stelle angezeigt werden Geben sie nun im Feld Text den Text Operand A ein Beschriften sie auf diese Weise die Stelle S2 mit Operand B die Stelle S3 mit Ergebnis und die Transition T1 mit Gemeinsame Marke verarbeiten Sie haben nun das folgende Bild vor sich Marken setzen Doppelklicken sie auf der Stelle Si Die Stelle wechselt daraufhin in den Editier modus und sie k nnen die Markenzahl eingeben Geben sie in der Stelle Si den Wert 3ein _ Operant A Qpemand B Ir 2 A ay Ses See 51 re 3 a T Te ee ee NE ee a A Tp n A L a ee A amp ee ee Ae eg ee A a vere Beer EOSO ye arenes S E k zm vum e zm e e zm e d zm m e e e 8 SES TE Gemeinsa
36. ngen ffnen Druckvorschau lt a Dialog Druckvorschau ffnen Drucken lt a Dialog Drucken ffnen lt a Petri Netz Editor beenden SS D Oo i Chrl X Selektierte Elemente ausschneiden Kopieren Ctrl C Selektierte Elemente kopieren Einf gen Ctrl V Elemente aus der Zwischenablage einf gen Selektierte Elemente l schen Ctrl A Alle Elemente selektieren le e EK zez alo gt Glia In den Auswahlmodus wechseln Sellen Modus Stellen Einf gen oe Modus Transitionen Einf gen Transitionen EE Modus Spracherkenner Einf gen Verbindungen Modus Verbindungen Ziehen Negative Kommunikationslinie Modus Negative Kommunikationslinie Ziehen Beschriftung Modus Beschriftung Einf gen Schritt In den Schrittmodus wechseln Play Simulation starten anhalten Stop Simulation Schrittmodus beenden III II Grafik speichern Petri Netz als Grafik speichern 1 Petri Netz Petrochemie Gesamtbild i SE EE Zu ge ffnetem Petri Netz Editor wechseln Hilfe Online Hilfe D S be tO Lokale Hilfe aufrufen m Uber Informationen uber Petri Netz Editor anzeigen Abb 4 Men Datei Bearbeiten Petri Netz Fenster und Hilfe 2 4 Werkzeugleisten Ins clal amp s Bo CID u Druckvorschau i i Selektiertes Element l schen Einstellungen l Element aus der Zwischenablage Datei speichern einf gen Bestehende Datei ffnen Selektiertes Element kopieren Neue Datei erstellen Selektiertes Element
37. nn durch Dr cken auf den Pause Knopf es wird in den Einzelschritt Modus gewechselt oder auf den Stopp Knopf es wird die Simula tion beendet und in den Entwurfsmodus gewechselt verlassen werden 5 Beispiele Nachfolgend findet man einige einfache Beispiele die den Umgang mit dem Petri Netz Editor naher bringen sollen 5 1 Beispiel 1 Minimum Aufgabe Implementieren sie eine bin re Minimum Operation in einem Petri Netz derart dass die beiden Operanden als Markenzahl in zwei korrespondierenden Stellen abgebildet werden Ermitteln sie das Minimum der Markenzahl dieser beiden Stellen Vorgehensweise ber eine Transition werden solange gleichzeitig in beiden Operanden Stellen Marken abgezogen und einer Ergebnis Stelle hinzugef gt bis einer der beiden Operanden Stellen keine Marken mehr hat 5 1 1 Entwerfen des Petri Netzes Wir ben tigen f r das Petri Netz also drei Stellen und eine Transition Stellen und Transitionen einf gen Schalten sie zuerst in den Stellen Modus und f gen sie an einer beliebigen Position durch einen Klick auf die Zeichenfl che eine Stelle ein F gen sie auf diese Weise noch zwei weitere Stellen ein Bilden sie mit den Stellen ein auf der Spitze stehendes Dreieck Schalten sie nun in den Transitionen Modus und f gen sie in der Mitte des Dreiecks durch einen Klick eine horizontale Transition ein Nun m ssten sie folgendes Bild vor sich haben Verbindungen ziehen Schalten sie nun in den Verbi
38. peichert kann es nicht wieder im grafischen Petri Netz Editor ge ffnet werden da s mtliche grafisch relevanten Informationen der Elemente fehlen Von Pfaden werden beispielsweise die St tzpunkte entfernt und jede Verbindung auf die wesentlichen Elemente reduziert Die im Petri Netz Editor eingerichteten Lampen eines Petri Netzes werden w hrend des Ladevorganges ignoriert und m ssen ber das Listener Interface implementiert werden Alle Strukturelemente sind von der Klasse PNElement abgeleitet Sie unterst tzt einen eindeutigen ID String einen Text String ein anwendungsspezifisches UserData Objekt und verwaltet in einer Liste alle Verbindungen an der das Element beteiligt ist Ihrer Konstruktor Methode muss jene Instanz von PNEngine bergeben werden welche das Petri Netz verwaltet Weiters existieren berschreibbare Methoden um das Element in einen XmlTextStream zu schreiben und von einem XmlTextStream zu lesen PNStelle besitzt zwei weitere Integer Felder die Markenanzahl und das Markenlimit PNVerbindung besitzt das Feld Typ vom Datentyp PNVerbindungsTyp Normal Positiv Negativ das Integer Feld Gewicht und die Felder StartElement und EndElement jeweils vom Datentyp PNElement Dadurch ist auch die Richtung der Verbindung ausgedr ckt Der Konstruktor Methode muss sowohl jene Instanz der PNEngine bergeben werden die das Petri Netz verwaltet als auch die Start und End Elemente mit der diese Verbindung verkn pft ist Uber
39. racheingabe 6 2 3 2 Minimum Funktion mit Sprachein ausgabe 6 3 6 3 1 6 3 2 6 3 3 6 3 3 1 6 3 3 2 6 5 6 6 Petri Netz API Klassen Ubersicht PNEngine und PNEngineListener Beispiele Lampensteuerung mit Spracheingabe Entscheidungsnetz fur Hebelarm Beschreibung der Klassen und Schnittstellen PNEngine PNEngineListener PNElement PNStelle PNVerbindung PNTransition PNSpracherkenner PNBeschreibung Mathematische Grundlagen Abbildungen Literatur 1 Einleitung Der Petri Netz Editor kurz PED ist im Laufe einer Praktikumsarbeit im Jahre 2004 von mir als eigenst ndige Visual Basic Anwendung entwickelt worden Die theoretischen Grundlagen des PED stammen aus dem Buch Proze automatisie rung von Gerhard Helge Schildt Wolfgang Kastner erschienen im Springer Verlag in der Reihe Lehrbuch Technik PROZAUT Die Definitionen im Kapitel 6 4 Mathematische Grundlagen sind diesem Buch entnommen Dieses Benutzerhandbuch bietet keine allgemeine Einf hrung in die Oberfl che von Windows sondern konzentriert sich ausschlie lich auf die Funktionen des Petri Netz Editors Dabei sollte ein Gro teil der Bedienung intuitiv verst ndlich und mit einer gewissen spielerischen Herangehensweise auch ohne diese Lekt re m glich sein Der einzige Weg der zum Wissen f hrt ist T tigkeit George Bernard Shaw 2 Petri Netz Editor im Uberblick Uber das Menii Datei Neu Petri Netz wird ein neuer Petri Netz Editor ge
40. s String Property MaxMarkenProStelle As Integer Property Abort As Boolean ReadOnly Property FeuerbereiteTransitionen As Arraylist Sub initialize Sub clear Property SnapShot As Arraylist Zugriff auf Strukturen und deren Attribute Public Public Public Public Public Public Public Public Public Public Public Property Marken ByVal id As String As Integer Property Limit ByVal id As String As Integer Property Gewicht ByVal id As String As Integer Property Typ ByVal id As String As PNVerbindungsTyp Nothing ReadOnly Property SlotList ByVal id As String As ArrayList Property Beschriftung ByVal id As String As String Function getStelle ByVal id As String As PNStelle Function getTransition ByVal id As String As PNTransition Function getVerbindung ByVal id As String As PNVerbindung Function getBeschriftung ByVal id As String As PNBeschreibung Function getElement ByVal id As String As PNElement Struktur nderung Public Public Public Public Sub add ByVal arr As ArrayList Optional ByVal isDirty As Boolean Sub add ByVal element As PNElement Optional ByVal isDirty As Boolean Sub remove ByVal arr As ArrayList Sub remove ByVal element As PNElement Datei und Streamoperationen Public Faite Public Public Sub loadFromFile ByVal fileName As String Sub loadFromStream ByVal reader As XmlTextReader Sub saveToFile ByVal fileName As String Sub
41. saveToStream ByVal writer As XmlTextWriter True True Abarbeitung des Petri Netzes Public Public Public Public Fublie Public Public Public Overridable Overridable Overridable Overridable Overricable Overridable Overridable Overridable Sub doBeforeStart Sub doAfterStop Sub doAfterAbort Function evalFeuerbereitschaft ByVal t As PNTransition As Boolean Sub Sub Sub evalFeuerbereiteTransitionen fireTransition ByVal id As String fireTransition ByVal t As PNTransition Sub doExecute Protected Sub resumeExecution Public ReadOnly Property isExecuting Sonstiges Public Public Public Public Public Sur Sub Sup As Boolean pushAudioProgress Optional ByVal idx As Integer l Optional ByVal count As Integer 1 pushProgress Optional ByVal value As Integer 0 Optional ByVal total As Integer 100 showRecognizeBuffer Overridable Sub clearSpeakBuffer Overridable Sub doSpeak ByVal text As String Optional ByVal waitFor As Boolean False 6 3 4 2 PNEngineListener Fubl e Public Public Public Public Public Public Public Public Public Public Public Sub Sub Sub Sub Sub Sub Sub Sub Sub Sub Sup Sub EngineStart ByVal sender As PNEngine EngineStop ByVal sender As PNEngine Enginestep ByVal sender As PNEngine EngineAbort ByVal sender As PNEngine ByVal stepNr As Long Eng
42. setzt und auf die Spracheingabe gewartet Der Spracherkenner uberpruft nun in kleinen Zeitintervallen ob Befehle erkannt wurden Sobald Befehlsslots feuern k nnen wird die Spracherkennung beendet und ber die entsprechenden Verbindungen gefeuert Ist die Option Echo erkannter Befehl markiert so wird der erkannte Befehl ausge sprochen Abschlie end kommen die Eigenschaften des der gefeuerten Befehlsslots zum Tragen Sprachbefehle Befehl Beginnt mit Enthalt Exakt Konsumierer Loschen Gewicht Befehl Gewicht Hinzufugen Wenn Erkennungspuffer mit Befehl beginnt dann feuern ndern Wenn Erkennungspuffer den Befehl enth lt dann feuern L schen Wenn Erkennungspuffer exakt den Befehl enth lt dann feuern Wenn Befehl gefeuert wird dann Befehl in Erkennungspuffer konsumieren Wenn Befehl gefeuert wird dann gesamten Erkennungspuffer l schen Iw Wenn Nicht erkannt gefeuert wird dann gesamten Erkennungspuffer l schen Abbrechen Ok Abb 19 Dialog Sprachbefehle eines Spracherkenners Abb 20 Ansichten einer Verbindung normal und selektiert Wenn der Verbindungs Modus aktiviert ist und entweder auf ein Stellen Transitions oder Spracherkenner Element geklickt wird so wird von diesem Element ausgehend ein Pfad gezeichnet St tzpunkte k nnen in den Pfad aufgenommen werden indem auf einen leeren Bereich in der Zeichenfl che geklickt wird Wird auf ein Element geklickt welches vom A
43. startet Petri Netz Editor Schlie en Speichern Speichern unter Einstellungen Druckvorschau Drucken Beenden Abb 1 Petri Netz Editor starten 2 1 Komponenten des Petri Netz Editors Werkzeugleisten f r Grafik bersicht Bezeichnung Entwurfs und Simulationsmodus Speichern Men 7 Datei Bearbeiten Petri Netz Fenster Hilfe Le vc ZB ZB is a 3 i x 5 0 a lavas es alm gt ala EISTE Petri Netz Editor Petri Netz Petrochemie Gesamtbild Lampen Zeichenfl che Trace Anzeige m A e gt Ho Re t t MMT f Statuszeil Komponenten Eigenschaften Abb 2 Komponenten des Petri Netz Editors 2 2 Kontextmenu Selektierte Elemente ausschneiden Selektierte Elemente kopieren Elemente aus der PED Zwischenablage einf gen Selektierte Elemente l schen St tzpunkt hinzuf gen Neuer St tzpunkt zum Pfad hinzuf gen Selektiertes Element in den Vordergrund bringen In den Vordergrund In den Hintergrund Selektiertes Element in den Hintergrund setzen III Eigenschaften P70 Element Eigenschaften anzeigen Feige Gitternetz Gitternetz ein aus eige Seitenbegrenzungen Seitenlinien ein aus E Element ID ein aus eige Bezeichnung Element Text ein aus Feige Lampen Lampenanzeige ein aus Abb 3 Kontextmen Die Funktionen Ausschneiden Kopieren Einf gen und L schen implementieren eine einfache Zwischenablage Diese Zwischenablage steht
44. t Mike gt lt VOICE gt lt VOICE REQUIRED NAME Microsoft Mary gt lt VOICE gt lt VOICE REQUIRED NAME Microsoft Sam gt lt VOICE gt Setzt die Stimmh he Beispiele lt PITCH MIDDLE 10 gt high pitch lt PITCH gt lt PITCH MIDDLE 10 gt low pitch lt PITCH gt Setzt die Sprachgeschwindigkeit Beispiele lt RATE SPEED 10 gt quickly spoken text lt RATE gt lt RATE SPEED 10 gt slowly spoken text lt RATE gt Pause fur eine gewisse Zeitspanne in Millisekunden Beispiele lt SILENCE MSEC 500 gt Buchstabiert einen Ausdruck Beispiele lt SPELL gt Petri Net Editor lt SPELL gt Betont einen Ausdruck Beispiele lt EMPH gt do lt EMPH gt it lt EMPHsnow lt EMPH gt Setzt die Lautstarke Beispiele lt VOLUME LEVEL 100 gt This is loud lt VOLUME gt lt VOLUME LEVEL 10 gt This is pretty soft lt VOLUME gt Eine genauere Auflistung aller Elemente und Attribute findet man in der Hilfedatei zum Microsoft Speech SDK SAPI 5 1 unter White Papers XML Schema SAPI MS Speech SDK 6 1 2 Petri Netz Erweiterungen fur die Sprachsynthese Vergewissern sie sich zuerst Rechner installiert haben dass sie eine SAPI Implementierung auf ihrem Im Verzeichnis C Programme Gemeinsame Dateien Microsoft Shared Speech befinden sich die Dateien sapi dll sowie die Control Panel Datei sapi cpl Uber das Control Panel werden die Default Einstellungen f r de Sprachausgabe vorgenommen Stimme Lautst
45. ublic Overridable Sub loadXML ByVal reader As System Xml XmlTextReader Public Overridable Sub saveXML ByVal writer As System Xml XmlTextWriter 6 4 Mathematische Grundlagen Definition 6 4 1 Petri Netz Ein Petri Netz N ist ein Vier Tupel N P T 1 O e P p Ps Pn ist eine endliche Menge von Stellen n 20 e T t to tm ist eine endliche Menge von Transitionen m2 0 e ist die Input Funktion eine Abbildung l T gt BI von Transitionen auf Multimengen von Stellen Zuordnung der Eingangsstellen e O ist die Output Funktion eine Abbildung O T gt P von Transitionen auf Multimengen von Stellen Zuordnung der Ausgangsstellen Die Menge der Stellen und der Transitionen sind disjunkt PN T Definition 6 4 2 Markierung Die Markierung u eines Petri Netzes N P T I O ist eine Abbildung der Menge der Stellen P auf die nicht negativen ganzen Zahlen No u P No Die Markierung u wird definiert als ein n dimensionaler Vektor u U4 H2 Un wobei n P gilt und jedes u No ist f r i 1 2 n Der Vektor u gibt dann f r jede Stelle p an wie viele Marken u in dieser Stelle sind f r i 1 2 n Die oben erwahnte Funktion ist offensichtlich u p u i 1 2 n 6 4 1 Definition 6 4 3 Anzahlfunktion Die Funktion p IO gibt an wie viele Kanten von p P nach tt T gerichtet sind 0 fallsp I t p l t 6 4 2 Anzahlder
46. uffer sprechen markiert so wird der Sprachpuffer ausgegeben Das Petri Netz wartet so lange bis der Text zu Ende gesprochen wurde und l scht abschlie end den Sprachpuffer Sprachausgabe ist vom Typ her eine gezielte Linearisierung von Ereignissen Es muss daher ganz besonders auf die Synchronisation der Ereignisse geachtet werden um die Sprachausgabe nicht zu fragmentieren 1 3 Beispiele 6 1 3 1 Minimum Funktion mit Sprachausgabe START 55 ks j i NW j ks E NW s clear speakbuffer sn READY T3 We The Minimum of S6 and 59 1s f eu PE C 510 mms 510 uch m 2 READY TO SPEAK T7 speak 512 THE END T3 Se Sprachpuffer l schen markiert T4 15 16 Text hinzuf gen markiert T8 ge nichts markiert T7 en Sprachpuffer sprechen markiert Sprachausgabe des Petri Netzes The minimum of 6 and 3 is 3 6 1 3 2 Ein Petri Netz lernt singen Le lt sapi gt lt pitch middle S4 gt do lt s sap piz lt pitch middle S4 gt do lt sapi gt lt sapi gt lt pitch middle S4 gt fa lt sapi sapi gt lt pitch middle S4 gt fa lt sapi gt lt sapi gt lt pitch middle S4 gt so lt s p gt lt sapi gt lt pitch middle S4 gt so lt sapi gt 2 Tee En TFT TT MR I Re r T7 Anmerkung In den obersten 6 Transitionen sind jeweils alle drei Optionen Sprach puffer l schen Text hinzuf gen und Sprachpuffer sprechen
47. usgangs Element verschieden ist so wird dieses Element als Ziel Element angesehen und an diesem Element der Endpunkt gesetzt Es ist zu beachten dass Pfade niemals zwischen zwei gleichen Elementen gezogen werden k nnen Ein Pfad beginnt bzw endet stets an einem Selektionspunkt Dabei wird der n chstgelegene Selektionspunkt ausgew hlt An einem Selektionspunkt k nnen auch mehrere Pfade ihren Start Endpunkt haben Durch Anklicken eines bereits selektierten Start Endpunktes kann der Selektionspunkt nachtr glich gew hlt werden Es kann aber auch zu einem anderen Element hin verbunden werden Der Verlauf einer Verbindung wird ber St tzpunkte gesteuert Diese werden entweder unmittelbar w hrend des erstmaligen Zeichnens gesetzt oder nachtr glich dem Pfad ber das Kontextmen hinzugef gt Die St tzpunkte lassen sich ebenfalls durch Anklicken und Ziehen auf der Zeichenfl che verschieben Ein Verbindungs punkt wird gel scht indem man ihn zun chst selektiert und danach L schen im Men Bearbeiten w hlt Handelt es sich bei einem Pfad um eine Kommunikationslinie so kann diese sowohl positiv als auch negativ sein Eine Kommunikationslinie wird strichliert gezeichnet und mit dem entsprechenden Vorzeichen versehen Abb 21 Positive und negative Kommunikationslinie Eine weitere Eigenschaft eines Pfads ist sein Kantengewicht Wenn das Kanten gewicht einer Linie gr er als 1 ist so wird die Linie dicker gezeichnet Der Petri
48. werden die Default Einstellungen fur die Spracheingabe vor genommen Spracherkenner Mikrofonempfindlichkeit Um die Spracherkennung im Petri Netz zu nutzen fugen sie einen Spracherkenner wie unter Punkt 3 4 beschrieben ein 6 2 3 Beispiele 6 2 3 1 Lampensteuerung mit Spracheingabe Aufgabe Implementieren sie eine einfache Sprachsteuerung mit der zwei Lampen unabh ngig voneinander ein und ausgeschaltet werden k nnen Vorgehensweise Wir k nnen entweder nur einen Spracherkenner verwenden und diesem vier Kommandos hinzuf gen oder aber auch drei Spracherkenner und diesen je zwei Kommandos hinzuf gen Wir wollen uns hier f r die zweite Variante entscheiden und drei Spracherkenner verwenden Der Erste soll zuerst die Lampe ausw hlen der Zweite und Dritte soll festlegen was mit dieser Lampe passieren soll Um die Erkennung zu verbessern verwenden wir im ersten Spracherkenner eine einfache Grammatik der Form light one two switch on off grammer bsp1 xml lt GRAMMAR LANGID 409 gt lt RULE NAME TopLevelRule TOPLEVEL ACTIVE gt lt O gt laght lt 0 gt lt L gt lt P gt one lt P gt lt P gt two lt P gt LJL lt O gt switch lt O gt ka lt P gt on lt P gt lt PoOLL lt 7 PS lt i lt RULE gt lt GRAMMAR gt IN T What What shall do one two Nicht erkannt Der erste Spracherkenner stellt zuerst die Frage what shall do Daraufhin kann z B light one switch
49. werden k nnen 3 4 Spracherkenner einf gen Abb 17 Ansichten eines Spracherkenners normal und selektiert Im Spracherkenner Modus wird durch einen Klick auf die Zeichenfl che ein Spracherkenner an dieser Position eingef gt Dieses Element besteht aus zwei dicken Linien welche oben und unten die Befehlsslots abgrenzen Durch einen Doppelklick auf das Spracherkenner Element wird dessen Dialog f r die Sprach befehle aufgerufen ber den neue Sprachbefehlslots hinzugef gt oder bestehende Slots gel scht werden k nnen Ein Spracherkenner ist vom Typ her eine Transition d h er wird ber Pfade mit Stellen verbunden Eingangsseitig gibt es hinsichtlich der Selektionspunkte keine Unterscheidungen Ein Spracherkenner ist aktiviert wenn an seiner Stelle eine Transition aktiviert w re Ausgangsseitig m ssen die Selektionspunkte unterschieden werden Dabei geh ren die obersten und die untersten drei Selektionspunkte zu jenem Teil des Spracherkenners welcher eine Transition emuliert d h Verbindungen welche diesen sechs Selektionspunkten entspringen werden beim Feuern immer ber cksichtigt Jeder Slot besitzt zwei Selektionspunkte einen Linken und einen Rechten Sind im Zuge eines Spracherkennungsvorganges die Bedingungen zum Feuern eines Slots erf llt so werden jene Verbindungen die in diesen beiden Selektionspunkten ent springen ber cksichtigt Ein Spracherkenner besitzt immer die beiden Slots Leer un
50. zit t am u eren Ende notiert Abb 13 Darstellungen einer Stelle Markenzahl Beschr nkung Die Anzahl der enthaltenen Marken bzw die maximale Kapazit t einer Stelle k nnen ber deren Eigenschaften Dialog ge ndert werden Dieser Dialog kann entweder ber einen Doppelklick auf die gew nschte Stelle oder ber das Kontextmen der Stelle aufgerufen werden Eine Kapazit t von O bedeutet dass die Stelle nicht beschr nkt ist Standardeinstellung Limit 0 Marken 1 Text 4 F CC Textposition Ct eee Abb 14 Eigenschaften einer Stelle Stellen werden durch Pfade mit Transitionen verbunden Ist ein Stellenelement selektiert so zeichnen farbige Punkte jene Orte aus an denen Pfade mit dem Stellen Element verbunden werden k nnen 3 3 Transition einf gen Abb 15 Ansichten einer Transition normal und selektiert je horizontal und vertikal Wenn der Transitionen Modus aktiviert ist wird durch einen Klick auf die Zeichen fl che eine Transition an dieser Position eingef gt Diese Transition besteht aus einer dicken Linie Die Transition kann horizontal bzw vertikal ausgerichtet werden Durch einen Doppelklick auf das Element kann zwischen den beiden Ausrichtungen umgeschaltet werden Abb 16 Eigenschaften einer Transition Transitionen werden durch Pfade mit Stellen verbunden Ist eine Transition selektiert so zeichnen farbige Punkte jene Orte aus an denen Pfade mit dem Transitions Element verbunden

Download Pdf Manuals

image

Related Search

Related Contents

Fire TV Stick User Guide  Mode d`emploi – Flipbook « L`Antiquité au cinéma »  Sandisk SNS User's Manual  Étiquetage des ingrédients des cosmétiques  PORTABREEZE PORTABREEZE    SBC SCSI Software Release 1.1 Software Release Guide Read me  the manual  Sony S2 User's Manual    

Copyright © All rights reserved.
Failed to retrieve file