\documentstyle[german,12pt]{article}
%\input{trendsstyle_v2.tex}

\setlength{\topmargin}{-2.0cm}
\setlength{\oddsidemargin}{0.3cm}
\setlength{\evensidemargin}{1.5cm}
\setlength{\textheight}{26.0cm}
\setlength{\textwidth}{15.5cm}

\begin{document}

\pagestyle{empty}
\baselineskip13.5pt
\parindent0mm

%{\huge\sf Dissertationen}\\[1.0cm]

%\begin{center}

{\large \bf Sabine Sachweh: KoKoS - Ein Kooperatives Konfigurationsmanagement-System
}\\[0.5cm]

%\end{center}

\noindent {\bf 1. Referent: } Prof. Dr. W. Schaefer\\
{\bf 2. Referent: } Prof. Dr. G. Engels\\
{\bf Datum der Pr"ufung: } 18. August 1999\\[0.5cm]

{\bf Zusammenfassung:} 




Mit der st"andig steigenden Gr"o"se und Komplexit"at von
Softwaresystemen haben sich in den letzten Jahren auch die bei der
Softwareentwicklung auftretenden Probleme versch"arft. Dazu z"ahlen
insbesondere die Beherrschung gro"ser Dokumentmengen, die Erhaltung
der Systemkonsistenz bei h"aufig stattfindenden "Anderungen von
Dokumenten und die Koordination der Teamarbeit. Dabei umfa"st der
Begriff Systemkonsistenz in diesem Kontext sowohl die interne
Konsistenz eines Dokuments, als auch die Konsistenz zwischen
verschiedenen Dokumenten. Bedingt durch diese Entwicklung ist im
Forschungsbereich Softwaretechnik ein Teilgebiet,
Softwarekonfigurationsmanagement (SKM), entstanden, das inzwischen
als methodischer Ansatz f"ur die oben genannten Probleme eine
zentrale Rolle bei der Softwareentwicklung einnimmt.

Damit das SKM zur L"osung der bei der Softwareentwicklung
auftretenden Probleme beitr"agt, sind zwei kritische Punkte
entscheidend zu verbessern, die den verf"ugbaren Ans"atzen in diesem
Bereich anhaften:

1. Die zentrale Aufgabe des SKM ist die Kontrolle der Entwicklung
	und Wartung gro"ser Softwaresysteme, welche eine Vielzahl
	von Dokumenten enthalten. Diese Aufgabe verteilt sich auf
	die beiden wesentlichen Teilbereiche des SKM: das
	Versions- und das Konfigurationsmanagement. Das
	Versionsmanagement (VM) protokolliert die "Anderungen,
	denen diese Dokumente - und damit auch die Softwaresysteme
	im Rahmen ihrer Entwicklung und Wartung - unterworfen
	sind, in Form einer Entwicklungsgeschichte. Das
	Konfigurationsmanagement (KM) besch"aftigt sich dagegen mit
	der Verwaltung und Komposition der Systeme aus einer Menge
	von Dokumenten.

	W"ahrend die verf"ugbaren SKM-Ans"atze sich im Bereich des
	Versionsmanagements weitgehend "uberschneiden, divergieren
	diese jedoch stark im Bereich des
	Konfigurationsmanagements. Die existierenden Ans"atze
	lassen sich bez"uglich ihrer Funktionalit"at in diesem
	Bereich in drei Kernrichtungen einordnen: system-,
	komponenten-, und "anderungsorientiertes
	Konfigurationsmanagement. Aufgrund der verschiedenen
	Schwerpunkte f"ordert die systemorientierte Richtung
	besonders die Erstellung konsistenter Systeme, w"ahrend
	komponentenorientierte Ans"atze insbesondere f"ur die
	Wiederverwendung geeignet sind und "anderungsorientierte
	ihren Schwerpunkt in der "Anderungsverwaltung haben.

	Zur vollst"andigen Unterst"utzung der Software-Entwicklung
	ist dagegen ein Konfigurationsmanagement erforderlich,
	welches jeden dieser Schwerpunkte unterst"utzt.
	Wesentliches Merkmal der geforderten integrierten SKM-
	Unterst"utzung mu"s dar"uber hinaus sein, da"s diese
	zeitgleich Anforderungen an die system-, komponenten- oder
	"anderungsorientierten Anteile erf"ullen kann.

2. Da die Entwicklung gro"ser Softwaresysteme in (gro"sen) Teams,
	die u.U. noch verteilt an verschiedenen Orten arbeiten,
	erfolgt, ist die Koordination der Aktivit"aten von
	Entwicklern, im Hinblick auf Versionierung, Konfiguration
	und Konsistenz, unverzichtbarer Bestandteil eines
	Konfigurationsmanagements. Diese Koordination basiert
	normalerweise auf einem unternehmens- oder
	projektspezifischen Vorgehensmodell, welches in diesem
	Zusammenhang z.B. Verantwortlichkeiten und Abl"aufe, bei
	der Ableitung und Freigabe von Versionen oder der
	Komposition von Konfigurationen, festlegt. Dar"uber hinaus
	sollte die Konsistenz einer Konfiguration soweit wie
	m"oglich automatisch sichergestellt werden, da im
	allgemeinen die einzelnen Versionen von verschiedenen
	Entwicklern (ggf. an verschiedenen Orten) erstellt werden
	und dementsprechend eine manuelle Konsistenzsicherung
	einen erheblichen Aufwand bedeutet.

	Existierende SKM-Ans"atze und entsprechende Werkzeuge
	bieten entweder keine M"oglichkeit Vorgehensmodelle zu
	definieren und diese automatisch auszuf"uhren oder zwingen
	den Benutzer, der ein solches Werkzeug anpa"st, dazu, die
	Definition in einer programmiersprachen"ahnlichen Notation
	zu erstellen. Letztgenanntes Vorgehen hat zur Folge, da"s
	das erstellte Modell aufgrund der mangelnden
	Abstraktionsm"oglichkeiten der Programmiersprache sehr
	umfangreich und damit die Wartung sehr schwierig wird, da
	diese Sprache kaum oder nicht formal analysierbar ist, und
	demzufolge eine hohe Fehlerwahrscheinlichkeit besteht.

	Ans"atze zur formalen und problemad"aquaten Beschreibung von
	unternehmens- oder projektspezifischen Vorgehensmodellen
	findet man naheliegenderweise im Bereich der
	Softwareproze"smodellierung (SPM). Dieser Teilbereich der
	Softwaretechnik hat sich in den letzten Jahren parallel
	zum SKM entwickelt. Eine Entwicklungsumgebung, die sich
	mit der Spezifikation eines Vorgehens- bzw. Proze"smodelles
	parametrisieren l"a"st, wird als proze"sgesteuerte
	Software-Entwicklungsumgebung (PSEU) bezeichnet. Diese
	haben allerdings teilweise den gleichen Nachteil wie oben
	aufgef"uhrte Konfigurationswerkzeuge, d.h. eine sehr
	programmiersprachennahe Notation, und bieten dar"uber
	hinaus keine weitere Unterst"utzung bei der Definition von
	SKM-Aspekten.

