Zustandsautomat für Telefonieanwendung
Hallo leute,
ich befinde mich gerade in der etwas unangenehmen situation, das ich meine programmierung innerhalb einer diplomarbeit erklären muss.
es handelt sich hierbei um eine ip-telefonie software, die per sip-signalisierung eine audiovisuelle kommunikation über das internet ermöglicht. bei sip handelt es sich um ein protokoll, mit dem die kommunikation über aufgebaut und deren eigenschaften (codecs, ports, ip) zwischen den teilnehmern ausgehandlet werden. die infos werden dann für das streaming der audio- und video- medien zwischen den teilnehmern genutzt
dabei habe ich natürlich gleich mit der umsetzung angefangen und ein system entwickelt, das diese signalisierung umsetzt. die ablaufsteuerung des systems erfolgt über ein zustandsbasiertes system, das per automat entscheidet welche aktionen zulässig sind. die zustände sind die eines normalen telefons nachempfunden:
- bereitschaft (zum rufaufbau bzw. entgegennahme eine anufes)
- rufaufbau (teilnehmer ruft an)
- telefonat (anruf ist aufgebaut, die teilnehmer können miteinander kommunizieren)
- rufabbau (teilnehmer beendet ein das gespräch)
dabei gibt es fest definierte zustandsübergänge, so kann man von bereitschaft nur in den zustand rufaubau überwechseln, von telefonat in rufabbau usw.
dabei habe ich mir ein zustandsautomat zusammengebastelt, der die zustände zum einen beschreibt und die übergänge festlegt. der zustandsautomat nimmt dabei anweisungen (ereignisse) entgegen die durch meine software-implementierung generiert werden. zum beispiel (vereinfacht) die ereignisse: "befehl_zum_rufaubfau", "anruf_beenden" oder "eingehender_anruf".
die ereignisse werden genüber des aktuellen zustandes überprüft (ob diese quasi ausgeführt werden können) und führen ggf. zu einem zustandswechsel. so lässt sich gewährleisten das es nicht möglich ist, telefonat zu beenden wenn man im zustand bereit ist, oder es ist nicht möglich ein telefonat zu beginnen, wenn ein telefonat bereits geführt wird.
innerhalb des zustandsübergangs werden anweisungen in meiner applikation ausgeführt. so führt das ereigniss "befehl_zum_rufaufbau" zu den entsprechenden signalisierungstechnischen vorgängen.
jetzt meine fragestellung: wie kann ich das einfach für meine professor beschreiben? ich habe hier den themenkomlex des
zustandsautomat und deren funktionsweise, sowie die integration innerhalb meiner applikation. ich habe mir seit mehreren tagen den kopf zerbrochen wie ich sowas für meinen prof. aufarbeiten kann. ich habe entsprechende ablaufdiagramme mit den übergängen sowie die programmstrukturen. meine frage is jetzt halt wie ich das system in der arbeit quasie einbringe. ich habe mir sowas wie die vorgabe der zustände überlegt. aber irgend wie gelingt mir das nicht so richtig, den sprung von diesen modell auf die umsetzung analytisch widerzugeben. (es ist bei mir eher nur eine beschreibung, was für zustände gibt es und wie hängen diese zusammen)
um das ganze noch ein wenig mehr mit technik zu beschreiben, die zustandsmaschiene arbeit mit der "sip-verarbeitung" per listener-modell zusammen, und besitzen zugriff auf die notwendigen programmstrukturen (sende- methoden) über referenzen. die methoden werden jeweils in den zustandsübergangen augeführt.
Hallo leute,
ich befinde mich gerade in der etwas unangenehmen situation, das ich meine programmierung innerhalb einer diplomarbeit erklären muss.
es handelt sich hierbei um eine ip-telefonie software, die per sip-signalisierung eine audiovisuelle kommunikation über das internet ermöglicht. bei sip handelt es sich um ein protokoll, mit dem die kommunikation über aufgebaut und deren eigenschaften (codecs, ports, ip) zwischen den teilnehmern ausgehandlet werden. die infos werden dann für das streaming der audio- und video- medien zwischen den teilnehmern genutzt
dabei habe ich natürlich gleich mit der umsetzung angefangen und ein system entwickelt, das diese signalisierung umsetzt. die ablaufsteuerung des systems erfolgt über ein zustandsbasiertes system, das per automat entscheidet welche aktionen zulässig sind. die zustände sind die eines normalen telefons nachempfunden:
- bereitschaft (zum rufaufbau bzw. entgegennahme eine anufes)
- rufaufbau (teilnehmer ruft an)
- telefonat (anruf ist aufgebaut, die teilnehmer können miteinander kommunizieren)
- rufabbau (teilnehmer beendet ein das gespräch)
dabei gibt es fest definierte zustandsübergänge, so kann man von bereitschaft nur in den zustand rufaubau überwechseln, von telefonat in rufabbau usw.
dabei habe ich mir ein zustandsautomat zusammengebastelt, der die zustände zum einen beschreibt und die übergänge festlegt. der zustandsautomat nimmt dabei anweisungen (ereignisse) entgegen die durch meine software-implementierung generiert werden. zum beispiel (vereinfacht) die ereignisse: "befehl_zum_rufaubfau", "anruf_beenden" oder "eingehender_anruf".
die ereignisse werden genüber des aktuellen zustandes überprüft (ob diese quasi ausgeführt werden können) und führen ggf. zu einem zustandswechsel. so lässt sich gewährleisten das es nicht möglich ist, telefonat zu beenden wenn man im zustand bereit ist, oder es ist nicht möglich ein telefonat zu beginnen, wenn ein telefonat bereits geführt wird.
innerhalb des zustandsübergangs werden anweisungen in meiner applikation ausgeführt. so führt das ereigniss "befehl_zum_rufaufbau" zu den entsprechenden signalisierungstechnischen vorgängen.
jetzt meine fragestellung: wie kann ich das einfach für meine professor beschreiben? ich habe hier den themenkomlex des
zustandsautomat und deren funktionsweise, sowie die integration innerhalb meiner applikation. ich habe mir seit mehreren tagen den kopf zerbrochen wie ich sowas für meinen prof. aufarbeiten kann. ich habe entsprechende ablaufdiagramme mit den übergängen sowie die programmstrukturen. meine frage is jetzt halt wie ich das system in der arbeit quasie einbringe. ich habe mir sowas wie die vorgabe der zustände überlegt. aber irgend wie gelingt mir das nicht so richtig, den sprung von diesen modell auf die umsetzung analytisch widerzugeben. (es ist bei mir eher nur eine beschreibung, was für zustände gibt es und wie hängen diese zusammen)
um das ganze noch ein wenig mehr mit technik zu beschreiben, die zustandsmaschiene arbeit mit der "sip-verarbeitung" per listener-modell zusammen, und besitzen zugriff auf die notwendigen programmstrukturen (sende- methoden) über referenzen. die methoden werden jeweils in den zustandsübergangen augeführt.
Anhänge
Zuletzt bearbeitet: