16 research outputs found

    Automatische Erzeugung von Verifikations- und Falsifikationsbedingungen sequentieller Programme

    Get PDF
    The aim of program verification is to prove the correctness of a program S with respect to a formal specification, that consists of a pre- and a postcondition V and N. In other words: are program S and specification (V, N) consistent? -- V S -- N Program S is correct, if S starts in a state that fulfills V and terminates in state that fulfills N. The form al definition of correctness is S is correct wrt. (V, N) if [V => wp(S, N)]. wp(S, N) is the wea kest precondition, that guarantees termination in a state fulfilling N. For the purpose of program verification the axiomatic or relational semantics is necessary. These two kinds of formal semantics are equivalent. Axiomatic semantics uses the wp-function, that works on the complete lattice of predicates. Relational semantics uses the LP (largest preset)-function, that works on the complete lattice of state sets. These two lattices are isomorph thru the characteristic predicate function of a set. In order to work efficiently with the wp-function some properties of that function are necessary and useful. Two new properties are shown: strong disjunctivity for comparable predicates and the substitution lemma for wp. Furthermore it turns out, t hat all properties of the wp-function are easily provable in the lattice of state sets with elementary set theory. A VC is defined to be a condition that implies correctness, formally [VC => [V => wp(S, N)]. A distinction is made between exact and ap proximate VCs. The major results of the thesis are verifying loops without an invariant and falsification conditions. In order to verify loops without a given invariant, two strategies are possible: 1. generate the invariant or 2. compute the wp-function for the loop Strategy 1 is used to compute invariants for for-loops. The invariant is generated by substituting a constant in the postcondition by a variable, more exactly the upper limit of the loop is substituted by the loop variable. In gener al the upper limit is not a variable. Therefore the loop is transformed into a semantically equivalent loop. Strategy 2 is used to compute the wp of while-loops by a new method that uses E-unification. Falsification conditions (FCs) are very useful i n practical program verification. They explicitly prove the incorrectness of a program and facilitate a localization of program errors. FCs are defined in an analog way as VCs: an FC implies the incorrectness of a program, formally [FC => not [V => w p(S, N)]. FCs are reduced to constraint programming problems (cpp) or, in the case of integer types, to integer programming problems (ipp). ipp also arise in data dependence analysis. Therefore similar methods can be applied

    Realisierung von Softwareproduktlinien durch Komposition von Belangimplementierungen

    Get PDF
    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

    Unterstützung von Entwurfsmustern im Quelltext durch bedeutungsorientierte Dokumentation

    Get PDF
    Die Bedeutung erweiterbarer und wartbarer Software wächst mit zunehmender Komplexität des Technologiemarktes. Es gibt zahlreiche Ansätze, Entwickler bei der Erstellung derartiger Software zu unterstützen. Ein Ansatz sind Entwurfsmuster. Sie helfen bei der Reduzierung des Problems des Architekturzerfalls, der durch naturgemäß steigende Entropie und Komplexität während des Software-Entwicklungsprozesses entsteht. Die Anzahl der dokumentierten Entwurfsmuster nimmt durch neue Publikationen stetig zu. Die Auswahl geeigneter Muster für einen Anwendungsfall wird dadurch immer schwieriger. Weiterhin wird die in der Praxis nur bedingt verfügbare und unzureichende Unterstützung für Entwickler bei der Arbeit mit Entwurfsmustern der intensiven Beschäftigung in der Forschung mit diesem Thema nicht gerecht. Diese Arbeit leistet einen Beitrag zur besseren Unterstützung des Entwicklers bei der Arbeit mit Mustern jeglicher Granularität. Die formale Dokumentation dieser wird thematisiert, um anhand dessen die Anwendbarkeit eines Musters für einen objektorientierten Quelltext festzustellen und das Muster mit Hilfe von Quelltexttransformationen werkzeuggestützt anzuwenden. Sie stellt eine durchgängige Methodik bereit für das Anreichern von Programmtext mit semantischen Informationen, die bei der Musterselektion und -anwendung dienlich sind. Die vorgestellte Methodik ist für den Einsatz in Quelltextrezensionen geeignet, deckt also die Forward- und Reengineering-Phase bei der Software-Entwicklung ab.The significance of extendable and maintainable software rises with the growing complexity of technologies. Numerous approaches support developers to create software with these characteristics. One such approach is given with design patterns. They help in reducing the problem of architectural decay, which comes naturally from escalating entropy and complexity during the process of software development. The number of to-date documented design patterns raises through new publications steadily. Thus, the selection of applicable patterns for a given use case becomes more difficult. Besides, the limited support for developers when working with design patterns in practice does not reflect the massive effort put into this issue by academic research. This work contributes to a better support of patterns with arbitrary granularity in the developer’s daily work. Focus lies on the formal documentation of patterns in order to determine their applicability for a given object-oriented source code and to apply them on a tool-basis with help of source code transformations. This work provides a method for enriching source code with semantic information that is seen as valuable for the processes of selecting and applying a pattern. The present work is suited for source code reviews and thus covers the forward and reengineering phase during software development

    Formatives E-Assessment in der Hochschullehre:computerunterstützte Lernfortschrittskontrollen im Informatikstudium

    Full text link
    Der Einsatz von E-Assessment-Systemen zur computerunterstützten Durchführung von Lernfortschrittskontrollen kann die Effektivität, Effizienz und Qualität universitärer Prüfungsprozesse steigern. Im Studienfach Informatik, in dem analytische, kreative und konstruktive Fähigkeiten zu überprüfen sind, werden solche Systeme bislang jedoch nur selten eingesetzt. In der vorliegenden Dissertation wird aufgezeigt, wie die Potenziale der Computerunterstützung im Übungsbetrieb der Informatik realisiert werden können. Hierzu werden zunächst wesentliche didaktische, methodische und organisatorische Grundlagen des universitären E-Assessments skizziert und analysiert. Aufbauend werden die Entwicklung, die Funktionsweise und der Praxiseinsatz des E-Assessment-Systems EASy beschrieben, das insbesondere durch seine anspruchsvollen Aufgabenmodule zu Java-Programmieraufgaben, mathematischen Beweisen und Verifikationsbeweisen eine adäquate Unterstützung des Informatik-Übungsbetriebs ermöglicht

    Bericht 2007/2008

    No full text

    Das Computerprogramm als Erfahrungsgegenstand

    Get PDF
    Was ist eigentlich ein Computerprogramm? Technikphilosophische Überlegungen deuten darauf hin, dass unter diesen Begriff sehr unterschiedliche Gegenstände fallen können. Bisherige ontologische Analysen zergliedern aus diesem Grund den Begriff, um beispielsweise zwischen der Semantik eines Programms und greifbaren technischen Artefakten zu unterscheiden. Derartige Analysen bieten eine große Klarheit und Präzision bei der Begriffsverwendung, da die Unterscheidungen der zuvor zergliederten Begriffsanteile in den Vordergrund treten. Gleichzeitig führt dieses Vorgehen jedoch dazu, dass die Zusammenhänge, Verbindungen und wechselseitigen Beeinflussungen der einzelnen Bedeutungen, welche im "Programm"-Begriff gebündelt sind verdeckt werden können. Um diesem Nachteil zu begegnen, wird in dieser Arbeit ein mehrdimensionaler Programmbegriff entwickelt, der eine Unterscheidung zwischen verschiedenen Bedeutungsebenen des Programmbegriffs vornimmt, gleichzeitig aber deren Zusammenhang herausarbeitet. Dafür werden der Begriffsbestimmung epistemologische Überlegungen vorangestellt, die der Frage nachgehen, wie Computerprogramme überhaupt von Menschen wahrgenommen werden können, wie Programme Gegenstände menschlicher Erfahrung werden. Ausgehend von Immanuel Kants Transzendentalphilosophie und Edmund Husserls Grundlegung der Phänomenologie wird ein Zugang zu dieser Erfahrung von Computerprogrammen entwickelt. Dabei wird herausgearbeitet, dass die Programme auf vier voneinander unterscheidbare Arten als Gegenstand konstituiert werden. Die daraus resultierenden Bedeutungsebenen des vorgestellten Programmbegriffs sind jeweils Programme als räumlich-zeitliche, syntaktische, semantische und eingebettete Gegenstände. Der Zusammenhang zwischen diesen Begriffsdimensionen zeigt sich dabei als Eigenschaft der Wahrnehmung von Programmen: Je nachdem, als was ein Programm konstituiert wird, können die jeweils anderen Begriffbedeutungen von "Programm" appräsentiert, also mitgegeben, sein. Dieser Zusammenhang ist in hohem Maße gesellschaftlich und technisch bedingt. Um diese Bedingtheit zu untersuchen wird dies anschließend als Assoziation im Sinne von Bruno Latours Akteur-Netzwerk-Theorie untersucht. Der hier entwickelte Programmbegriff eignet sich, um die Bedeutung von Computerprogrammen im Rahmen technikphilosophischer und techniksoziologischer Forschung zu analysieren. Die Anwendbarkeit des mehrdimensionalen Programmbegriffs zur Analyse menschlicher Bezüge zur Computertechnologie wird in der vorliegenden Arbeit an drei Fallbeispielen im Umfeld der Softwareentwicklung aufgezeigt. Im Mittelpunkt dieser Überlegungen stehen die wechselseitigen Verhältnisse von Mensch, Technik und Gesellschaft zueinander. Abschließend zeigt ein Ausblick weitere Bereiche, in denen mithilfe des entwickelten Begriffs aussichtsreiche Untersuchungen durchgeführt werden können

    Workflow-Management für Produktentwicklungsprozesse

    Get PDF
    Workflow-Management-Systeme unterstützen die elektronische Abwicklung von Arbeitsprozessen, sogenannten Workflows. Heutige Systeme erzwingen meist die starre Ausführung vormodellierter Workflows, was ihre praktische Tauglichkeit auf Anwendungsgebiete mit starren Prozessen beschränkt. In vielen Anwendungsbereichen sind Arbeitsprozesse jedoch meist nur semi-strukturiert. Dieses Merkmal ist aufgrund kreativer Teilaufgaben auch typisch für alle Produktentwicklungsprozesse, für die in dieser Arbeit adäquate Modellierungs- und Ausführungskonzepte vorgestellt werden. Diese Konzepte wurden im WEP-Workflow-Management-Systems (WEP = Workflow Management for Engineering Processes) zur Demonstration der Machbarkeit und des praktischen Nutzens prototypisch implementiert

    Isothermal modeling of compressible fluids on cosmological timescales

    Get PDF
    Viele, oft sehr verschiedenartige, astrophysikalische Objekte weisen einen hohen Grad an Symmetrie auf. In dieser Arbeit führen Symmetrieannahmen zusammen m it der Isothermieannahme zu einem Modell, das es erlaubt, unterschiedliche physikalische Problemstellungen im Bereich der Astrophysik zu modellieren. Das Augenmerk liegt auf der Entwicklung von Supernovaüberresten und Aktiven Galaktischen Kernen. Es wird ein vollständiges mathematisches Modell isothermer Supernovaüberreste ausgearbeitet, das über die Annahme der Selbstähnlichkeit zu semi-analytischen Ausdrücken führt. Freie Parameter des Modells führen zu wichtigen Einschränkungen in der Modellierbarkeit isothermer Supernovaüberreste. Es wird gezeigt, dass eine isotherme Entwicklungsphase für Supernovaüberreste existiert und zwischen der bekannten Sedov-Taylor-Phase und der explosionsdominierten Phase eingegliedert werden kann. Aktuelle Beobachtungen der Ausbreitungsgeschwindigkeit von Tycho verifizieren diese Aussage. Zur Theorie der Entwicklung Aktiver Galaktischer Kerne wird im zweiten Teil der Arbeit ein Programmpaket entwickelt. Dieses ist, aufgrund eines schnellen impliziten numerischen Zeitintegrationsverfahrens in der Lage, die dynamische Entwicklung einer Akkretionsscheibe um ein zentrales Schwarzes Loch innerhalb der Hubble-Zeit zu simulieren. Somit werden Untersuchungen ganzer Ensembles an Aktiven Galaktischen Kernen möglich. Die mathematische Formulierung basiert auf einer koordinatenfreien Darstellung, womit unterschiedlichste Objekte simuliert werden können, beispielsweise isotherme Supernovaüberreste. Das Programm wird ausgiebig getestet und die Auswirkungen unterschiedlicher Anfangsbedingungen auf das System untersucht. Es wird gezeigt, dass das vermutete schnelle Wachstum Aktiver Galaktischer Kerne im frühen Universum stark von der initialen Dichteverteilung sowie von der absoluten initialen Masse der Akkretionsscheibe abhängen.Various astrophysical objects tend to have a high degree of symmetry which is useful in reducing the mathematical complexity of the governing model equations. The scope of this work lies in the application of both, the symmetry assumptions and the additional isothermal assumption. This leads to a wide range of astrophysical problems, especially supernova remnants and active galactic nuclei. The concept of self-similarity together with the above made assumptions are used to model the dynamics of supernova remnants, yielding semi-analytical solutions for such problems. Important restrictions of the mathematical theory are investigated, showing great importance in the expansion process of supernova remnants. Further, the existence of an isothermal phase in the development of supernova remnants is shown. Moreover it is found, that this phase may be the link between the previously known Sedov-Taylor-phase and the explosion-dominated phase. This finding is supported by recently made investigations due to the shock velocity of Tycho which is in good agreement with the findings of the isothermal, self-similar model. The second part of this work deals with the development of a numerical scheme capable of solving the governing equations of the dynamics of an accretion disk around a massive central black hole, also known as active galactic nuclei. This scheme allows to simulate on cosmic timescales due to an efficient implicit numerical integration scheme. Hence, the investigation of numerous active galactic nuclei is possible, meaning to simulate the mass accretion of whole ensembles. The mathematical scheme is based on a coordinate free formulation permitting a wide range of applicable scenarios, for example the previously investigated supernova remnants. Widely discussed test cases are followed by an investigation of initial density conditions to the system. It is shown, that an assumed fast growth of a central black hole surrounded by an accretion disk depends strongly on the initial density distribution and the initial disk mass
    corecore