Filtern
Erscheinungsjahr
- 2010 (27) (entfernen)
Dokumenttyp
- Ausgabe (Heft) zu einer Zeitschrift (11)
- Dissertation (4)
- Studienarbeit (4)
- Diplomarbeit (3)
- Masterarbeit (3)
- Bachelorarbeit (2)
Sprache
- Englisch (27) (entfernen)
Schlagworte
- API (2)
- hybrid automata (2)
- multi-agent systems (2)
- ontology (2)
- Abbildung <Mathematik> (1)
- Absolutismus (1)
- Agentenorientiertes Software Engineering (1)
- Algorithm Engineering (1)
- Artificial Neural Networks (1)
- Autoritarismus (1)
- Beschaffung (1)
- Bildanalyse (1)
- Biometric Authentication (1)
- Biotransformation (1)
- Container Entity Modell (1)
- Context-aware processes (1)
- Core Ontology on Multimedia (1)
- Datenaustausch (1)
- Decision-support (1)
- Description Logic (1)
- Description Logics (1)
- Digitale Bilder (1)
- Dijkstras Algorithmus (1)
- Distributed process execution (1)
- EU (1)
- Eclipse <Programmierumgebung> (1)
- Entscheidungsunterstützung (1)
- Europäischer Schadensbericht (1)
- Fingerprint Recognition (1)
- Formale Ontologie (1)
- ICM (1)
- JML (1)
- Java Modeling Language (1)
- Java. Programmiersprache (1)
- Knowledge Compilation (1)
- Kollektivismus (1)
- Künstliche Neuronale Netze (1)
- Mapping <Mathematics> (1)
- Maßtheorie (1)
- Measure-theory (1)
- Metamodel (1)
- Model-Driven Engineering (1)
- Multi-Agenten-Systeme (1)
- Multiagentensysteme (1)
- Multimedia Metadata Ontology (1)
- Nationalismus (1)
- Networks (1)
- Neuronales Netz (1)
- OCL <Programmiersprache> (1)
- OWL (1)
- OWL <Informatik> (1)
- Ontologie. Wissensverarbeitung (1)
- Ontology (1)
- Ontology API model (1)
- Oracle Generation (1)
- Oraklegenerierung (1)
- PEPPOL (1)
- POIs (1)
- Pan European Public Procurement OnLine (1)
- Petri net (1)
- Pfadplanung (1)
- Plug in (1)
- Probability propagation nets (1)
- Process tracing (1)
- Religiosität (1)
- RoboCup (1)
- Robotik (1)
- STOF Model (1)
- Service-orientierte Architektur (1)
- Software Engineering (1)
- Softwaretest (1)
- Softwaretesting (1)
- Sozialwissenschaftliche Simulation (1)
- Speaker Recognition (1)
- Specification (1)
- Spezifikation (1)
- Test Generation (1)
- Testgenerierung (1)
- Text (1)
- Texterkennung (1)
- UML (1)
- Unterwasserwelt (1)
- VCD (1)
- Virtual Company Dossier (1)
- absolutism (1)
- application programming interfaces (1)
- aquatic environment (1)
- authoritarianism (1)
- backpropagation (1)
- bias (1)
- biotransformation (1)
- collectivism (1)
- constraint logic programming (1)
- cultural dimensions (1)
- distributed information systems (1)
- events (1)
- hybride Automaten (1)
- iCity project (1)
- mPayments (1)
- micro-agent (1)
- mobile interaction (1)
- mobile phone (1)
- model-driven engineering (1)
- modulares System (1)
- multiagent systems (1)
- multimedia metadata (1)
- nationalism (1)
- networks (1)
- neural (1)
- path planning (1)
- points of interest (1)
- privacy protection (1)
- public key infrastructure (1)
- recurrent (1)
- religiousness (1)
- rich multimedia presentations (1)
- robotics (1)
- semantic annotation (1)
- semantics (1)
- social simulation (1)
- visualization (1)
Institut
Die Entwicklung von Algorithmen im Sinne des Algorithm Engineering geschieht zyklisch. Der entworfene Algorithmus wird theoretisch analysiert und anschließend implementiert. Nach der praktischen Evaluierung wird der Entwurf anhand der gewonnenen Kenntnisse weiter entwickelt. Formale Verifffizierung der Implementation neben der praktischen Evaluierung kann den Entwicklungsprozess verbessern. Mit der Java Modeling Language (JML) und dem KeY tool stehen eine einfache Spezififfkationssprache und ein benutzerfreundliches, automatisiertes Verififfkationstool zur Verfügung. Diese Arbeit untersucht, inwieweit das KeY tool für die Verifffizierung von komplexeren Algorithmen geeignet ist und welche Rückmeldungen für Algorithmiker aus der Verififfkation gewonnen werden können.Die Untersuchung geschieht anhand von Dijkstras Algorithmus zur Berechnung von kürzesten Wegen in einem Graphen. Es sollen eine konkrete Implementation des Standard-Algorithmus und anschließend Implementationen weiterer Varianten verifffiziert werden. Dies ahmt den Entwicklungsprozess des Algorithmus nach, um in jeder Iteration nach möglichen Rückmeldungen zu suchen. Bei der Verifffizierung der konkreten Implementation merken wir, dass es nötig ist, zuerst eine abstraktere Implementation mit einfacheren Datenstrukturen zu verififfzieren. Mit den dort gewonnenen Kenntnissen können wir dann die Verifikation der konkreten Implementation fortführen. Auch die Varianten des Algorithmus können dank der vorangehenden Verififfkationen verifiziert werden. Die Komplexität von Dijkstras Algorithmus bereitet dem KeY tool einige Schwierigkeiten bezüglich der Performanz, weswegen wir während der Verifizierung die Automatisierung etwas reduzieren müssen. Auf der anderenrn Seite zeigt sich, dass sich aus der Verifffikation einige Rückmeldungen ableiten lassen.