276 research outputs found

    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

    System und Sprache zur Behandlung graphischer Information im rechnergestuetzten Entwurf

    Get PDF

    Objektorientierte Ansätze in einer relationalen Datenbankumgebung : Fallbeispiel Vertriebsinformationssystem

    Get PDF
    Keine Zusammenfassung verfügbar

    Modellbasierte Generierung von Benutzungsoberflächen

    Get PDF
    Die Arbeit stellt einen integrierten Gesamtprozess zur modellgetriebenen Softwareentwicklung von Benutzungsschnittstellen und Geschäftslogik vor. Dazu notwendige und unterstützende Deklarationsmodelle, sowie Modelltransformationen für dieses Verfahren, werden entwickelt und präsentiert. Weiterhin werden Meta-Modelle für Aufbau und Wartung eines HCI-Patternkatalogs vorgestellt und zur Erstellung eines solchen Kataloges benutzt. Die darin enthaltenen Einträge werden in Bezug auf Ihre softwaretechnische Komponentisierbarkeit untersucht und klassifiziert.The thesis presents an integrated model-driven approach for developing software. This approach supports the generation of user interfaces, as well as artifacts of business logic. Suitable meta models and model transformations are developed and explained. Secondly, this thesis dwells on the topic of HCI patterns. It is researched how such patterns may be classified, componentized and made use of in a model-driven process. This work eventually yields a pattern language, whose entries are declared using state-of-the-art model-driven technologies

    Qualitätssicherung von Modelltransformationen - Über das dynamische Testen programmierter Graphersetzungssysteme

    Get PDF
    Modelle und Metamodelle repräsentieren Kernkonzepte der modellgetriebenen Softwareentwicklung (MDSD). Programme, die Modelle (unter Bezugnahme auf ihre Metamodelle) manipulieren oder ineinander überführen, werden als Modelltransformationen (MTs) bezeichnet und bilden ein weiteres Kernkonzept. Für dieses klar umrissene Aufgabenfeld wurden und werden speziell angepasste, domänenspezifische Transformationssprachen entwickelt und eingesetzt. Aufgrund der Bedeutung von MTs für das MDSD-Paradigma ist deren Korrektheit essentiell und eine gründliche Qualitätssicherung somit angeraten. Entsprechende Ansätze sind allerdings rar. In der Praxis erweisen sich die vornehmlich erforschten formalen Verifikationsansätze häufig als ungeeignet, da sie oft zu komplex oder zu teuer sind. Des Weiteren skalieren sie schlecht in Abhängigkeit zur Größe der betrachteten MT oder sind auf Abstraktionen bezogen auf die Details konkreter Implementierungen angewiesen. Demgegenüber haben testende Verfahren diese Nachteile nicht. Allerdings lassen sich etablierte Testverfahren für traditionelle Programmiersprachen aufgrund der Andersartigkeit der MT-Sprachen nicht oder nur sehr eingeschränkt wiederverwenden. Zudem sind angepasste Testverfahren grundsätzlich wünschenswert, da sie typische Eigenschaften von MTs berücksichtigen können. Zurzeit existieren hierzu überwiegend funktionsbasierte (Black-Box-)Verfahren. Das Ziel dieser Arbeit besteht in der Entwicklung eines strukturbasierten (White-Box-)Testansatzes für eine spezielle Klasse von Modelltransformationen, den sog. programmierten Graphtransformationen. Dafür ist anhand einer konkreten Vertreterin dieser Sprachen ein strukturelles Überdeckungskonzept zu entwickeln, um so den Testaufwand begrenzen oder die Güte der Tests bewerten zu können. Auch müssen Aspekte der Anwendbarkeit sowie der Leistungsfähigkeit der resultierenden Kriterien untersucht werden. Hierzu wird ein auf Graphmustern aufbauendes Testüberdeckungskriterium in der Theorie entwickelt und im Kontext des eMoflon-Werkzeugs für die dort genutzte Story- Driven-Modeling-Sprache (SDM) praktisch umgesetzt. Als Basis für eine Wiederverwendung des etablierten Ansatzes der Mutationsanalyse zur Leistungsabschätzung des Kriteriums hinsichtlich der Fähigkeiten zur Fehlererkennung werden Mutationen zur synthetischen Einbringung von Fehlern identifiziert und in Form eines Mutationstestrahmenwerks realisiert. Letzteres ermöglicht es, Zusammenhänge zwischen dem Überdeckungskonzept und der Mutationsadäquatheit zu untersuchen. Im Rahmen einer umfangreichen Evaluation wird anhand zweier nichttrivialer Modelltransformationen die Anwendbarkeit und die Leistungsfähigkeit des Ansatzes in der Praxis untersucht und eine Abgrenzung gegenüber einer quellcodebasierten Testüberdeckung durchgeführt. Es zeigt sich, dass das entwickelte Überdeckungskonzept praktisch umsetzbar ist und zu einer brauchbaren Überdeckungsmetrik führt. Die Visualisierbarkeit einzelner Überdeckungsanforderungen ist der grafischen Programmierung bei Graphtransformationen besonders nahe, so dass u. a. die Konstruktion sinnvoller Tests erleichtert wird. Die Mutationsanalyse stützt die These, dass die im Hinblick auf Steigerungen der Überdeckungsmaße optimierten Testmengen mehr Fehler erkennen als vor der Optimierung. Vergleiche mit quellcodebasierten Überdeckungskriterien weisen auf die Existenz entsprechender Korrelationen hin. Die Experimente belegen, dass die vorgestellte Überdeckung klassischen, codebasierten Kriterien vielfach überlegen ist und sich so insbesondere auch für das Testen von durch einen Interpreter ausgeführte Transformationen anbietet

    XML-basierte Sichtweise auf die einzelnen Phasen des Produktlebenszyklus von ambienten Beleuchtungssystemen

    Get PDF
    Ziel dieser Arbeit war es, eine XML-basierte Sichtweise auf die einzelnen Phasen des Produktlebenszyklus von ambienten Beleuchtungssystemen zu realisieren. Dies hat zu der Entwicklung des XML-Konverters geführt, der speziell für den Produktentwicklungsprozess von ambienten Beleuchtungssystemen entwickelt wurde. Ausgangspunkt waren die intelligente Datenbereitstellung, -aufbereitung, -weitergabe entlang des gesamten Produktlebenszyklus von ambienten Beleuchtungssystemen in einer gültigen XML-basierten Datenstruktur, die Organisation und Verwaltung der immensen Datenmengen, die in jeder Phase des Produktlebenszyklus von ambienten Beleuchtungssystemen auffallen, die Protokolle des Datenaustausches zwischen den Phasen des Produktlebenszyklus und für die verteilte Produktentwicklung, sowie die Automatisierung dieses Datenaustausches. Dieser Beitrag ist insbesondere wichtig, weil er der erste ist, der diese Thematik in ihrer Gesamtheit betrachtet, analysiert und behandelt. Er liefert eine konkrete Lösung der Problemstellung und somit stellt er die ersten Schritte in diese Thematik dar. Seit dem Anfang dieser Arbeit lag der Fokus immer auf der erweiterbaren Auszeichnungssprache XML, weil XML flexible Mechanismen für den Datenaustausch und die Aufbereitung von Inhalten für die unterschiedlichsten Zielmedien liefert und weil sie viele Potentiale zu versprechen scheint. Über die Trennung von Inhalt, Struktur und Erscheinungsbild gelingt es, im XML dies und mehr zu realisieren. Die Erweiterbarkeit von XML an bestehende Problemlösungen ist ein weiterer wichtiger Aspekt bei der Weiterentwicklung und Verbreitung von den XML-Dokumentenstrukturen. Im Laufe dieser Arbeit wird u.a. ganz klar, dass XML die Zukunft insbesondere im Bereich des Daten- und Dokumentenaustausch und der Präsentation von Daten nach aktuellem Stand der Technik gehört. Der hier vorgestellte XML-Konverter ist erst ein Einstieg in die Thematik und stellt somit die erste Lösung dieser Problematik dar. Für die weitere Entwicklung des XML-Konverters ist eine Verbesserung der inkrementellen Verarbeitung denkbar

    Automatische Performanzoptimierung paralleler Architekturen

    Get PDF
    Die Parallelisierung von Programmen und deren Optimierung stellen Software-Entwickler vor große Herausforderungen. Diese Arbeit befasst sich daher mit Problemstellungen im Bereich der automatischen Performanzoptimierung (Auto-Tuning) paralleler Architekturen. Hierzu wird ein Verfahren für den Entwurf paralleler optimierbarer Architekturen vorgestellt; das Konzept eines suchbasierten Auto-Tuners rundet die Arbeit ab. Die Evaluationsergebnisse erweisen sich als äußerst vielversprechend

    On the development of specifications for process control software

    Get PDF
    Gegenstand dieser Arbeit ist ein System zur Entwicklung von Prozeßrechner- Software, das den Übergang von einer informalen Aufgabenstellung auf eine formale Spezifikation und die damit verbundene Strukturierung der Programme unterstützen und so einen Beitrag zur Zuverlässigkeit der Software leisten soll. Nach einigen Vorüberlegungen (2) werden die Konzepte entwickelt für das Begriffssystem, das den Kern bildet (3 .1), für die Spezifikationssprache (3.2), für das Werkzeug zur Verarbeitung, Speicherung und Auswertung der Spezifikation (3.3) und für das Verfahren, nach dem das System angewendet werden kann (3.4). Die Präzisierung der Sprache und die Implementierung des Werkzeugs werden beschrieben (4). Für den Übergang von der Spezifikation zum Programm wird ein Ansatz dargelegt (5). Es folgt ein größeres Beispiel (6). Die vollständige Grammatik (7), Literaturverzeichnis (8) und eine Liste der Abkürzungen (9) stehen am Schluß.This is a report on a system far the development of process-control software. The system supports the transition from an informal description of a problem to a formal specification. That includes the structuring process, which has a strong influence on software reliability. Based on some preliminary discussion (2), a basic set of constructs is defined (3.1). The specification language (3.2) and a tool to process, store, and evaluate specifications (3 . 3) are described , and it is shown how to use the system (3.4). The language definition and the implementation of the tool are presented (4). For the transition from specification to actual code, a technique is outlined (5) . Finally, an example is gi ven (6). The complete syntax (7), the references (8) and a list of abbreviations (9) follow
    corecore