Kaiserslautern - Fachbereich Informatik
Refine
Year of publication
Document Type
- Preprint (56)
- Master's Thesis (38)
- Report (28)
- Article (27)
- Doctoral Thesis (17)
- Study Thesis (8)
- Part of a Book (1)
Language
- German (175) (remove)
Has Fulltext
- yes (175)
Keywords
- AG-RESY (17)
- CoMo-Kit (10)
- Case-Based Reasoning (9)
- Fallbasiertes Schliessen (9)
- META-AKAD (8)
- PARO (6)
- Robotik (6)
- Case-Based Planning (5)
- Java 2 Enterprise Edition (4)
- Visualisierung (4)
Faculty / Organisational entity
Der ProLan-X - Sprachreport
(1992)
Bei der Realisierung großer Software-Projekte treten immer wieder Probleme auf, was die
Koordination der Mitarbeiter, die Ausnutzung der vorhandenen Ressourcen und nicht zuletzt die
Qualität der erzeugten Produkte angeht. Um die Vorgänge bei der Produktion von Software
durchschaubarer und verständlicher zu machen, versucht man, diese aus der Sicht von Meta-Modellen zu beschreiben. Dabei fließen die individuellen Rahmenbedingungen einer jeden
Entwicklungsumgebung ein; die vorhandenen Ressourcen werden ebenso modellien wie die
durchzuführenden Tätigkeiten und ihre Abhängigkeiten. Die Beschreibungssprache für den Software-Prozeß ProLan-X dient der (konkreten) Beschreibung der Bestandteile des Meta-Modells MoMo, das ebenfalls in dieser Arbeitsgruppe entwickelt wurde [Schramm]. Die am Projekt beteiligten Personen, Hardware- und Software-Ressourcen und ihre Aufgaben werden in möglichst natürlicher Weise verhaltensorientien beschrieben. Aus dieser Beschreibung kann eine Ablaufumgebung generien werden, die die Durchführung des Projekts unterstützt und protokolliert. Der vorliegende Bericht faßt die Eigenschaften der Sprache ProLan-X zusammen und erläuten ihre Verwendung. Er setzt das MoMo-Modell als bekannt voraus.
In dieser Arbeit wird eine Integration der temporallogischen Verarbeitungskonzepte
der Programmiersprache ExTeLL in die objektorientierte Wirtssprache \(C^{++}\) vorgestellt. Dabei war unser Ziel eine Schnittstelle zur komfortablen Kommunikation der Sprachkomponenten zu entwickeln, derart daß die Sprachsynthese eine homogene Gesamtsprache darstellt . Hierbei haben wir besonderen Wert auf die Nutzung der Möglichkeiten der jeweils hinzugefügten Sprachkomponente und einen syntaktisch einheitlichen Aufbau der Gesamtsprache gelegt. Dies erforderte insbesondere die Integration des Typkonzepts von \(C^{++}\) sowie der Mechanismen zur Überladung von Funktionen und Prozeduren in ExTeLL und in der zugrundeliegenden Temporallogik
EITeL.
In Laufe der letzten Jahrzehnte ist der Prozeß der Softwareentwicklung methodisiert und zum Teil auch formalisiert worden. I.a. unterteilt man den Vorgang in grobe Stufen, Entwicklungsphasen genannt. Jede dieser Phasen betrachtet den entstehenden Entwurf des Projekts aus verschiedenen Sichtweisen. Aus dieser Sichtweise resultieren etliche Modelle und Darstellungsformen und mit ihnen auch verschiedene rechnergestützte Entwicklungswerkzeuge. In frühen Phasen sind beispielsweise Datenflußdiagramme eine nützliche Darstellungsform, in späteren konkrete Algorithmenbeschreibungen. Entwurfsänderungen im Laufe der Entwicklungszeit müssen in allen betroffenen Ebenen neu formuliert werden, eine automatisierte phasenübergreifende Behandlung ist
daher i.a. nicht oder nur teilweise möglich. Um effizienter und weniger fehleranfällig arbeiten zu können, wurden aus diesem Grund in letzter Zeit Ansätze gemacht, den gesamten Softwareentwicklungsprozeß von der ·Anforderungsanalyse bis hin zur Wartungsphase einem einheitlichen Konzept und einer einheitlichen Darstellungsform zu unterwerfen, die sich darüberhinaus zur Realisation auf Rechnersystemen eignen. Der vorliegende Bericht entstand im Rahmen eines solchen Projekts. Es wurden eine allumfassende Systementwurfssprache und die dazugehörigen Konzepte entwickelt, die sämtliche Entwurfsphasen und die wichtigsten -prinzipien zu unterstützen vermögen. Es liegen bereits zwei Arbeiten zu diesem Projekt vor. Sie stellen im wesentlichen neben der eigentlichen Definition der Systementwurfssprache zwei Entwicklungswerkzeuge vor, die auf einer einheitlichen Datenbasis operieren [GK-91, Kel-90]. Ein Bereich innerhalb der Forschungen ist die Wiederverwendung von Softwareentwürfen. Schon existierende Lösungen sollen bei der Entwicklung eines neuen Entwurfs durch Vergleich und Bewertung des Grades der Ähnlichkeit ausgewählt und dem Entwickler nutzbar gemacht werden. Dieser Bericht beschäftigt sich mit einem Kernpunkt der Wiederverwendung, dem Vergleich zweier Softwareentwürfe. Es werden zunächst grundsätzliche Konzepte ausgearbeitet, die den Ähnlichkeitsaspekt unter verschiedenen Gesichtspunkten charakterisieren. Daraufhin werden Algorithmen konstruiert, die verschiedenartige Vergleichsfunktionen realisieren und zu einer Gesamtfunktion kombinieren. Um zu einem späteren Zeitpunkt die Leistungsfähigkeit dieser
Funktionen in der Praxis untersuchen zu können, liegt darüberhinaus ein lauffähiges
Programm vor.
In der industriellen Praxis werden immer häufiger Verbesserungs- und Meßansätze zur Steigerung der Qualität von Software-Produkten und -Projektdurchführungen diskutiert. Dieser Artikel gibt eine Übersicht über potentielle Ansätze zur kontinuierliche Software-Qualitätsverbesserung:
QIP, CMM und AMI. Aus dem Vergleich der Verbesserungsansätze geht hervor, daß u.a. zielorientiertes Messen eine integrale Technologie zur Verbesserung ist. Deshalb wird in diesem Artikel ein Ansatz für zielorientiertes Messen, der GQM-Ansatz, detaillierter diskutiert. Insbesondere wird auf die Anwendung in der Praxis eingegangen, wobei die Erfahrungen aus realen Projekten in Form von Richtlinien vorgestellt werden. Der Artikel will Praktikern einen Einstieg in die Software Qualitätsverbesserung mittels Messen vermittlen.
Vorliegender Bericht ist eine Studie für einen möglichen Immissionsdatenverbund in Österreich. Die Grundlage dieser ersten Version der Studie sind Gespräche, welche Anfang Januar 1992 im Forschungszentrum Seibersdorf und im Umweltbundesamt in Wien stattfanden. Seit einigen Jahren beschäftigt sich die von mir geleitete Gruppe Umweltinformatik an der Universität Kaiserslautern mit den besonderen Schwierigkeiten bei der Vernetzung und Integration heterogener Systeme, welche darüberhinaus unter unterschiedlichen Vollzugshoheiten stehen können. Wir haben diese Problemstellung bei der Führung verfahrenstechnischer Anlagen weitestgehend gelöst und beschäftigen uns, zum Teil in Zusammenarbeit mit Kollegen aus anderen Institutionen, nun hauptsächlich mit der Umsetzung dieser Lösungen in verteilten Systemen im Umweltschutz. Unsere derzeitigen Arbeiten haben zum Ziel, möglichst allgemeine Ansätze für die Integration in verteilten, offenen Umweltinformationssystemen (UIS) zu entwickeln. Dabei sind wir uns darüber bewußt, daß diese allgemeinen Ansätze nur aus den konkreten Gegebenheiten, Zielen und Vorstellungen abgeleitet werden können. Diese Studie soll zwei Dinge bezwecken: einerseits will ich versuchen, den Blick dafür zu öffnen, wie ein Immissionsdatenverbund aussehen könnte, welcher allen Betreibern eine hohe Funktionalität und großen Komfort bietet. Es soll auch diskutiert werden, welcher technischer und organisatorischer Aufwand unter Verwendung welcher Konzepte entsteht. Auch wenn man sich in naher Zukunft nicht dazu entschließen sollte, die von mir vorgeschlagenen oder ähnliche Wege zu gehen, so könnte man doch bei der Realisierung auf
niedrigerem funktionalen Niveau zukünftige Möglichkeiten schon heute berücksichtigen und damit zukünftige Entwicklungen begünstigen. Ich hoffe, daß die Leser dieser Studie in dieser Hinsicht von meinen Erfahrungen profitieren. Zum zweiten ist diese Studie für meine Arbeitsgruppe ein Einstieg in die konkreten Problemstellungen großer verteilter UIS. Meßnetze sind inhärente Komponenten solcher UIS und weisen aufgrund ihrer technischen Orientierung interessante Merkmale auf. Daher erhoffen wir uns, hier wichtige Erkenntnisse auch für unsere Arbeiten zu gewinnen. Im Prinzip weiß heute noch niemand, wie man einen großen Umweltdatenverbund organisieren könnte. Ein Teil eines solchen Verbundes sind die Meßnetze. Die damit verbundenen Probleme alleine technischer Art sind riesig und es gibt bisher nur wenige Personen, die in der Umweltinformatik sich überhaupt mit diesen Themen beschäftigen. Diese Studie versteht sich daher hochgradig als Diskussionpapier. Jegliche geäußerten Ideen und Konzepte sollen von Lesern kritisch bewertet, notfalls angegriffen und vernichtend geschlagen werden - sofern sie dies verdienen. Diese Diskussion ist notwendig, damit wir überhaupt einmal eine Ahnung davon bekommen, wohin die Umweltinformatik der verteilten Systeme gehen kann.
Im Bereich des Software Engineering werden komplexe Software-Entwicklungsprojekte betrachtet. Im Rahmen dieser Projekte werden große Mengen von Informationen bearbeitet. Diese Informationen werden in Software-Artefakten (z.B. in Projektplänen oder Entwicklungsdokumenten, wie Anforderungsbeschreibungen)
festgehalten. Die Artefakte werden während der Entwicklung und der Wartung eines Softwaresystems häufig geändert. Änderungen einer Information in einem Artefakt haben häufig Änderungen
im selben und in anderen Artefakten zur Folge, da Beziehungen innerhalb und zwischen den in den Artefakten festgehaltenen Informationen bestehen. Die Beziehungen liegen meist nicht explizit vor, so daß die Konsequenzen einer Änderung schwer zu überblicken sind. In dieser Arbeit wurde ein Verfolgbarkeitsansatz ausgewählt, der den Benutzer bei der Durchführung von Änderungen an Artefakten unterstützt. Unterstützung bedeutet hierbei, daß der Aufwand zur Durchführung einer Änderung reduziert wird und weniger Fehler bei der Durchführung gemacht werden.
In der Arbeit wurden Anforderungen an einen auszuwählenden Verfolgbarkeitsansatz gestellt. Eine Anforderung war, daß er auf verschiedene Bereiche des Software Engineering, wie z.B. Systementwurf oder Meßplanung, mit jeweils sehr unterschiedlichen Artefakten, anwendbar sein sollte. Die durchgeführte
Literaturrecherche und die anschließende Bewertung anhand der gestellten Anforderungen ergaben, daß das Prinzip der Metamodellierung in Verbindung mit Wissensbankverwaltungssystemen ein geeigneter Verfolgbarkeitsansatz ist. Eine Evaluation, die sich auf Fallstudien aus den Bereichen
"Objektorientierter Entwurf mit UML" und "Meßplanung mit GQM" bezog, ergab, daß das Wissensbankverwaltungssystem
ConceptBase, das auf der Wissensrepräsentationssprache 0-Telos basiert, ein geeignetes Werkzeug zur Unterstützung des Verfolgbarkeitsansatzes ist.
NoSQL-Datenbanken werden als Alternative zu klassischen relationalen Datenbanksystemen eingesetzt, um die Herausforderungen zu meistern, die „Big Data“ mit sich bringt. Big Data wird über die drei V definiert: Es sind große Datenmengen („Volume“), die schnell anwachsen („Velocity“) und heterogene Strukturen haben („Variety“). NoSQL-Datenbanken besitzen zudem meist nur sehr einfache Anfragemethoden. Um auch komplexe Datenanalysen durchzuführen, kommen meist Datenverarbeitungsframeworks wie MapReduce, Spark oder Flink zum Einsatz. Diese sind jedoch schwieriger in der Benutzung als SQL oder andere Anfragesprachen.
In dieser Arbeit wird die Datentransformationssprache NotaQL vorgestellt. Die Sprache verfolgt drei Ziele. Erstens ist sie mächtig, einfach zu erlernen und ermöglicht komplexe Transformationen in wenigen Code-Zeilen. Zweitens ist die Sprache unabhängig von einem speziellen Datenbankmanagementsystem oder einem Datenmodell. Daten können von einem System in ein anderes transformiert und Datenmodelle dementsprechend ineinander überführt werden. Drittens ist es möglich, NotaQL-Skripte auf verschiedene Arten auszuführen, sei es mittels eines Datenverarbeitsungsframeworks oder über die Abbildung in eine andere Sprache. Typische Datentransformationen werden periodisch ausgeführt, um bei sich ändernden Basisdaten die Ergebnisse aktuell zu halten. Für solche Transformationen werden in dieser Arbeit verschiedene inkrementellen Ansätze miteinander verglichen, die es möglich machen, dass NotaQL-Transformationen die vorherigen Ergebnisse wiederbenutzen und Änderungen seit der letzten Berechnung darauf anwenden können. Die NotaQL-Plattform unterstützt verschiedene inkrementelle und nicht-inkrementelle Ausführungsarten und beinhaltet eine intelligente Advisor-Komponente, um Transformationen stets auf die bestmögliche Art auszuführen. Die vorgestellte Sprache ist optimiert für die gebräuchlichen NoSQL-Datenbanken, also Key-Value-Stores, Wide-Column-Stores, Dokumenten- und Graph-Datenbanken. Das mächtige und erweiterbare Datenmodell der Sprache erlaubt die Nutzung von Arrays, verschachtelten Objekten und Beziehungen zwischen Objekten. Darüber hinaus kann NotaQL aber nicht nur auf NoSQL-Datenbanken, sondern auch auf relationalen Datenbanken, Dateiformaten, Diensten und Datenströmen eingesetzt werden. Stößt ein Benutzer an das Limit, sind Kopplungen zu Programmiersprachen und existierenden Anwendungen mittels der Entwicklung benutzerdefinierter Funktionen und Engines möglich. Die Anwendungsmöglichkeiten von NotaQL sind Datentransformationen jeglicher Art, von Big-Data-Analysen und Polyglot-Persistence-Anwendungen bis hin zu Datenmigrationen und -integrationen.