Komplexe Systeme verstehen auf Basis von Beziehungen (Relationen)
Wenn es ein Projekt gibt mit extremer Komplexität, entstanden mit dem Ziel Zusammenhänge bewusst zu verschleiern, um Verstehbarkeit zu verhindern, dann zeigt es sich bei der Analyse der ‚Panama Papers‘.
5 Mio E-Mails, 3 Mio Datenbank-Einträge (in verschiedensten Formaten), 2 Mio PDF-Dokumente, 1 Mio Bilder und 0,5 Mio Text-Dokumente.
Um in diesen 'Papers' Informationen, Strukturen und Zusammenhänge zu erkennen, wurde ein neues Paradigma für die Analyse angewandt. Sehr simplifiziert dargestellt, wurde dabei wie folgt vorgegangen:
In einem ersten Schritt wurden alle Informationen analysiert und Entitäten (wir sprechen in Folge von Artefakten) definiert.
In einem zweiten Schritt wurden Zusammenhänge und Relationen zwischen diesen Entitäten analysiert und diese auf Basis einer Graph-orientierten Datenbank verlinkt. (Linked Data).
In einem dritten Schritt konnten auf Basis von Linked Data neue Sichten erstellt werden, die Zusammenhänge erkennbar gemacht und damit Verständnis ermöglicht haben.
Diese Herangehensweise, dynamische Sichten auf Gruppen von Artefakten über alle Engineering Disziplinen hinweg zu generieren, ist ein vielversprechender Ansatz, um komplexe Systeme zu verstehen und zu entwickeln.
Lesen Sie mehr dazu in diesem Embedded Software Engineering Report.
Zum Download
Funkton verhält sich zur Architektur wie Mikrobe zu Milieu
Nach Robert C. Martin(1) kann Software unterteilt werden in Funktion und Architektur. Aber was genau ist Architektur? Oder anders gefragt, was soll Architektur bewirken?
Die Aufteilung des Gesamtsystems in Komponenten mit dem Ziel der Wiederverwendung ist ein häufiger Aspekt. Komponenten sind immer eingebettet in ein Gesamtsystem und damit in einen Kontext. Innerhalb dieses Kontextes müssen die Komponenten mit Betriebsmitteln versorgt werden. Bezogen auf Software ermöglicht die Architektur auch die Bereitstellung von Ressourcen, wie Rechenleistung und Speicher.
Die Absicherung einer ausreichenden Energieversorgung, Ableitung von Wärme, Anordnung und mechanische Stabilität einzelner Komponenten im Gesamtsystem … das sind die Aufgaben, die die Architektur unter anderem auch für das richtige Funktionieren des Gesamtsystems gewährleisten muss.
Lesen Sie mehr über die Aufgaben von Architektur in diesem Embedded Software Engineering Report.
Zum Download