In existierenden Ans"atzen ist weder der erste, noch der zweite
Punkt zufriedenstelend gel"ost. Die hier vorgestellte Dissertation
stellt dagegen einen integrierten SKM-Ansatz zur "Uberwindung
dieser Probleme vor, der sich durch die Spezifikation eines
Vorgehensmodells an unternehmens- oder projektspezifische
Abh"angigkeiten anpassen l"a"st.


Die wesentliche Merkmale dieses Ansatzes sind:

1. Eine dedizierte, an verbreitete objektorientierte
	Modellierungssprachen, wie OMT [RBP+93] und Booch [Boo94],
	angelehnte Sprache ESCAPE+ zur Spezifikation firmen- oder
	projektspezifischer Vorgehensmodelle mit
	SKM-Unterst"utzung, die den Modellierungsaufwand minimiert.

	Im Gegensatz, zu der verbreiteten Methode,
	firmenspezifische Strategien in einer
	programmiersprachen"ahnlichen Notation, auf der Ebene von
	Skripten und Triggern, festzulegen erm"oglicht ESCAPE+ die
	Spezifikation von Vorgehensmodellen auf einer h"oheren
	Abstraktionsebene und ist folglich leichter zu handhaben.

	Eine allgemeinere objektorientierte Spezifikationssprache
	liegt zwar auf einer angemessenen Abstraktionsebene,
	allerdings f"uhren diese aufgrund der gro"sen
	Anwendungsbreite im Vergleich zu ESCAPE+ zu sehr
	umfangreichen Spezifikationen.

