677 research outputs found
Analysing equivalence of expressions in a non-strict functional programming language
Gegenstand der Arbeit ist ein Gleichheitskalkül für den Kern einer nicht-strikten funktionalen Programmiersprache. Funktionale Programmiersprachen unterstützen bestens die Prinzipien Abstraktion, Einkapselung, Hierarchiesierung und Modularisierung, die gemeinhin als Grundelemente des Software-Engineering betrachtet werden. Darüber hinaus bieten funktionale Programmiersprachen aufgrund ihrer Entwicklung aus dem Lambda-Kalkül eine große Nähe zu mathematischen Modellen. Daher besitzen sie im Bereich der Programmverifikation ausgeprägte Vorteile gegenüber imperativen oder objekt-orientierten Programmiersprachen. In der Arbeit wird nun ein Gleichheitsbegriff für Ausdrücke in funktionalen Programmiersprachen entwickelt und dessen Praktikabilität durch die Implementierung eines Beweisers untermauert. Dieser Gleichheitsbegriff ist die kontextuelle Gleichheit, die Ausdrücke aufgrund ihres Terminierungsverhaltens als Unterprogramme in allen möglichen Kontexten einordnet. Kontextuelle Gleichheit wird in Kapitel 2 vorgestellt, nachdem der klassische und der sogenannte "lazy" Lambda-Kalkül eingeführt wurden. Kapitel 3 enthält einen Überblick über die funktionale Programmierung, da auch die Implementierung des o.g. Beweisers in einer funktionalen Programmiersprache, nämlich Haskell, durchgeführt wird. In Kapitel 4 wird die funktionale Kernsprache, die Gegenstand der Untersuchung sein wird, beschrieben. Sie enthält alle wesentlichen Elemente wie z.B. Funktionsdefinition und -anwendung sowie Datentypen. Im selben Kapitel wird auch der Gleichheitsbegriff für diese Kernsprache definiert. Kapitel 5 schließlich entwickelt auf Basis der zuvor erfolgten Definitionen einen Kalkül für den Gleichheitsbeweis. Außerdem wird in diesem Kapitel auch die Umsetzung dieses Gleichheitskalküls präsentiert. Aus der Dissertation von Marko Schütz werden hierbei Erkenntnisse über die Kontextanalyse verwendet, um erfüllende Belegungen von freien Variablen zu berechnen. Die Arbeit schließt mit Beispielanalysen und Meßwerten sowie einer Diskussion der Ergebnisse und möglicher Erweiterungen
Realisierung von Softwareproduktlinien durch Komposition von Belangimplementierungen
Softwareproduktlinienentwicklung ist ein Ansatz zur systematischen Wiederverwendung von Softwareartefakten. In dieser Arbeit stellen wir ein Verfahren vor, welches es erlaubt, unterstützte Merkmale einer Produktlinie in Form voneinander abgegrenzter Belangimplementierungen zu spezifizieren und diese zu maßgeschneiderten Varianten der Produktlinie zu komponieren. Das Verfahren vereinigt hierzu Konzepte der mehrdimensionalen Belangtrennung, der generischen Programmierung sowie der Generierung
Natürlichsprachliche Beschreibung des Verhaltens von Fahrzeuggruppen [online]
Kurzfassung
Das Institut für Algorithmen und Kognitive Systeme (IAKS)
beschäftigt sich mit der algorithmischen Auswertung von
Bildfolgen, welche an innerstädtischen
Strassenverkehrskreuzungen aufgezeichnet werden. In der
vorliegenden Arbeit wurde eine Methode entwickelt, mit der man
die Änderung der Zusammensetzung einer Fahrzeugmenge
natürlichsprachlich beschreiben kann. Diese Methode verwendet
als Eingabedaten begriffliche Beschreibungen einzelner in einer
Bildfolge erkennbarer Fahrzeuge und eine begriffliche
Beschreibung der Fahrbahnen einer Straßenverkehrskreuzung.
Die verwendeten begrifflichen Beschreibungen stellen das
Ergebnis einer algorithmischen Bildauswertung bzw.
Bildfolgenauswertung auf geometrischer Ebene dar. Die
entwickelte Methode läßt sich in vier Schritte unterteilen. Im
ersten Auswertungsschritt werden Fahrzeuge gemäß vorgegebener
Schemata zu Fahrzeugmengen zusammengefaßt. Im zweiten Schritt
wird eine begriffliche Beschreibung der Änderung der
Zusammensetzung einer bestimmten Fahrzeugmenge erschlossen. In
einem dritten Schritt werden unter Verwendung der im zweiten
Schritt erschlossenen Prädikate Ereignis-Prädikate ausgeprägt.
Jedes im dritten Schritt ausgeprägte Ereignis-Prädikat bildet im
vierten Schritt den Ausgangspunkt für die Formulierung eines
natürlichsprachlichen Satzes (vgl. Abshnitt 3.2.1).
Außerdem wurden in der vorliegenden Arbeit natürlichsprachliche
Aussagen aufgelistet, welche ein System zur
natürlichsprachlichen Beschreibung des Verhaltens von
Fahrzeugmengen generieren sollte (vgl. Abschnitt 3.1 und Anhang
F)
Formalisierung und Architektur von Medien und ihren Gemeinschaften
Zusammenfassung:
"Medienmodell und Medienreferenzmodell werden als Modelle für Plattformen für Gemeinschaften von natürlichen und künstlichen Agenten eingeführt. Diese Modelle werden mit Logik, Rewrite Logic, Labelled Deductive Systems und Modaler Logik formalisiert. Aus dieser Formalisierung wird eine generische Architektur für Medien entwickelt. Anhand der Beispiele eines Online-Buchladens, eines Online Marktes und der Analyse von Gemeinschaften werden Modelle, Modellierung und Architektur motiviert und konkretisiert.
- …