81 research outputs found

    Sprachen fĂŒr das Software-Engineering

    Get PDF
    Dieser Beitrag diskutiert Sprachen und Notationen aus der Sicht des Software Engineerings, also nicht wie sonst ĂŒblich aus der Perspektive der Codierer oder der Sprachschöpfer und Übersetzerbauer. NatĂŒrlich ist VollstĂ€ndigkeit auf diesem weiten Feld weder erreichbar noch angestrebt. Nach der KlĂ€rung einiger Grundbegriffe wird die Situation vor 25 Jahren der heutigen gegenĂŒbergestellt; einzelne Aspekte der modernen Sprachen werden nĂ€her betrachtet. Schließlich wird der Zusammenhang der Sprachen mit Werkzeugen und Methoden angesprochen. Thesen am Schluß des Artikels fassen die wichtigsten Aussagen und Folgerungen pointiert zusammen.In this contribution, the topic of languages and notations is discussed from the Software Engineering point of view, not as usually from the coding, language creation, or translator perspective. In such a vast field, completeness is neither possible, nor aimed at. After some introductory definitions, the situation 25 years ago is contrasted by the current state;certain aspects of modem languages are treated in more detail. Finally, the relationships between languages and methods are addressed. The essential statements and conclusions are summarized in a list of propositions

    Perspektiven: Persistente Objekte mit anwendungsspezifischer Struktur und FunktionalitÀt

    Get PDF
    FlexibilitĂ€t und Anpassbarkeit von Softwarekomponenten sind in den letzten Jahren zu stark diskutierten Themen im Bereich des Software-Engineering geworden. Um eine höhere Wiederverwendungsquote zu erreichen als dies in der Vergangenheit möglich war, werden Konzepte gesucht, die eine nachtrĂ€gliche und nicht antizipierte Anpassung von Modulen und Komponenten an geĂ€nderte Anforderungen unterstĂŒtzen. Objektorientiertes Design und dessen Umsetzung durch objekt-orientierte Programmiersprachen bilden zwar einen Schritt in diese Richtung, in dem durch die Konzepte Kapselung und dynamisches Binden eine dynamische Austauschbarkeit von Implementierungen zur Laufzeit einer Applikation unterstĂŒtzt wird. In der Praxis erfordern traditionelle objektorientierte Programmiersprachen jedoch den Einsatz einer Vielzahl ineinander verzahnter Entwurfsmuster, um dem Anspruch einer nachtrĂ€glichen Adaptierbarkeit gerecht zu werden. Die vorliegende Arbeit schlĂ€gt Sprachkonzepte fĂŒr streng getypte objektorientierte Programmiersprachen vor, welche ein nachtrĂ€gliches „Zuschneidern“ von Klassen und deren bereits existierenden Instanzen unterstĂŒtzen. Damit werden Komponenten und deren Schnittstellen einerseits leicht erweiterbar, andererseits ermöglichen diese Mechanismen auch die VerĂ€nderung und Anreicherung bestehender Implementierungen an neue Gegebenheiten

    Visual data flow language with higher-order combinators

    Get PDF
    Moderne Softwaretechnik (Software Engineering) befasst sich mit der professionellen Entwicklung von hochqualitativen Softwaresystemen. SoftwarequalitĂ€t und insbesondere die relative Korrektheit eines Programms kann mit Hilfe von formalen Verfahren auf der Basis einer Spezifikation bestimmt werden. Im besten Falle kann a posteriori auf der Grundlage eines fertigen Programms eine formale Verifikation durchgefĂŒhrt werden. Diese Arbeit untersucht eine konstruktive Herangehensweise, die Programme a priori korrekt erstellt, indem eine abstrakte Spezifikation sukzessive in ein ausfĂŒhrbares Programm ĂŒberfĂŒhrt wird. Es wird eine graphische Notation und zugleich ein methodischer Ansatz zur Softwareentwicklung definiert, der die transformative Programmierung in den Vordergrund stellt. Die behandelte Thematik liegt dabei im Spannungsfeld mehrerer Aspekte wie Datenflussprogrammierung, Techniken des lambda,-KalkĂŒls und des gegebenen Transformations-Rahmenwerks HOPS. Letzteres ist ein Entwicklungssystem zur visuellen Programmierung, das Gegenstand mehrerer Forschungsprojekte an der UniversitĂ€t der Bundeswehr MĂŒnchen war. Ziel der Arbeit ist es, einen nahtlosen Übergang zwischen den einzelnen Phasen der Softwareentwicklung wie Analyse, Entwurf und Implementierung mittels eines transformativen Ansatzes zu erreichen. Dies wird an einem umfangreichen Beispiel aus dem Gebiet der digitalen Signalverarbeitung dargestellt.Modern software engineering deals with professional development of high quality software systems. Software quality and especially relative correctness of programs based on a specification can be determined by formal methods. At best a formal verification can be performed a posteriori on the basis of a complete program. This thesis investigates a constructive approach which generates programs correctly a priori by transforming an abstract pecification successively into an executable program. A graphical notation together with a methodical approach for software development will be defined emphasizing transformational programming. The outlined topic covers areas of several aspects like data flow programming, techniques of the lambda,-calculus and the given transformation framework HOPS. The latter is a development system for visual programming hich was subject of several research projects at the University of the Federal Armed Forces. The aim of the thesis is to obtain a transformational approach for the seamless transition between the specific phases of software development like analysis, design, and implementation. This will be demonstrated by a substantial example in the field of digital signal processing

    Eine Architektur fĂŒr Programmsynthese aus natĂŒrlicher Sprache

    Get PDF
    Diese Arbeit beschreibt, wie man natĂŒrlichsprachliche Schnittstellen fĂŒr die Programmierung von Software-Anwendungen erstellen kann. Hierbei wird insbesondere betrachtet, wie die Textanalyse vom konkreten Einsatzszenario, d.h. der angesteuerten Software, entkoppelt und somit wiederverwendbar gemacht werden kann. Zur Evaluation werden zwei Fallstudien vorgestellt: Die befehlsgesteuerte Heimautomatisierung mit openHAB und die Erzeugung von 3D-Animationen aus englischen DrehbĂŒchern mit Alice

    Eine Architektur fĂŒr Programmsynthese aus natĂŒrlicher Sprache

    Get PDF
    Die Arbeit entwirft ein domĂ€nenunabhĂ€ngiges Vorgehen, das aus natĂŒrlichsprachlichen englischen Texten Programme ableitet. Eingabetexte werden mit computerlinguistischen Analysen bearbeitet und schließlich auf Quelltext abgebildet. Um die Analysen von der anzusteuernden API zu entkoppeln, wird diese als Modell in den Analyseprozess eingespeist. Eine Fallstudie zur Programmierung von 3D-Animationen und eine zur Heimautomation zeigen die LeistungsfĂ€higkeit und FlexibilitĂ€t des Verfahrens

    Metamodellbasierte und hierarchieorientierte Workflowmodellierung

    Get PDF
    In dieser Arbeit werden Metamodelle eingesetzt, um Workflow- bzw. GeschÀftsprozessmodellierungssprachen und ihre operationale Semantik zu definieren. Mit einer deklarativen und einer hierarchischen Sprache werden zwei Modellierungsweisen verfolgt, die im Bereich der GeschÀftsprozessmodellierung nicht weit verbreitet sind. Der Hauptvorteil beim deklarativen Ansatz liegt in einer höheren FlexiblitÀt und bei der hierarchischen Sprache in einer besseren VerstÀndlichkeit der Modelle

    Automated compliance checking of digital building models regarding applicable standards and guidelines using a visual programming language

    Get PDF
    Die vorliegende Arbeit beschĂ€ftigt sich mit der Automatisierung der KonformitĂ€tsprĂŒfungsprozesse im Bauwesen, welche sich vornehmlich auf die Einhaltung regulatorischer Anforderungen aus geltenden Normen und Richtlinien beziehen. GegenwĂ€rtig sind diese Prozesse zeitintensiv, umstĂ€ndlich und fehleranfĂ€llig, da sie zumeist manuell durchgefĂŒhrt werden mĂŒssen. Um diesen Herausforderungen zu begegnen, stellt die Arbeit eine visuelle Programmiersprache vor, die es Architekten und Ingenieuren ermöglicht, die PrĂŒfprozesse zu formalisieren und zu automatisieren.The thesis deals with the automation of compliance checking processes in the construction industry, which primarily relate to compliance with regulatory requirements from applicable codes and standards. At present, these processes are time-consuming, cumbersome, and error-prone, as they mostly must be carried out manually. To meet these challenges, the thesis presents a visual programming language that enables architects and engineers to formalize and automate the checking processes
    • 

    corecore