2. Ein vordefiniertes, in ESCAPE+ spezifiziertes Modell, welches
	Grundkonzepte des SKM beschreibt. Das vordefinierte Modell
	legt einen Rahmen f"ur die Spezifikation eines
	Vorgehensmodells in ESCAPE+ fest, der die
	Spezifikationsm"oglichkeiten so einschr"ankt, da"s die
	SKM-Grundkonzepte nicht verletzt werden k"onnen.
	Infolgedessen f"uhrt das vordefinierte Modell zu einer
	leichteren Benutzung der Sprache.

3. Ein Spezialisierungskonzept, welches eine methodische
	Unterst"utzung der Benutzung und Anpassung des
	vordefinierten Modells, durch Ausnutzung von Vererbung und
	Spezialisierung, darstellt. Die Anpassung von Subklassen
	ist in diesem Vererbungskonzept restriktiver gestaltet,
	als aus den meisten objektorientierten Sprachen bekannt,
	die ein beliebiges Anpassen (bzw. "Uberschreiben) erlauben.
	Der Vorteil dieses Vererbungskonzeptes liegt darin, da"s
	sich Subklassen nur auf ``sinnvolle'' Weise anpassen
	lassen, so da"s Grundkonzepte der Bearbeitung von Objekten,
	wie z.B. ``erst anlegen, dann l"oschen'' oder des
	Konfigurationsmanagements, z.B. ``erst einfrieren, dann
	ableiten'' eingehalten werden. Dieses f"uhrt zur Reduzierung
	von Fehlern und, wie zuvor schon erw"ahnt, zu einer
	einfacheren Handhabung der Spezifikationssprache.

4. Eine formale Beschreibung der Ausf"uhrungssemantik von ESCAPE+,
	in der ein kooperatives Konfigurationsmanagementsystem
	(KoKoS) realisiert ist, statt lediglich ein Werkzeug oder
	eine Umgebung zur Ausf"uhrung einer ESCAPE+-Spezifikation
	bereit zu stellen, wie es h"aufig der Fall ist. Die
	Beschreibung der Ausf"uhrungssemantik erfolgt in Prolog und
	basiert somit auf Pr"adikatenlogik 1. Ordnung.

	Das Attribut kooperativ des
	Konfigurationsmanagementsystems bezieht sich auf die
	kooperative Teamarbeit, auf deren F"orderung das KoKoS
	ausgerichtet ist. Da der Grad der Kooperation entscheidend
	von der Synchronisation nebenl"aufiger Zugriffe abh"angig
	ist, wurde erg"anzend ein Transaktionmanagementkonzept
	entwickelt, welches die Basis der kooperativen Teamarbeit
	bildet.

	Das KoKoS umfa"st einen integrierten SKM-Ansatz, der
	gleicherma"sen system-, komponenten- und
	"anderungsorientiertes Konfigurationsmanagement
	unterst"utzt.










\end{document}












