Add Thesis

Monitoring in Webanwendungen

Written by Kim Mertens

Paper category

Master Thesis

Subject

Computer Science

Year

2013

Abstract

Masterarbeit: Formale Definition von Webanwendungen Abschnitt 2.1 stellt allgemeine und technische Überlegungen zur Umgebung von Webanwendungen dar. An dieser Stelle möchte ich eine formalere Webanwendung definieren. Wie bereits erwähnt, sind Webanwendungen verteilte Anwendungen. Es besteht aus einem Satz von Komponenten C = C1; C2; :::; Cn [Smitn> 0, der sich im Fall des Cium-Clients befindet. Computer können nicht miteinander kommunizieren, jede Komponente sendet Ereignisse aus und es gibt einen zentralen Überwachungspunkt EV Di, der Ereignisse empfängt. Durch Ereignisse verstehe ich wichtige Momente, die zu einer bestimmten Zeit und an einem bestimmten Ort stattfinden. Dies ist wie ein Signal, dass etwas passiert ist. Die Menge aller Ereignisse ist E = [ni = 1Ei [Es wobei Eid das an die Komponente Ci gesendete und daher für sie sichtbare Ereignis ist. Das Ereignis ist auf der Serverseite. Außerdem gilt 8i;j6nmiti, j Ei \ Ej = und Ei \ Es = ;. Dies bedeutet, dass Ereignisse lokal sind, da sie die Komponente sind, die auf ihnen ausgegeben wird. Ereignisse bilden eine Sequenz, und die Sequenz muss immer mit Zeit- und Systemprozessen verbunden sein, auf die ich im nächsten Abschnitt eingehen werde 4.2 Über Zeit und Systemprozesse In vielen Anwendungsgebieten der Wissenschaft und Technik wird der Begriff der Zeit verwendet. Insbesondere in der klassischen Physik werden dynamische Systeme durch mathematische Modelle beschrieben, die Gleichungen zwischen Zeitvariablen und anderen Größen erstellen. [Furia., 2010] untersuchte die Nutzung von Zeit in der Wissenschaft. Im Hardwarebereich wird die Zeit kontinuierlich oder diskret definiert. In der Software- und Theoretischen Informatik wird die Zeitdefinition von Rechenschritten verwendet, während in Echtzeitanwendungen die Umgebung in die Zeitdefinition einbezogen wird. Wenn man auch die Zeit mitberücksichtigt, besteht das System klassischerweise aus Zuständen, die den Zustandsraum überspannen. Für verschiedene Strukturen, die Zeit definieren können, gibt es zwei verschiedene Typen von Modellen: lineare Modelle und Zweigmodelle. Gibt es beispielsweise nur einen Programmablauf, handelt es sich um ein lineares Zeitmodell. Wenn Sie in Zukunft verschiedene Möglichkeiten prüfen möchten, gibt es eine Filialstruktur. Das Verhalten des Systems kann operativ oder beschreibend spezifiziert werden. Aufzüge können beispielsweise durch Moore-Maschinen, Petrinetze oder Formeln spezifiziert werden, und sequentielle Logik wurde verwendet, um dynamisches Verhalten zu beschreiben. Abschnitt 3.1.4 beschreibt zwei mögliche Zeitlogiken, und in Abschnitt 4.4 möchte ich zeigen, wie ich das dynamische Verhalten einer Webanwendung beschreibe. 4.3 Über das Wissen in der Webanwendung Während des Aufbaus des Webanwendungs-Monitoring-Frameworks gab ich eine formale Beschreibung des Systems (Abschnitt 4.1). Im vorherigen Abschnitt habe ich über die Zeit und den Prozess des Systems gesprochen, aber ich habe nicht über die Wissenspunkte gesprochen, die erforderlich sind, um die Eigenschaften des verteilten Systems testen zu können. Der Wissensbegriff wurde in vielen Bereichen erforscht, angefangen von der Philosophie [Hintikka, 1962] und der künstlichen Intelligenz [McCarthy., 1979, Moore, 1985] bis zur Spieltheorie [Aumann, 1976] in der Psychologie [Clark. Marshall, 1981] ]. Bei einer gewöhnlichen, nicht verteilten Single-Thread-Anwendung ist die Situation einfach: Im Wesentlichen gibt es nur einen Teilnehmer (Programm) und es gibt eine allwissende Sicht auf die Java Virtual Machine. Wie Lamport und Chandy betonten, gibt es in verteilten Anwendungen keine einfache Möglichkeit, eine globale Ansicht des Systems zu erhalten, ohne das System zu stoppen oder einen verteilten Snapshot-Algorithmus auszuführen [Lamport, 1978]. In einer verteilten Anwendung (z. B. einer Webanwendung) können verschiedene Komponenten als Akteure oder Agenten verwendet werden. In Halpern und Moses [Halpern. Moses, 1990] bezieht sich ein verteiltes System auf eine Menge von Durchläufen, wobei jeder Durchlauf eine Geschichte bildet, die den Zustand der Umgebung und den lokalen Zustand des Agenten zu jedem Zeitpunkt identifiziert. Auf diese Weise hat jeder Agent sein eigenes Wissen und seine eigene Sicht auf die Umgebung, und die Kommunikation in einem verteilten System ist der Schlüssel zum Wissen, da sie auf den Nachrichten und Ereignissen basiert, die jeder Agent empfängt und sieht. Wissen muss nur zwei Attribute erfüllen: Das Wissen eines Agenten zu einem bestimmten Zeitpunkt basiert auf seiner lokalen Geschichte, und nur das Reale ist bekannt. L wird einem anderen Teilnehmer eine Nachricht schicken und ihn um eine Lösung bitten. Da Nachrichten jedoch in einer anderen Reihenfolge ankommen können und dies die Anzahl der gesendeten Nachrichten stark erhöht, ist diese Idee nicht optimal. Ich habe die Idee von Sen et al. übernommen. Die desKnowledge Vectors aus [Sen., 2004] werden in [Sen., 2006] weiterhin verwendet, um Wissen zwischen Aktoren auszutauschen. Der Wissensvektor besteht aus einem Zeitstempel oder einer Seriennummer und einer Wissenssammlung. Es repräsentiert das Wissen des Teilnehmers über die Anwendung zu einem bestimmten Zeitpunkt. Die Größe des Vektors wird durch die Anzahl der Entfernungsformeln und -ausdrücke begrenzt, die ich in Abschnitt 4.4 einführen werde. Wissen ist eng mit der Definition von Zeit verbunden, also auch mit dem effektiven Betriebsbereich basierend auf der in Abschnitt 4.2 vorgeschlagenen Idee von L. Read Less