Inhalt des Dokuments
CommUnity ist eine kategorielle Entwurfssprache, die das Design einer Software-Architektur interaktiver Systeme auf einem hohen Abstraktionsniveau beschreibt. Im Gegensatz zu anderen Architekturbeschreibungssprachen, die dem praktischen Einsatz näher sind, erlaubt CommUnity die durchgängig formale Beschreibung und bietet so eine präzise, mathematisch formulierte Semantik. Sie dient vor allem dazu Konzepte der Architekturbeschreibung zu formalisieren und auszutesten. Zunächst wird CommUnity vorgestellt, indem die grundsätzlichen Konzepte und Techniken anhand eines Beispieles veranschaulicht werden. In CommUnity beschreibt ein Graph die Konfigurationen, in dem die Konnektoren und ihre Verbindung zu Komponenten dargestellt werden. In eleganter Weise wird die Komposition und Koordination von Konnektoren und Komponenten durch Konstruktionen aus der Kategorientheorie beschrieben. Sowohl der Einsatz der Kategorientheorie als mathematisches Fundament als auch die für diese Anwendung zentralen Paradigmen der Kategorientheorie werden erläutert und die Vorteile eines kategoriellen Ansatzes für CommUnity und andere Anwendungen in der Informatik werden diskutiert. Die benötigten Begriffe der Kategorientheorie werden erläutert und ihre formale Definition wird skizziert. Danach wenden wir uns erneut CommUnity zu und untersuchen etwas detaillierter die Semantik der Konfiguration, die durch die kategorielle Konstruktion des Kolimes berechnet wird.
Zum Schluss möchte ich mögliche Einbettungen dieses Vortrages, der auf Teilen des Buches Categories for Software Engineering, J.L. Fiadeiro, 2005 basiert, in eine Lehrveranstaltung skizzieren.