{"id":8057,"date":"2025-11-29T09:15:43","date_gmt":"2025-11-29T08:15:43","guid":{"rendered":"https:\/\/web-dev-weissblau.de\/microconsult\/?p=8057"},"modified":"2026-02-11T06:04:20","modified_gmt":"2026-02-11T05:04:20","slug":"dynamic-software-architecture-for-embedded-systems","status":"publish","type":"post","link":"https:\/\/www.microconsult.de\/en\/dynamische-softwarearchitektur-fuer-eingebettete-systeme\/","title":{"rendered":"Dynamic software architecture for embedded systems"},"content":{"rendered":"<h2>Softwaredynamik fest im Griff<\/h2>\n<p>Autoren: Frank Slomka, Christian Hausner, Institut f\u00fcr Eingebettete Systeme\/Echtzeitsysteme Universit\u00e4t Ulm<\/p>\n<h3>Beitrag &#8211; Embedded Software Engineering Kongress 2015<\/h3>\n<p><strong>Mit der UML und den dazugeh\u00f6rigen Erweiterungen SysML und MARTE kann die statische Architektur einer Software gut beschrieben werden. Ein Problem im Rahmen eines ganzheitlichen Entwicklungsprozesses f\u00fcr eingebettete Software stellt die Dynamik des Systems dar. Insbesondere das dynamische Zusammenspiel zwischen der Hardware, dem Speichermodell, dem Betriebssystem und der Anwendungssoftware kann nur unzureichend strukturiert und beschrieben werden. Ausgehend von einem neuen Entwicklungsprozess wird eine zu UML kompatible Beschreibungsform vorgestellt, die die Besonderheiten des dynamischen Verhaltens eingebetteter Software ber\u00fccksichtigt. Ein besonderes Augenmerk gilt dabei der Dynamik der Hardware\/Software-Schnittstelle.<\/strong><\/p>\n<h2>Einleitung<\/h2>\n<p>Eingebettete Systeme werden f\u00fcr die verschiedensten Einsatzgebiete und Aufgaben immer bedeutender und in st\u00e4rkerem Ma\u00dfe miteinander vernetzt. Damit ist auch der Entwurf eingebetteter Systeme durch steigende Anforderungen und neue Herausforderungen gekennzeichnet. Dazu z\u00e4hlen:<\/p>\n<ul>\n<li>die steigende Komplexit\u00e4t der zu entwerfenden Systeme bedingt durch die komplexeren und vielf\u00e4ltigeren Aufgaben<\/li>\n<li>gesteigerte Vernetzung untereinander, mit der Umgebung und informationstechnischen Systemen<\/li>\n<li>Korrektheit, Robustheit, Verf\u00fcgbarkeit und Sicherheit im zunehmend autonomen Einsatz in &#8222;unkontrollierten&#8220; Umgebungen<\/li>\n<\/ul>\n<p>Eine L\u00f6sung, um derartige Herausforderungen zu meistern, ist die Modellierung von Systemen. Aufgrund der verschiedensten Einsatzgebiete und deren unterschiedlicher Beschaffenheit muss die Modellierung die Spezialit\u00e4ten, Methoden und Techniken dieser Einsatzgebiete ber\u00fccksichtigen, spezialisierte Sichten darauf bereitstellen und miteinander vereinen\/integrieren k\u00f6nnen (siehe dazu auch [4]).<\/p>\n<p>Eine weitere etablierte Methodik, um die Herausforderungen, insbesondere die Komplexit\u00e4t im Entwurf derartiger Systeme, zu bew\u00e4ltigen, ist die Plattform-Entwicklung (eng. Platform-based design, siehe [1] und [8]).<\/p>\n<p>Diese Entwurfsmethoden werden durch den komponentenbasierten Ansatz erg\u00e4nzt. Man versteht unter einer Komponente einen modularen Teil eines (komplexen) Systems, der in seiner Umgebung durch eine \u00e4quivalente Komponente ersetzt werden kann. Eine Komponente realisiert eine in sich abgeschlossene Teilfunktion eines Systems.<\/p>\n<p>Die im Folgenden eingef\u00fchrte Entwurfsmethodik st\u00fctzt sich konsequent auf die Plattform-Entwicklung und Modellierung von eingebetteten Systemen und deren Umgebung. Damit soll den genannten Herausforderungen begegnet und die Wiederverwendung von Plattform- und Anwendungs-Modellen in verschiedenen Produkten und Produktlinien erreicht werden. Wir haben die Entwurfsmethodik in [9] eingef\u00fchrt, das Plattform-Modell wurde durch [2] erg\u00e4nzt und detailliert. Insbesondere die Modellierung von Plattformen derartiger komplexer Systeme ist eine komplexe Aufgabe, die durch unsere Entwurfsmethodik verbessert werden soll. Dabei kommt vor allem das Konzept der hierarchischen Modellierung zum Einsatz.<\/p>\n<p>Die Modellierung der Anwendung und der Anwendungsumgebung ist ein weiterer wesentlicher Aspekt unserer Entwurfsmethodik. Neben funktionalen Anforderungen existiert eine Vielzahl nicht-funktionaler Anforderungen, die durch die Plattform erf\u00fcllt werden m\u00fcssen. Im Kapitel &#8222;Anforderungsdefinition&#8220; werden wir eine Methode vorstellen, um derartige Anforderungen (im Allgemeinen Einschr\u00e4nkungen, daher auch Constraints) grafisch zu modellieren.<\/p>\n<h2>Verwandte Arbeiten<\/h2>\n<p>Mit der UML [7] und den dazugeh\u00f6rigen Erweiterungen SysML [5] und MARTE [6] kann die statische Architektur einer Software gut beschrieben werden. UML wird f\u00fcr die Modellierung von eingebetteten Systemen durch die Erweiterungen MARTE und SysML erg\u00e4nzt. SysML erm\u00f6glicht die Modellierung aller Arten von Systemen, ist daber aber weniger konkret in der Definition der Semantik der SysML-Elemente und -Diagramme. Der plattformbasierte Ansatz wird von SysML nicht explizit unterst\u00fctzt. F\u00fcr diesen Zweck kann sie mit MARTE kombiniert werden.<\/p>\n<p>MARTE wurde f\u00fcr den plattformbasierten Ansatz entwickelt und unterst\u00fctzt, genau wie unsere Methodik, die hierarchische Modellierung von Plattformen. Ebenfalls nutzt MARTE das Konzept der Ressourcen und Dienste (siehe Kapitel &#8222;Adressr\u00e4ume und Dienste des Betriebssystems&#8220;).<\/p>\n<p>Insbesondere das dynamische Zusammenspiel zwischen der Hardware, dem Speichermodell, dem Betriebssystem und der Anwendungssoftware kann mit UML und den Erweiterungen SysML und MARTE nur unzureichend strukturiert und beschrieben werden.<\/p>\n<h2>Der epizyklische Entwurfsprozess<\/h2>\n<p>Unsere Entwurfs-Methodik erweiterter objektorientierter Entwurfsmethoden wie in [3] auf einen technologieunabh\u00e4ngigen komponentenbasierten Ansatz. Er ist iterativ und enth\u00e4lt einen Hauptprozess, der aus Teilprozessen besteht. Wir visualisieren unseren Ansatz mittels Kreisen, um darzustellen, dass es sich um Iterationen handelt. Alle Teilprozesse sind als Epizyklen auf dem Hauptprozess dargestellt und werden daher als epizyklische Entwurfsprozesse bezeichnet. Abbildung 1 (siehe\u00a0<a title=\"Dynamische Softwarearchitektur f\u00fcr eingebettete Systeme (PDF)\" href=\"https:\/\/www.microconsult.de\/wp-content\/uploads\/2025\/11\/fachinfo_ese_echt_dynamische_softwarearchitektur_fuer_eingebettete_systeme_institut_fuer_eingebettete_systeme-echtzeitsysteme_universitaet_ulm_slomkahausner.pdf\" target=\"_blank\" rel=\"noopener\">PDF<\/a>-Datei) gibt einen \u00dcberblick \u00fcber den epizyklischen Entwurfsprozess.<\/p>\n<p>Eine Iteration des Hauptprozesses erzeugt eine Auspr\u00e4gung (Version, Produkt) eines eingebetteten Systems. Eine Iteration besteht aus 5 Teilprozessen, die aus Entwurfsschritten bestehen. Teilprozesse erzeugen Arbeitsprodukte (Zwischenprodukte) und haben Abh\u00e4ngigkeiten zueinander. Die folgenden 5 Teilprozesses sind definiert:<\/p>\n<ol>\n<li>System-Anforderungsanalyse<\/li>\n<li>funktionaler Systementwurf<\/li>\n<li>Plattformentwurf<\/li>\n<li>Komponenten-Implementierung<\/li>\n<li>System-Integration (Implementierung)<\/li>\n<\/ol>\n<p>Der Hauptprozess kann iterativ mehrfach durchlaufen werden. Das zu entwerfende eingebettete System wird in mehreren Iterationen entwickelt (Auspr\u00e4gungen, Versionen, Baumustern). Eine Iteration des Hauptprozesses ist vergleichbar mit dem einmaligen Durchlaufen des klassischen V-Modells.<\/p>\n<p>Teilprozesse k\u00f6nnen ebenfalls iterativ mehrfach durchlaufen werden. Sie produzieren Arbeitsprodukte f\u00fcr andere Teilprozesse sowie bei Bedarf interne Arbeitsprodukte und ben\u00f6tigen Inputs anderer Teilprozesse oder aus der Umgebung.<\/p>\n<p>Das Ziel des epizyklischen Entwurfsprozesses ist einerseits, eine automatisierte Erstellung von Systemen anwendungszentriert zu erm\u00f6glichen. Andererseits soll die systematische und wiederholbare Erstellung von Systemen erm\u00f6glicht werden. Die konkrete Plattform bzw. das System entsteht aus Kundenanforderungen bzw. Anforderungen der Anwendung und verf\u00fcgbaren Plattform-Modellelementen. Dadurch kann sowohl ein optimal auf die Anwendung angepasstes System entwickelt als auch der Plattformansatz effizient verfolgt werden.<\/p>\n<h2>System-Anforderungsanalyse und funktionaler Systementwurf<\/h2>\n<p>Die System-Anforderungsanalyse beinhaltet das klassische Requirements-Engineering mit textuellen Anforderungen, die von Bildern\/Diagrammen erg\u00e4nzt werden. In dieser Phase werden Kundenanforderungen aufgenommen, bewertet und abgestimmt. Da die hier erfassten Anforderungen und ihr Einfluss auf das zu entwerfende System in allen nachfolgenden Phasen ben\u00f6tigt werden, werden insbesondere die nicht-funktionalen Anforderungen hier bereits modelliert (formalisiert, wie im Kapitel &#8222;Anforderungsdefinition&#8220; beschrieben). Das Ergebnis dieser Phase ist eine Anforderungs-Spezifikation.<\/p>\n<p>Der funktionale Systementwurf beinhaltet die Modellierung eines funktionalen Systems (auch Anwendung) anhand der funktionalen Anforderungen. Die nicht-funktionalen Anforderungen werden im Modell annotiert, um die Auswirkungen auf Anwendung und sp\u00e4ter Plattform ber\u00fccksichtigen zu k\u00f6nnen.<\/p>\n<h2>Das Anwendungs-Modell<\/h2>\n<p>Das Metamodell f\u00fcr die Anwendung und das umgebende System besteht aus Modulen, Tasks Ports und Links. Ports dienen als Verbindungspunkte zwischen Modulen und Tasks und werden mittels Links verbunden. Wir unterscheiden zwischen strukturellen Ports und transferorientierten Ports. Im Folgenden werden nur transferorientierte Ports ber\u00fccksichtigt.<\/p>\n<p>Wir unterscheiden eine technologieunabh\u00e4ngige Modellierung und in der n\u00e4chsten Verfeinerung eine technologieabh\u00e4ngige Modellierung. Der \u00dcbergang zwischen beiden Phasen wird als Technologie-Bindung bezeichnet (siehe [9]). Anwendungsmodule sind Elemente, die andere Elemente wie Module und Tasks enthalten k\u00f6nnen. Sie werden verwendet, um einen hierarchischen Entwurf zu erm\u00f6glichen. Ein Modul ist ein strukturelles Element, das der Kapselung von Funktionen dient (Geheimnisprinzip). Module dienen der Gruppierung von Tasks oder Modulen mit hoher funktionaler Kopplung.<\/p>\n<p>Module sind keine Elemente physischer Kapselung, und sie korrespondieren nicht zwangsl\u00e4ufig mit Elementen der Plattform. Module beschreiben entweder ein Umgebungsmodell oder ein technisches System (die Anwendung).<\/p>\n<p>Das Umgebungsmodell ist ein Modell eines relevanten Ausschnitts der realen Welt, das im direkten Zusammenhang mit dem zu entwerfenden technischen System steht. Das technische Systemmodell interagiert mit dem Umgebungsmodell, um die geforderten Aktionen\/Reaktionen zu erreichen, also die funktionalen Anforderungen zu erf\u00fcllen.<\/p>\n<p>Zusammen mit seiner Plattform realisiert ein technisches Systemmodell ein eingebettetes System.<\/p>\n<p>Dem Gedanken des hierarchischen Enthaltenseins von Modulen folgend ist die gesamte Anwendungsarchitektur ebenfalls ein Modul, das sowohl das technische System als auch notwendige Umgebungsmodelle enth\u00e4lt (siehe Abbildung 2,\u00a0<a title=\"Dynamische Softwarearchitektur f\u00fcr eingebettete Systeme (PDF)\" href=\"https:\/\/www.microconsult.de\/wp-content\/uploads\/2025\/11\/fachinfo_ese_echt_dynamische_softwarearchitektur_fuer_eingebettete_systeme_institut_fuer_eingebettete_systeme-echtzeitsysteme_universitaet_ulm_slomkahausner.pdf\" target=\"_blank\" rel=\"noopener\">PDF<\/a>).<\/p>\n<p>Anwendungs-Tasks (Tasks) beschreiben und modellieren das Verhalten von Anwendungen. Tasks kapseln das Verhalten und k\u00f6nnen \u00fcber Ports miteinander kommunizieren. Ein Task ist ein Entwurfselement, das eine Basisfunktionalit\u00e4t (Verhalten) mit Eingangsgr\u00f6\u00dfen und Ausgangsgr\u00f6\u00dfen bereitstellt. Tasks k\u00f6nnen beispielsweise Modelle, Gleichungen oder Funktionen sein. Jeder Task besitzt mindestens einen Port.<\/p>\n<p>Neben Tasks mit Basisfunktionalit\u00e4t gibt es spezielle Tasks, die mit anderen Technologien interagieren. Sie werden als Transformations-Tasks bezeichnet und erm\u00f6glichen den Austausch zwischen unterschiedlichen Technologien. Andere Spezial-Tasks interagieren mit der Plattform eines technischen Systems. Wir unterscheiden hier Zeit-Tasks, die eine Schnittstelle zu Zeitinformationen der Plattform (Zeit-Ereignissen) bereitstellen, und Speichertasks, die eine Schnittstelle zu Speicher-Ressourcen der Plattform bereitstellen.<\/p>\n<p>Ports dienen als Kommunikationsendpunkte f\u00fcr Tasks und Module. Ports werden untereinander durch Links verbunden. Sowohl Ports als auch Links sind durch ihre Schnittstellenbeschreibung typisiert. Nur kompatible Ports k\u00f6nnen druch passende Links miteinander verbunden werden. Ports modellieren die Ein- und Ausg\u00e4nge von Tasks und Modulen und beschreiben deren Schnittstellen. Es werden Eingangs- und Ausgangs-Ports unterschieden.<\/p>\n<p>Module k\u00f6nnen nur spezielle Ports besitzen, die als Proxy-Ports bezeichnet werden. Sie dienen als externe Schnittstelle eines Moduls und verbinden die Umgebung des Moduls mit den internen Modulen oder Tasks. Es handelt sich um virtuelle Ports, die der Sicherstellung von Kapselung und Geheimnisprinzip des Moduls und der enthaltenen Tasks und Module dienen.<\/p>\n<p>Ein Link verbindet zwei kompatible Ports. Ein Ausgangs-Port liefert Entit\u00e4ten (zum Beispiel Informationen) abh\u00e4ngig von seiner Schnittstellenbeschreibung, und ein Eingangs-Port empf\u00e4ngt diese Entit\u00e4ten. Der verbindende Link erbt seine Schnittstellenbeschreibung von den Ports. Die Art der Schnittstelle kann mittels Symbolen am Link visualisiert werden.<\/p>\n<p>Im ersten Entwurfsschritt werden die funktionalen Anforderungen in eine technologieunabh\u00e4ngige Anwendung \u00fcberf\u00fchrt. Der n\u00e4chste Schritt verfeinert diese Anwendung (technisches System), indem Entscheidung \u00fcber die realisierenden Technologien getroffen werden. Dieser Schritt wird Technologiebindung genannt. Hier werden im Rahmen des funktionalen Systementwurfs die ersten Plattformentscheidungen getroffen, denn jede Entscheidung \u00fcber die Technologie bedingt Entscheidungen und Anforderungen an die Plattform. Hier wird z.B. die Entscheidung zwischen Digitaltechnik oder Analogtechnik getroffen. Wie weiter oben beschrieben wird die Verbindung zwischen unterschiedlichen Technologien durch sog. Transformations-Tasks modelliert.<\/p>\n<p>Ein Modul kann unterschiedliche Technologien enthalten: ein mathematisches Modell, Digitaltechnik (Computersystem oder elektronisches System), ein analoges elektronisches System (Analogtechnik) oder ein physikalisches System (z.B. Mechanik, Optik, Akkustik; h\u00e4ufig bei Umgebungsmodellen).<\/p>\n<h2>Anforderungsdefinition<\/h2>\n<p>Neben funktionalen Anforderungen unterscheiden wir nicht-funktionale (oder extra-funktionale) Anforderungen. Nicht-funktionale Anforderungen beschreiben Forderungen an z.B. die Leistungsf\u00e4higkeit, Reaktionsf\u00e4higkeit oder Skalierbarkeit des Systems. Da sie h\u00e4ufig Einschr\u00e4nkungen beschreiben, unter denen ein System seine Aufgaben erf\u00fcllen soll, werden sie im weiteren Verlauf als Constraints bezeichnet.<\/p>\n<p>In der System-Anforderungsanalyse werden nicht-funktionale Anforderungen formalisiert und als Constraints modelliert. Es handelt sich sowohl um statische als auch dynamische Constraints. Dabei wird aktuell zwischen den folgenden Typen von Constraints unterschieden:<\/p>\n<ul>\n<li>Zeit<\/li>\n<li>Fl\u00e4che oder Kosten<\/li>\n<li>Leistung und Energie<\/li>\n<li>Sicherheit und Zuverl\u00e4ssigkeit, Verf\u00fcgbarkeit<\/li>\n<\/ul>\n<p>Aufgrund der Erweitbarkeit des Metamodells k\u00f6nnen einfach weitere Arten von Constraints hinzugef\u00fcgt werden.<\/p>\n<p>Constraints haben einen G\u00fcltigkeitsbereich, eine Menge von Modellelementen, auf die sie wirken. Sie werden im Anwendungsmodell annotiert. Das erfolgt, indem sie zwischen Ankerpunkten (Probes) spezifiziert werden. Diese Ankerpunkte k\u00f6nnen an jedes Modellelement der Anwendung gebunden werden. Um Constraints, deren G\u00fcltigkeitsbereich und Auswirkungen zu visualisieren, werden Symbole f\u00fcr Constraings definiert (siehe Abbildung 3,\u00a0<a title=\"Dynamische Softwarearchitektur f\u00fcr eingebettete Systeme (PDF)\" href=\"https:\/\/www.microconsult.de\/wp-content\/uploads\/2025\/11\/fachinfo_ese_echt_dynamische_softwarearchitektur_fuer_eingebettete_systeme_institut_fuer_eingebettete_systeme-echtzeitsysteme_universitaet_ulm_slomkahausner.pdf\" target=\"_blank\" rel=\"noopener\">PDF<\/a>). Der G\u00fcltigkeitsbereich eines Constraints wird farblich hervorgehoben.<\/p>\n<p>Die eigentliche nicht-funktionale Anforderung wird durch einen Ausdruck modelliert, der f\u00fcr den G\u00fcltigkeitsbereich des Constraints erf\u00fcllt sein muss. Hierbei unterscheiden sich verschiedene Arten der Erf\u00fcllung, z.B. kann ein Constraint erf\u00fcllt sein, wenn er auf allen Elementen des G\u00fcltigkeitsbereichs in Summe erf\u00fcllt ist, oder wenn er f\u00fcr jedes Element des G\u00fcltigkeitsbereichs einzeln erf\u00fcllt ist.<\/p>\n<p>Als Beispiel kann eine zeitliche Einschr\u00e4nkung die maximale Reaktionszeit eines Signals spezifizieren:<\/p>\n<p><img decoding=\"async\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAesAAAAjCAYAAAC0PyLMAAAexElEQVR4nO2dd1RU19qHj0oSo5Io9nI\/o14NiZqbxMQSI6LeGCy5tqAx5mpQLAHBisSGLg1NUVBAKYoUQaXEggoWUClSFdFYABFEAcsISC8zPN8frDnLyQCKYjTX86w1f8wp++zT9u\/d7\/vufQQkJCQkJCQkXmuEV10BCQkJCQkJifqRxFpCQkJCQuI1RxJrCQkJCQmJ1xxJrCUkJCQkJF5zJLF+AykvL6e8vJyKigoKCgrIz8+v9\/f48WMKCwspLi6mrKyMiooKysvLX\/VpSEhISLwxSGL9BjJv3jz69u3L4MGDMTQ0xMDAgJ9\/\/lntZ2BgwH\/\/+1\/09fUZN24cOjo69O\/fnw8++IAPP\/wQOzu7V30qEhISEm8Ekli\/gQQEBCAIAoIg4OzsTFFRETKZTO336NEjHj58yL1798jOzuby5ct4eXlhYGCApqYmrVq14tGjR6\/6dCQkJCT+55HE+g1l7dq1CIJAly5duHXrVoP3z8jIYPTo0WzevLnW9QqFAoVC8aLVlJB4o6msrHzVVZB4TZDE+hXy6NEjdu\/eTVVV1QuVU1paSnV1dZ3ry8rKkMvlKssqKysZNWoUgiCgq6v7XDHo4uJirK2tkclkKssLCgo4duxYg8ssLCxscB3+LrzMcysqKqKsrOy59i0tLaWioqLO9co8hWelsLCw3mexLoqKip5LmIqLi\/8SQWtI\/YqKihrNUD1z5gzp6emNUpbEq6W4uLje50Iul9fbZj63WD+t4L+KzMxMcnNza10nk8lYs2YNrq6u+Pr6snfvXvz8\/AgODhYFsrCwkPDwcMLDw\/\/KagOQk5PD8uXL620snwVPT0+Cg4NrXZeXl4eFhUWtDW56ejodOnRAEAR+\/fXX5zr2\/fv3uX\/\/vvi\/srKSTZs2cePGDQDOnz\/PunXrMDc3x8rKChsbG6ytrVm9ejWOjo4AXLt2jenTp\/P9998\/Vx1eZy5dusSECRMwNDRs9LJ9fX1ZunQpGzduxMrKiq1bt+Lm5sbVq1efum9JSQnbtm2jX79+xMfH17qNXC5HV1eXZcuWPbW8jIwMDA0NGTFiRIONz+LiYnr16sXOnTufeZ+8vDwsLS3R1tYmIyOjQcdrKGVlZfTv35+tW7fWu93t27eZO3cuo0aNoqSkpFGOLZPJsLa2rrONk\/h7EBMTw9GjR8V34969ezg5OeHq6ipuU1payoEDB0hISKi1jOcWa3Nzc3x9fZ939xfmxo0bWFtbM3\/+fC5fvlzrNsnJyfTo0YMhQ4YwbNgwdHV1+fjjj5kxYwYKhYKrV6\/i7e3NF198waJFi\/7iM4Dc3FxWr179wmJ98eJFzM3Na1138OBBbGxs6tzX398fQRBo0qQJR48efaF6AAQFBbF9+3bxf35+PuPHj0dDQ4OLFy+SmppKamoqp06dYsqUKVRUVPD48WMmTJjAF1988cLHb0wyMjJ48ODBC5WRl5eHjo4O3377bSPVqoa5c+cybNgwTp48SUFBATKZjNDQUHr06MHu3bvF7fz8\/NDV1SU3N5cff\/yRdevWAVBVVcXBgwcRBIHz58+L26enp5OXlwdAdXU1\/v7+REREPLU+xcXFLFiwgG7dujW4V1lVVYWHh4fKe5ybm8udO3fq3KeiooLdu3cjCMJL73nK5XK8vb25ePFivdsVFxdjampK165dn9vTURvHjx9n06ZNjVaexF\/L0aNHsbGxETu3CoWCkJAQOnTooNZBkclkLFy4kMjISLVynkusq6urGTBgAElJSc+z+wtx4cIFLCwsMDY25sCBA5SWlta5bXR0NFFRUcjlcqqqqqiqqsLV1VWM0ZaWllJeXs6CBQtYvHjxX3UKIo0l1tXV1ZiZmXH79m21db\/++ivJycn17m9qaoogCHTt2rXeBvJplJeXM3fuXG7evKlWh65du6p5Yi5duiQ2aubm5nz11VfPfezGprq6mpkzZ5KamvrCZS1YsAA9Pb1GqFUNa9asoW3btrUm94WEhODi4iL+j46OxsDAAJlMxtq1a\/Hx8RHXpaam0q5dO6KiooAasZk1a9ZzGyhOTk707t1bLeTyPJiYmNTaYD1JQkICrVu3fq6ci5fF7t276dGjxwuHtp6koqKCOXPmvHQPgkTjk5mZyfDhw7l7967aOn19\/Vq9iRcvXmT06NE8fvxYZXmDxLqqqorU1FQCAwP55JNPiIqK+suygc+dO8eKFStYvHixijuhPvLz81XiTOHh4Zw4cUJtu7lz57JkyZI6y7l+\/TrXr18HIDs7m4iICPHFuXfvHtHR0aSlpdW67x9\/\/EF0dHSt16mxxBpqetCGhoa4ubnh6uqKm5sb1tbWLFq06Kk9neLiYgYNGoQgCIwbN+65G9vk5GTmz5+vttzMzIyuXbuq3IusrCyV3oeZmZmaWJ85cwY7Ozu2bNlCfn4+UNPz27VrFykpKZw+fZrFixdz8uRJoMaCXbRoEceOHVMpJy0tDRcXF9auXcuFCxeAmnyBgIAAwsPDyczMZPny5Xh4eAA1RseyZcto0qQJmzZtEt1SJSUl+Pv7Y2Vlxb59++q9FteuXWPnzp14eHigp6fHf\/7zH3FdQUEBfn5+bNy4kUOHDonLCwsL2bt3L+7u7uzYsaNWwykrK4u33nqrXtf0o0ePKCsr4+jRo+zdu5eSkhIUCgVhYWH4+fmJYYtr167Rrl074uLiKC0tZcaMGTRv3hwnJyf++OMPHjx4wP79+wkLCxPLrqqq4vDhw3h5eeHh4UFKSgqXL1+msrISR0dHevfujUKhoKSkBG9vbzw9PUlJSQFqREfp6fHw8BBj21lZWXh5eYn3xtLSkqZNm7J69Wqio6MBiI+Px8XFhR07dnD8+HEAYmNjad++PVevXsXR0ZEVK1ao9bITEhLYunUrlpaWZGVlicfz8fEhMTERHx8f7O3txXM7cuQItra27Nq1S3wP7ty5g7e3N7GxsWK5ZWVlBAYGsnnzZnx9fcVzcXV1RVtbm+zsbGxtbVm\/fj0FBQUq1y84OFg8hrIdUygUHD58GBcXF5ycnLh06ZLKeVhYWKgYWhJ\/D0xNTZk2bVqt6+oL\/eno6Kh5Uxok1mVlZYSEhDBt2jSGDx9OYGCgWi+qsTl9+jSmpqZs2LDhqZZ2fWRnZ+Po6FirENUn1mlpaRw7dgwTExOsra05d+4cSUlJzJkzBxcXF06fPk1ycjKzZ89WiXsrFAo8PDwIDQ3l2rVrWFpakp2drVJ2Y4p1Xl4e48eP58CBAwQHB3PixAmmT5\/+zKGKy5cv07p1awRBwMrK6rnqcODAgVrd8ebm5rRt25awsDASEhI4evQoc+bMUYnD\/Vmst23bhqenJ2lpaUyePJmBAwdSVFSEq6srgiBgamqKj48PP\/74I61atcLW1hYHBwcMDAxo3rw5iYmJQI2Rt3btWlJSUnBxcUFTU5PIyEji4uLo2rUrX375JW5ubixZsgRBEAgKCqKqqort27fTokULPDw8SE1N5dGjR6xcuZLo6Gji4+P54IMPWLp0aa3X4ejRo0yaNIkLFy4QERFBu3btmDJlClCTp7BixQoSEhKIjIykU6dO\/PbbbwAsW7aMw4cPk5mZyYQJE1SEXImfnx+CIBASEqKyvKKigrS0NO7cucPt27eRyWScPXsWQRA4efIkCoWCM2fO0KRJE9G4UYp1bGwsFRUVWFhY0Lp1awIDA8nKyiIsLIz3339ffDcUCgWzZ89mzZo1Yoy6Y8eOrFmzhsLCQnbs2EHv3r0BuHLlCrq6ugQHB\/P48WOKi4tZvXo1YWFhXLp0ib59+zJr1iyVc1LGrH19fWnRogX29vbcuHGDc+fOYWJiwt27d\/H19UVfXx+AxMREWrduzeLFi1m8eDH\/+Mc\/6Nq1q+gN8fHxwcHBgZs3b2Jqakr37t3Jzs7m4MGDaGhooK+vz+zZsxk8eDAymQxLS0tCQ0O5fPkyn376KT\/++CPV1dUEBgaioaHBli1bgBpX5axZszh48CCXLl2iVatWopHq4eFBx44d2bZtGxs2bKBDhw7iutLSUtatW0doaChXrlzhs88+Y+rUqQA4ODiwbds2MjMzMTExwdLSUuX+enl5sWrVqlqfN4nXk8rKSvr06VNnrsMPP\/xQp1gvXLiQzz\/\/XCVZ87nc4IaGhipxyZeJvb09urq6tTZcDcHFxYXQ0NBa19Un1qGhoRQVFfHdd9+pJGFNnDiRuXPniv9\/\/vlnldjw5cuX+e6778T\/GzZsUOspNaZYA9jY2KgkC5mZmXHv3r1n3l8ZA3z77bfFBr0hbNy4EQcHB7Xlq1atQlNTE3t7e1xdXVm\/fj3Dhw9Xcbc+Kda3bt1i6NChnDp1ipiYGBwdHREEgTNnzqBQKNDS0sLd3R2oeSHatGkjCh5At27dxOdzxowZ\/Pbbb8TGxnL27Fnee+89DAwMABg3bhxjxowR9xs0aBALFiwAICkpCS0tLfGeubu7M3HiRBISEoiPj0dfX59WrVqJPX4lFRUV9O\/fX8VImjp1KmPHjgVqGuWpU6cSHx9PfHw8o0aNolevXpSWlqKtrS328rKzs0VvzpPY2NggCIKa4VpSUsKePXvQ0tJCR0eH9PR0ZDIZ7dq1E3uiubm5dOzYUXwPlGKtdIOfOHGCzp07U1RUJJY7ePBg0ShJTU3lnXfeISYmBoC4uDjefvttsZ4ODg7069ePP\/74gzVr1qiEEA4ePMiYMWOIjY0lPj6eOXPm0LRpU\/H5\/L\/\/+z927NghnruWlpZocDk5OaGtrS3eC2UPNz4+nhYtWoj1v3\/\/Pi1btmTp0qUoFAp0dXXx8\/MjJiaGffv2ifMKKI+3fPlyoOYZOnbsGP\/+97+JjY0lLi4OExMTBEEQe+M9e\/YU782WLVtUPCXOzs5s2LABgF27dtG+fXvRe2FtbS0aMGFhYejq6hITEyMeo2nTpuTm5jJlyhTxuZTL5WpJfxEREfz0009qz4PE60taWhpvvfUWv\/\/+e63r6xPrrVu3oqmpqdK+NFisy8vLGTBgwFOTLRqTrKwsNm\/ejJGREZ6enipupWehoKCAqVOn1hmPrU+sCwoKyMnJYfDgwWLP+PHjx3z99ddiLLiiooIRI0Zw+vRpcb8HDx7Qt29fhg4dyvr169UadWh8sY6MjBQTiMLDw8UGpCHMnTsXQRAYOHBgg4fErFy5Ejc3N7Xly5cvp1u3birLwsPDVbLIzczMGDp0KFCT9PbJJ58QFxdHdHQ00dHRREZG8ujRI2QyGV26dBGNt6KiInr16iUmVVVWVvLRRx\/h6OiIQqGgX79+eHl5ERMTQ1RUFBEREWKm+rhx45gzZ45YhzFjxohZ27GxsbRp00YMb8ycOZOffvqJ+Ph4sU4xMTFq9y4qKop33nlHJY5qaGjIuHHjAJgyZQomJibExsYSFRVFVFQUiYmJVFdXs337dgRB4Ouvv+bs2bO1XmNvb28EQcDb21ttXWlpKW3btmXhwoVAjfu2ffv2Yi88KyuLjh07iqEgpVgrXc2HDx+mU6dOKkbUsGHDRLFWuuAPHDgA1Ij1u+++K16jHTt20KVLF3r06KH2HBgbGzNp0iTxnkZFRRETEyPmjfTu3VsU6\/T0dNq0aSOKcE5ODv369aNVq1ZYWFiIeSrnz5+nTZs2KrkaP\/zwA6NHj+bChQv079+fEydOiPcrIiJCFN\/evXuLwg01BqWenh7x8fFERUWJ+yizuvv06SMaot9++y1mZma13h8XFxf++c9\/iu+Ok5MTffr0AWD9+vWMHTtW5bmOjo6moqKCU6dOoampyUcffSRe3yeJi4v7nxwt8b9MdHQ0giDUGnqF+sV69+7dNGvWTCW82mCxjo2NZejQoRQXFwM1rjFl8tajR4\/EoHh2drZKY3\/v3j1RsAoLC8XxmIWFhSqWfH1kZ2fj5OSEkZERLi4uz9xrDAsLqzd56Wkx69DQUEaNGiX+j4+PZ\/DgwaJLPTExkSFDhlBeXq4SS8\/KysLGxoZPP\/0UIyMjtXIbW6wrKysxNTUlPz8fS0vLZ8ri\/TM3b97kvffew9PTs8FZvevXr1dpAJWYmZnRpUuXWscaK5+XJ8V63759dOrUSS1kUVZWxoMHD+jSpQtBQUFAzbPUs2dPURwqKirQ1tbG2dkZhUJB+\/bt1bwyyus9fvx4fv75Z3H5t99+K3pLlGKtjIF+\/\/33TJo0Sa3+f876VWZYPxlznDNnDuPHjwfgm2++qXUYl1IUwsLCGDJkCE2aNKnVIlcK5uTJk9XWFRUV0a1bNzFZMisri\/bt24uNRU5ODp06dapTrA8dOkTnzp15+PChWObXX3+t4u63t7dn5MiRnDp1ikWLFmFrayuu2759O\/369WPJkiVoaWmpNDTz589HR0dHrc4VFRWUlpbWKtbKekFNXoWFhQXNmjVj1KhRlJeXiwlmT4biDA0N0dfXJzk5mdatW6slXRYXF1NdXU3v3r3Ztm2buHzp0qUMGjRIrX7K+\/ukWI8cOVL0lChRPtvu7u707NlT3M\/R0VEU65UrVzJw4EC1Yyj3vXr1KhMnTkQQBDU3+Pnz50WXucTfgwsXLiAIQp2jbOoTa3d3d9566y3RuITnEGtbW1tmzpwJ1Fh7yvFiBgYG+Pj4MH78ePz9\/Vm+fDkLFiygoqICZ2dndu\/ezfLly0lISODatWvo6Ohw\/vx57OzsGpxVnpeXh4eHB0ZGRmzZskWlh1YbNjY2ohDUxi+\/\/FKnpQw1QvLk+k2bNqn0yJYtW4aFhQWFhYUkJyeTkJAgxuOgRtyV1+xJGlusocYi27BhAytXrmxwuQqFgunTp6s0wA3Bx8eH1atXqy03NzenS5cuauIbGxsrCpK5ubl4jzIyMmjatCkrVqwQYzZ+fn4kJSVRWlpK586dRQEuLS2lZ8+eYs9aoVCgra0tjuEeMWIEH374ITk5OUBNpqXSRf3dd9+JrkcAPT09Mb54\/vx5NDU1uXPnDtXV1ezcuRNBEESXclFREY6OjmrPXkZGBoIgqMTuZ82aJWaD29raoqGhIbqx8\/LycHFxIScnRzRAoMY4qMvAVM4+9+ewjkKhoHPnzqIr\/\/79+7z\/\/vtiwl1ycjItWrTgzJkzAKSkpKClpUVcXBxQY2i0bdtWZaKRYcOGic++XC7H2dkZX19fkpOT1c7d0dGRjz\/+GKgxhPr16ycKkdKI2b9\/P1BjWO7YsYN79+6J4qkcc5qenk7Lli1FN\/jx48fFRisxMZFmzZqRmJjIpUuXaNmypUruw6BBg9i\/fz9yuZx27doxdepUUThDQkJEQ6V37944OTmJ+x0\/fhxBEPD09BTP1dXVVUwk7dOnjxhasbW1RRAE0R1\/\/\/59MQPfw8ODnj17ikb7k3H88PBwBEFgz5494v1yd3cnPT1dxaC0trambdu2Ku9vQEDAM413l3h9UIZllPf7z0yfPl3Mv\/gzlpaW9OrVS6XD22CxtrOzw9TUlLS0NI4fP45cLmfXrl1MnToVhULBL7\/8gp2dHXK5nG+++YZbt25x5MgRbt26xfz580UhcHBwYNiwYXUOAH8WiouL8fPz48qVK\/VuZ2BgwOeff662vKCggKSkJHR0dBg9ejRJSUlq6fIKhYLhw4eLjQzUNERP9iANDQ3ZuXMnERER5OXlcerUKdasWUN2djZZWVnY29urjGVV8jLE+t69e3zwwQd1PiD1YWJiomKENJTo6GjmzZsn\/q+urkYmkzF27FiaNm2Kj48PYWFhnDx5Ejc3N4YOHcrVq1cpLi5m4sSJdOnSRfSWKAWpb9++6OnpsXTpUqqqqkhISEAQBDZt2kRpaSnXr19HQ0MDc3NzSkpKyMjIoGXLlvzyyy+UlpYSFRVFq1ateO+99xgzZgzjx48nNTWV\/Px8PvroI3R1dXn8+DH5+fl8\/PHHjBo1isLCQrKystDU1GTy5MmcOnUKmUyGrq4ugiCgo6PD8OHD68zOXblyJU2bNmXZsmXs3buXfv360alTJ2JiYpDJZAwYMECcOW7EiBEcPnwYgIEDB7Jnzx5u377NokWLsLa2rvNa\/\/rrr3Tv3h0nJydSUlJIT0\/Hz8+Ptm3bigktcrkcHR0dtLW12bRpExs3bqRp06bMmzePgoICTp48iSAIeHl5UVlZSVJSEs2aNcPAwICoqCjy8\/Pp3r07EyZMoLi4mIKCAj788EOGDBmCvr4+06ZNY968eSQkJFBWVoaxsTHNmzcnNzeX3NxcmjRpgp6eHpmZmZSXlzNhwgQEQeCrr75CV1cXZ2dnqqurSUlJQUNDg6VLl1JWVkZBQQGdOnVCT0+PsLAwtm3bxrhx47hx4wbx8fGMHj2avLw8cVIfc3Nzbty4wdatWzEyMhLfJ3d3dwRBoHv37owdO5ZZs2ZRUFBARkYGzZs3Z9asWaJXr7KyEn19fQRBYNCgQYwYMQIHBweqq6vJyMigVatW4jP14MED\/vWvf6GhocGkSZPQ09MjPDycsrIyli1bRvPmzUlJSaG4uJglS5bQokULMjIykMvl\/PDDD+IxRo4cKd6r77\/\/nlWrVpGRkYGjoyOzZ89WSS6ytbXFy8vreV9NiVdAdXU1X331lZgb8eTyhw8fMmjQIAYMGKDiyVIyffp0ZsyYobKswWJdWFjI77\/\/TmRkpKj6\/v7+Ypxs7dq14kM1efJkbt26RUREhChgyofz\/v379OnTh8DAwIZWocEcOnSo1tmRbt++TWBgIL6+vvj6+uLv7682Hk4ulxMUFKQy9OrIkSNiTw1qEqL8\/f1V3HFXrlwhJCSE0NDQOidteBliDTXWfUPHS2\/evJlx48a90GQOBQUFzJw5U+xxyeVyYmJi8PDwwMPDgz179rB37158fHxwcnIS731mZiZeXl64u7uLyUsAwcHBmJiY4OTkRFVVFQqFglOnTuHu7o6\/v784jM7NzQ1fX1+ysrI4f\/487u7u+Pj4iDkG169fx9zcHDMzM9E1e+XKFXbt2sWePXu4fv06ly9fFuup3CY0NJTNmzeL06mWlJTg7OyMkZHRUyeQCQgIwMTEhICAAIKCgti3b5\/4UhYUFIjC8mSeQ1BQEA4ODjg5OdU5I92TJCcnY2dnx6ZNm7Czs2Pr1q0kJCSohC8yMjJYvHgxjo6O3L17F3d3dxISEigtLSUkJAR3d3eCgoLEPJDAwEAcHR0pKyvj0qVLuLu74+npya1bt6isrGTjxo1YWFhgZmaGsbEx06ZNY+zYsSQmJuLr64u7uzuRkZHk5+ezf\/9+tm\/fLg79UigU7Nq1C2NjYwICAoCahuvcuXO4urri5+cn9pIjIyOxsbFBJpORmZmJs7Mzzs7OuLm5qYw3vn79Ohs2bGDz5s0EBwerTXV67tw5Fi1ahJWVlRiGO3PmDO7u7uzZs0fFVS+Xy\/H09MTY2FhlaJ7yGdu7d6\/4TOXn52NjY4OxsbHYw87NzRWH3kVERHDr1i327duHm5ubGH+vrq7Gy8sLY2NjlSTEM2fOYG9vj6OjI76+vmrv4YIFC9SGc0m8\/gQEBDBy5EiVZQqFgpiYGPbs2YOHh4daR66srIwvv\/xSLW+lUeYGd3NzY+rUqVRXV7NgwQIcHBxEqz4+Pl7sQS9duhQTExNycnLw8fEhKiqKzz\/\/XBxfWRsXLlzg0KFDHD16VO0XHBzMkSNH\/rZT8b0ssW4o+\/fvZ9CgQc99HZ9sIJ2dndm7d29jVU3iNWLjxo2sX79ebfm6desaNOpAomEkJiaycuXKV10NiefE2Ni4zozw2vD29q51+udGEeugoCBsbW15+PAh27dvZ\/\/+\/dy9e5dVq1aRnJzM7t27sbKywtvbW7S0lTEaKysrXF1d65yIIyQkhO3bt+Pi4qL227lzJ05OTi99rPfLIicnB3Nz81cq1lFRUXz22WfPNJ90bSQkJKj0dPLz81m3bt0LT9Mp8fqxZs0aOnTogJGREdu2bcPe3l4cOy3xclB6M+qaUlni9efhw4dYWVmRlJRU70du5HI5cXFxuLq61urhbNSvbj0puM8yC9aTFX+eL\/X83bl\/\/z5WVlav7DN4N2\/eZMCAAXUOLXgaV65cwcjISBwZ8GS5AQEBr9xjINH4hIaGYmRkxMKFC9m6dWutY8ElGo+wsDDRhS7x96WsrIzExMR6Z94sKysjPj6+Tu2UPpH5ClEoFK\/ss5AFBQWMHTsWf3\/\/Bu9bXl7OgQMH6Nq1a51fSiosLGzU+ZElJN5EapufQeLNRBLrN5DKykomTZrEsGHDOHv2LCEhIRw\/flztFxISwrFjxzh06BA+Pj5YWloyb948tLW1EQQBLS0ttW9ZS0hISEg0PpJYv4HY2dmhoaGBlpYWmpqatGzZst7fu+++i4aGBoIgiJ\/TbN68+Sv5UpmEhITEm4gk1m8gGRkZpKWlkZaWRkpKylN\/qamppKWlcfPmTdLT00lPT+fmzZvirFsSEhISEi8XSawlJCQkJCRecySxlpCQkJCQeM2RxFpCQkJCQuI1RxJrCQkJCQmJ1xxJrCUkJCQkJF5zJLGWkJCQkJB4zZHEWkJCQkJC4jXn\/wGhs\/etH46ZzwAAAABJRU5ErkJggg==\" alt=\"\" \/><\/p>\n<p>Dieser Constraint wird mittels Ankerpunkten an die Kommunikationslinks der Anwendung annotiert, die dieses Signal beinhalten (G\u00fcltigkeitsbereich). Damit wird im funktionalen Systementwurf auch die geforderte zeitliche Einschr\u00e4nkung des Signals visualisiert. Er wird im weiteren Verlauf auch an die Plattform des Systems annotiert und schr\u00e4nkt damit die verwendbaren Plattform-Elemente ein. Mittels dieser formalen Annotationen kann in fr\u00fchen Entwurfsphasen die Einhaltung der nicht-funktionalen Anforderungen sichergestellt werden.<\/p>\n<h2>Plattformentwurf<\/h2>\n<p>Ausgehend vom funktionalen Systementwurf und den nicht-funktionalen Anforderungen (Constraints) kann eine passende Plattform abgeleitet werden. Die Modellierung der Plattform f\u00fcr digitale Systeme wird im Folgenden vorgestellt.<\/p>\n<h2>Schichtenmodell und Rollentrennung<\/h2>\n<p>Wesentliche Konzepte im Systementwurf sind Kapselung und Schichtenbildung. Eine SW-Plattform kann in verschiedene Schichten unterteilt werden. Unser Plattform-Modell erm\u00f6glicht die Bildung von Schichten \u00fcber ein hierarchisches Modell. Damit entspricht die Modellierung einer Plattformschicht der Modellierung einer Anwendung die an die darunterliegende Plattform gebunden wird. Unser Plattformkonzept basiert auf einer Schichtenbildung, wobei jede Schicht nur mit ihrer direkt benachbarten h\u00f6heren oder niederen Schicht kommuniziert.<\/p>\n<p>Dieses Konzept vereinfacht auch die Rollen- und Zust\u00e4ndigkeitstrennung. In unserem generischen Schichtenmodell wird die unterste Schicht durch die HW-Plattform (Schicht 0) repr\u00e4sentiert. Diese Schicht wird mittels des Plattform-Komponenten-Modells modelliert (siehe Kapitel &#8222;Hardwarearchitektur&#8220;). Dar\u00fcberliegende Plattformschichten stellen Dienste bereit, die von der jeweils dar\u00fcberliegenden Schicht (Anwendung) genutzt werden. Dies Schichten werden mittels des Plattform-Dom\u00e4nen-Modells beschrieben (siehe Kapitel &#8222;Adressr\u00e4ume und Dienste des Betriebssystems&#8220;). Abbildung 4 (siehe\u00a0<a title=\"Dynamische Softwarearchitektur f\u00fcr eingebettete Systeme (PDF)\" href=\"https:\/\/www.microconsult.de\/wp-content\/uploads\/2025\/11\/fachinfo_ese_echt_dynamische_softwarearchitektur_fuer_eingebettete_systeme_institut_fuer_eingebettete_systeme-echtzeitsysteme_universitaet_ulm_slomkahausner.pdf\" target=\"_blank\" rel=\"noopener\">PDF<\/a>) zeigt einen \u00dcberblick des Schichtenmodells.<\/p>\n<p>Dadurch werden die Abh\u00e4ngigkeiten zwischen unterschiedlichen Rollen im Entwurfsprozess reduziert. Beispielsweise wird ein Hardware-Entwickler die Hardware-Plattform mittels des Plattform-Komponenten-Modells beschreiben und mit dem Plattform-Entwickler abstimmen. Direkte Abh\u00e4ngigkeiten zwischen Hardware-Entwickler und Anwendungs-Entwickler werden minimiert. Dieser hat im Allgemeinen nur mit dem Plattform-Entwickler Abstimmungsbedarf, denn er ben\u00f6tigt nur die oberste Schicht der Plattform, um seine Anwendung zu modellieren.<\/p>\n<h2>Hardwarearchitektur<\/h2>\n<p>Das Plattform-Komponenten-Modell (eingef\u00fchrt in [2]) besteht aus Modulen und Komponenten und unterst\u00fctzt \u00e4hnlich dem Anwendungs-Modell hierarchisches Design, indem Module aus Modulen oder Komponenten bestehen.<\/p>\n<p>Module sind beispielsweise physikalische Einheiten wie Ger\u00e4te, Steckkarten oder Chips bzw. SoC (Systems on Chip). Komponenten sind die atomaren Hardware-Elemente, sie enthalten Bus Control Interfaces, die als Schnittstellen dienen (siehe Abbildung 5,\u00a0<a title=\"Dynamische Softwarearchitektur f\u00fcr eingebettete Systeme (PDF)\" href=\"https:\/\/www.microconsult.de\/wp-content\/uploads\/2025\/11\/fachinfo_ese_echt_dynamische_softwarearchitektur_fuer_eingebettete_systeme_institut_fuer_eingebettete_systeme-echtzeitsysteme_universitaet_ulm_slomkahausner.pdf\" target=\"_blank\" rel=\"noopener\">PDF<\/a>). \u00c4hnlich den Ports im Anwendungsmodell k\u00f6nnen auch hier nur kompatible Bus Control Interfaces miteinander verbunden werden.<\/p>\n<p>Weitere Elemente des Plattform-Komponente-Modells sind Zeit-Elemente, die Zeitgeber (Timer) und Uhren (Clocks). Sie k\u00f6nnen mit allen anderen Elementen verbunden werden und werden mittels eines Timing-Interface mit anderen Elementen verbunden (siehe Abbildung 5,\u00a0<a title=\"Dynamische Softwarearchitektur f\u00fcr eingebettete Systeme (PDF)\" href=\"https:\/\/www.microconsult.de\/wp-content\/uploads\/2025\/11\/fachinfo_ese_echt_dynamische_softwarearchitektur_fuer_eingebettete_systeme_institut_fuer_eingebettete_systeme-echtzeitsysteme_universitaet_ulm_slomkahausner.pdf\" target=\"_blank\" rel=\"noopener\">PDF<\/a>).<\/p>\n<p>Ziel dieser Modellierung ist es, die Hardwarearchitektur von Plattformen strukturell bzw. in ihren Bausteinen zu beschreiben. Die Hardwarearchitektur kann durch das im folgenden Kapitel beschriebene Plattform-Dom\u00e4nen-Modell in Hinblick auf Ressourcen und Dienste substituiert werden. Diese Dienste erm\u00f6glichen im weiteren Verlauf die Bindung der Applikation an die Plattform.<\/p>\n<h2>Adressr\u00e4ume und Dienste des Betriebssystems<\/h2>\n<p>In diesem Kapitel wird das Plattform-Dom\u00e4nen-Modell beschrieben. Die Idee hinter diesem Modell ist die Einf\u00fchrung einer Abstraktion, die alle Aspekte einer Plattform aus Sicht der Anwendung ber\u00fccksichtigt. Wir f\u00fchren hier das Konzept der Dom\u00e4nen Ressourcen und Dienste f\u00fcr alle Plattformen ein, unabh\u00e4ngig davon, ob diese von Software oder Hardware bereitgestellt werden. Damit soll die Austauschbarkeit der Plattform und auch der Anwendung verbessert werden. Au\u00dferdem wird das Ziel verfolgt unabh\u00e4ngig von industriellen Einsatzgebieten zu sein.<\/p>\n<p>Detaillierte Kenntnisse der Hardware-Plattform werden durch das Plattform-Dom\u00e4nen-Modell gekapselt. Die Anwendung muss nur die relevanten Informationen des Plattform-Dom\u00e4nen-Modells kennen. Mittels des Plattform-Dom\u00e4nen-Modells werden Plattformen logisch strukturiert, und die physikalische Strukturierung aus dem Plattform-Komponenten-Modell (Ger\u00e4te, Chips, usw.) wird \u00fcberwunden. Damit wird ein erh\u00f6hter Grad von Unabh\u00e4ngigkeit und Austauschbarkeit zwischen Plattform und Anwendung erm\u00f6glicht.<\/p>\n<h2>Plattform-Dom\u00e4nen<\/h2>\n<p>Eine Plattform-Dom\u00e4ne (im weiteren Dom\u00e4ne) ist ein Strukturenelement des Plattform-Dom\u00e4nen-Modells. Es stellt einen Container dar, der logische Einheiten wie Ressourcen und Services kapselt. Das Dom\u00e4nen-Modell stellt die logische Sicht der Plattform dar. Dom\u00e4nen k\u00f6nnen Sub-Dom\u00e4nen enthalten und erm\u00f6glichen damit wieder die hierarchische Modellierung von Plattformen.<\/p>\n<p>Dom\u00e4nen besitzen eine Schnittstelle in Form von Diensten, die von den enthaltenen Ressourcen bereitgestellt werden. Eine Dom\u00e4ne bindet Elemente des Anwendungsmodells, wie Tasks, wenn sie eine Ausf\u00fchrungs-Ressource (Sequential Execution Ressource) enth\u00e4lt. Besitzt sie keine derartige Ressource, dient die Dom\u00e4ne als Container f\u00fcr weitere Sub-Dom\u00e4nen. Dom\u00e4nen sind logische Einheiten, die f\u00fcr die Realisierung des eingebetteten Systems in Hardware oder Software implementiert werden m\u00fcssen.<\/p>\n<p>In der untersten Plattform-Schicht sind Dom\u00e4nen, die logische Sicht auf die mittels Komponenten modellierte Hardwarearchitektur. Hier k\u00f6nnen Dom\u00e4nen durch Module oder Gruppen von Komponenten (auch aus verschiedenen Modulen) realisiert werden. Dadurch kann eine Dom\u00e4ne Ressourcen besitzen, die z.B. in verschiedenen Ger\u00e4ten oder Chips enthalten sind (siehe auch Kapitel &#8222;Entwurfstudie&#8220;).<\/p>\n<p>Auf h\u00f6heren Ebenen des Plattform-Schichtenmodells werden Dom\u00e4nen durch Software implementiert, beispielsweise durch Betriebssysteme und deren Zeit- und Speicher-Partitionen wie Prozesse und Threads. Eine m\u00f6gliche Modellierung eines Betriebssystems im Dom\u00e4nen-Modell sieht so aus:<\/p>\n<ol>\n<li>Betriebssystem selbst wird durch eine Dom\u00e4ne beschrieben<\/li>\n<li>Jeder Prozess wird durch eine Sub-Dom\u00e4ne beschrieben<\/li>\n<li>Jeder Thread wird durch eine Sub-Dom\u00e4ne der entsprechenden Prozess-Sub-Dom\u00e4nen beschrieben<\/li>\n<\/ol>\n<p>Falls die Anwendung keine Nebenl\u00e4ufigkeit oder Speichertrennung ben\u00f6tigt, wird im Allgemeinen auch kein Betriebssystem genutzt. Andere Dienste (z.B. Treiber f\u00fcr Plattform-Hardware) werden normalerweise trotzdem von der Anwendung ben\u00f6tigt und \u00fcber eine Dom\u00e4ne beschrieben.<\/p>\n<h2>Ressourcen und Dienste<\/h2>\n<p>Ressourcen sind logische Elemente, die Services f\u00fcr Anwendungs-Elemente oder Resourcen h\u00f6herer Schichten bereitstellen. Ressourcen andererseits ben\u00f6tigen Dienste niederer Schichten, um ihre Aufgaben zu erf\u00fcllen (siehe Tabelle 1,\u00a0<a title=\"Dynamische Softwarearchitektur f\u00fcr eingebettete Systeme (PDF)\" href=\"https:\/\/www.microconsult.de\/wp-content\/uploads\/2025\/11\/fachinfo_ese_echt_dynamische_softwarearchitektur_fuer_eingebettete_systeme_institut_fuer_eingebettete_systeme-echtzeitsysteme_universitaet_ulm_slomkahausner.pdf\" target=\"_blank\" rel=\"noopener\">PDF<\/a>).<\/p>\n<p>Die von Ressourcen angebotenen Dienste bilden die Schnittstelle der Ressource. Man kann Dienste auch als die \u00f6ffentlichen Methoden einer Ressource interpretieren. Dienste sind die einzige M\u00f6glichkeit, Ressourcen aus einer h\u00f6heren Schicht zu nutzen. Wir unterscheiden angebotene und ben\u00f6tigte Dienste oder Dienste, die der Konfiguration einer Ressource dienen. Ausgangs-Dienste sind lesende Dienste oder Ereignis-Behandlungsroutinen. Die Einteilung in Eingangs- und Ausgangsdienste erfolgt immer aus dem Blickwinkel der den Dienst besitzenden Ressource.<\/p>\n<p>Die Bindung von Plattform-Elementen benachbarter Schichten erfolgt durch die Verbindung von ben\u00f6tigten Diensten der Schicht\u00a0<em>X\u00a0<\/em>mit kompatiblen angebotenen Diensten der Schicht\u00a0<em>X<\/em>\u00a0&#8211; 1. Auf der untersten Plattform-Schicht realisieren Plattform-Komponenten Ressourcen, die Dienste bereitstellen. Diese Realisierungsbezeichnung wird als Bindung in dieser Ebene betrachtet.<\/p>\n<p>In einer Dom\u00e4ne werden normalerweise nicht alle m\u00f6glichen Ressourcen und Dienste modelliert, sondern nur die, die von h\u00f6heren Schichten ben\u00f6tigt werden. Wir bezeichnen sie als relevante Ressourcen und Dienste.<\/p>\n<p>Ressourcen und Dienste werden durch ihren Ressourcen-Typ, wie in Tabelle 1 dargestellt (siehe Tabelle 1,\u00a0<a title=\"Dynamische Softwarearchitektur f\u00fcr eingebettete Systeme (PDF)\" href=\"https:\/\/www.microconsult.de\/wp-content\/uploads\/2025\/11\/fachinfo_ese_echt_dynamische_softwarearchitektur_fuer_eingebettete_systeme_institut_fuer_eingebettete_systeme-echtzeitsysteme_universitaet_ulm_slomkahausner.pdf\" target=\"_blank\" rel=\"noopener\">PDF<\/a>), klassifiziert. Weiterhin unterscheiden wir Ressourcen-Manager. Sie verwalten andere Ressourcen und deren Dienste. Ein typischer Ressourcen-Manager ist eine MMU (Memory Management Unit), die andere Speicher-Ressourcen verwaltet und als Proxy f\u00fcr sie und ihre Dienste dient.<\/p>\n<p>Die zentralen Dienste, die von Plattformen angeboten werden, sind Rechenzeit bzw. Rechenkapazit\u00e4t, Speicher und Kommunikation. Wird eine Dom\u00e4ne nicht nur als Container f\u00fcr Sub-Dom\u00e4nen genutzt, stellt sie mindestens eine Rechenzeit-Partition (&#8222;Zeitscheibe&#8220;) dar, die durch eine Ausf\u00fchrungs-Ressource (Sequential Execution Ressource) modelliert ist. Das bedeutet, dass alle Tasks die durch die Anwendung an diese Dom\u00e4ne gebunden werden, an genau eine Ausf\u00fchrungs-Ressource gebunden sind. Sie wird an eine Prozessor-Ressource gebunden. Das bedeutet, dass alle Aufgaben in einer Domne nacheinander und nicht parallel (nebenl\u00e4ufig) abgearbeitet werden. Damit k\u00f6nnen mehrere Sub-Dom\u00e4nen einer Dom\u00e4ne nur durch eine verwaltete Prozessor-Ressource (Scheduler) mit Rechenzeit versorgt werden.<\/p>\n<p>Im Gegensatz dazu k\u00f6nnen Dom\u00e4nen auch als Speicherpartition agieren und damit den gesamten verf\u00fcgbaren Speicherbereich mittels Adressr\u00e4umen separieren. Dabei werden alle Speicherzugriffe an virtuelle Speicher-Ressourcen (verwaltete Ressourcen) gebunden.<\/p>\n<h2>Bindung von Anwendung und Plattform<\/h2>\n<p>Dieser Entwurfsschritt kombiniert Anwendung und Plattform. Anwendungs-Elemente wie Tasks werden an angebotene Dienste der Plattform gebunden. Nachdem dieser Schritt erfolgt ist, kann das modellierte System analysiert und bei Bedarf verfeinert werden (erneute Iteration der vorgelagerten Prozesse).<\/p>\n<p>Danach erfolgen die Implementierung oder Generierung des modellierten Systems bzw. seiner Komponenten (Teilprozess Komponenten-Implementierung) und Integration und Test der Komponenten zum eingebetteten System (Teilprozess System-Integration). Aufgrund der Verlagerung wesentlicher Analyse- und Testschritte, wie Modellierung und Analyse der Einhaltung nicht-funktionaler Anforderungen (Constraints) in fr\u00fche Entwurfsphasen, wird dieser Teilprozess deutlich vereinfacht.<\/p>\n<p>F\u00fcr diesen Entwurfsschritt wird eine spezielle Sicht zur Bindung von Anwendung und Plattform bereitgestellt. Sie wird von System- oder Anwendungs-Entwicklern genutzt, um Anwedungs-Elemente an Plattformen zu binden. Hier werden die Anwendungs-Sicht und die Dom\u00e4nen-Sicht verschmolzen, wobei die Anwendungs-Sicht \u00fcber die Dom\u00e4nen-Sicht gelegt wird. Die grafischen Elemente der Dom\u00e4nen-Sicht werden reduziert weiterverwendet. Beispielsweise werden keine Ressourcen mehr angezeigt, sondern nur noch die angebotenen Dienste, denn die Darstellung der Plattform-Schnittstelle zur Anwendung und nicht die Darstellung der Plattform-Struktur ist die Hauptaufgabe dieser Sicht. Weitere Details zur grafischen Bindung sind Bestandteil unserer zuk\u00fcnftigen Forschungsarbeiten (siehe auch Kapitel &#8222;Zusammenfassung&#8220;).<\/p>\n<h2>Entwurfsstudie<\/h2>\n<p>In diesem Kapitel wird die Modellierung eines Sonar-Systems f\u00fcr ein autonomes Unterwasserfahrzeug unter Anwendung unserer Methodik beschrieben. Die Hauptaufgabe des Sonar-Systems ist die Erkennung von Objekten im Wasser. Das Sonar-System sendet Schallwellen aus und empf\u00e4ngt die Echos, die von Objekten im Wasser erzeugt werden. Ein solches System ist ein gutes Beispiel f\u00fcr die Nutzung unterschiedlicher Technologien. Es besteht aus elektromechanischen Teilen zur Erzeugung der Schallwellen, analogen elektronischen Teilen f\u00fcr die Ansteuerung der Schallerzeuger und f\u00fcr den Empfang der Echos sowie aus digitalen elektronischen Teilen mit Hard- und Software f\u00fcr die Signalverarbeitung und Objekterkennung.<\/p>\n<p>Die Entwurfsstudie folgt unserer Methodik und teilt sich daher in die folgenden Abschnitte:<\/p>\n<ol>\n<li>System-Anforderungsanalyse<\/li>\n<li>Funktionaler Systementwurf<\/li>\n<li>Plattformentwurf<\/li>\n<li>Komponenten-Implementierung und System-Integration.<\/li>\n<\/ol>\n<p>Hierbei konzentrieren wir uns auf die ersten 3 Entwurfsprozesse, die Komponenten-Implementierung und System-Integration werden in dieser Entwurfsstudie nicht weiter betrachtet und sind Teil unserer weiteren Forschungsarbeiten (siehe Kapitel &#8222;Zusammenfassung&#8220;).<\/p>\n<h2>System-Anforderungsanalyse<\/h2>\n<p>Es soll ein Sonar entwickelt werden, welches Unterwasserobjekte (Objekte) erkennen und einen Vektor berechnen kann, der Abstand und Ortung relativ zum System angibt. Die System-Anforderungsanalyse beginnt mit der Analyse und Austellung der wesentlichen Anforderungen, die auszugsweise in der folgenden Abbildung 6 (siehe\u00a0<a title=\"Dynamische Softwarearchitektur f\u00fcr eingebettete Systeme (PDF)\" href=\"https:\/\/www.microconsult.de\/wp-content\/uploads\/2025\/11\/fachinfo_ese_echt_dynamische_softwarearchitektur_fuer_eingebettete_systeme_institut_fuer_eingebettete_systeme-echtzeitsysteme_universitaet_ulm_slomkahausner.pdf\">PDF<\/a>) aufgef\u00fchrt sind.<\/p>\n<h2>Funktionaler Systementwurf<\/h2>\n<p>Basierend auf den Anforderungen (Anforderungs-Spezifikation) beginnt der funktionale Systementwurf. Hierbei werden die funktionalen Hauptkomponenten identifiziert und die Technologie-Bindung vorgenommen.<\/p>\n<p>Im ersten Schritt wird der funktionale Systemkontext festgelegt bzw. aus den Anforderungen abgeleitet. Es wird ein Sonar-System entworfen, das Unterwasser-Objekte mittels Schallwellen erkennen kann. Das Sonar-System wird als Modell der Anwendung und bekannte Schnittstellen als Ports des Moduls modelliert.<\/p>\n<p>Die n\u00e4chsten Schritte sind nicht in strikter zeitlicher Reihenfolge durchzuf\u00fchren. Im n\u00e4chsten Schritt werden die Funktionen des Sonar-Systems aus den funktionalen Anforderungen extrahiert und als Anwendungs-Module im Modul Sonar modelliert. Jede Funktion, die in einer funktionalen Anforderung beschrieben ist, kann beispielsweise ein Modul sein.<\/p>\n<p>Dann erfolgt die Gruppierung von Funktionen zu sinnvollen Einheiten. Dadurch entstehen Module, die funktionale Gruppen bilden. Das Sonar-System wird dabei in die funktionalen Gruppen Signalerzeugung, Signalverarbeitung sowie Management aufgeteilt. Um erzeugte Signale in Schallwellen zu wandeln, wird eine weitere Funktion ben\u00f6tigt. Um Schall-Echos von Objekten als Signale verarbeiten zu k\u00f6nnen, m\u00fcssen sie wieder empfangen werden k\u00f6nnen. Daf\u00fcr wird die funktionale Gruppe Transceiver erzeugt. Hier wird bereits ein erster Teil der Technologie-Bindung durchgef\u00fchrt, da (elektrische) Signale in Schallwellen (und umgekehrt) umgewandelt werden m\u00fcssen.<\/p>\n<h2>Technologie-Bindung<\/h2>\n<p>In der n\u00e4chsten Verfeinerung wird die Technologie-Bindung durchgef\u00fchrt. Elemente unterschiedlicher Technologie werden hierbei durch Transformations-Tasks verbunden und die Verbindungen (im Allgemeinten Signale oder Signalfl\u00fcsse) je nach gew\u00e4hlter Technologie und Art der Signale verfeinert.<\/p>\n<p>Der System-Architekt oder Anwendungs-Entwickler legt fest, welche Teile der Anwendung in welcher Technologie realisiert werden sollen. Die Module Signalerzeugung, Signalverarbeitung und Management werden als digitale Elektronik realisiert. Um digitale Signale in Schallwellen umzuwandeln und empfangene Schall-Echos digital verarbeiten zu k\u00f6nnen, ist eine Transformation von der digitalen Elektronik in analoge Elektronik und elektromechanischen Teile notwendig. Daher wird das Modul Transceiver bzw. Transducer als analoge Elektronik realisiert. Die Abbildung 7 (siehe\u00a0<a title=\"Dynamische Softwarearchitektur f\u00fcr eingebettete Systeme (PDF)\" href=\"https:\/\/www.microconsult.de\/wp-content\/uploads\/2025\/11\/fachinfo_ese_echt_dynamische_softwarearchitektur_fuer_eingebettete_systeme_institut_fuer_eingebettete_systeme-echtzeitsysteme_universitaet_ulm_slomkahausner.pdf\" target=\"_blank\" rel=\"noopener\">PDF<\/a>) zeigt das Anwendungs-Modell nach der Technologie-Bindung.<\/p>\n<h2>Zeitliche Einschr\u00e4nkungen (Constraints)<\/h2>\n<p>Danach wird der funktionale Systementwurf durch die Annotation von Constraints am Anwendungs-Element (z.B. Signale) verfeinert und kann nun als ein Input in den Plattformentwurf dienen.<\/p>\n<p>Um 200kHz-Signale sicher zu erfassen, ist die doppelte Sampling-Rate notwendig. Im Sonar-System wird die Sampling-Rate der Analog-Digital-Wandlung auf 1MHz festgelegt, um Ungenauifkeiten im Low-Pass-Filter abzufangen und Signalanteile \u00fcber 200kHz Frequenz zu erfassen. Daher werden in diesem Schritt drei Zeit-Constraints annotiert, die sich aus den nicht-funktionalen Anforderungen ergeben:<\/p>\n<ul>\n<li>die Sampling-Rate der Analog-Digital-Wandung<\/li>\n<li>die maximale Zeit f\u00fcr die Objekterkennung<\/li>\n<li>die gesamte Berechnungszeit des Systems<\/li>\n<\/ul>\n<p>Die maximale Zeit f\u00fcr die Objekterkennung ermittelt sich daraus, dass im Erkennungsbereich von bis zu 50m Objeckt-Echo innerhalb von 71ms emfpangen wird. Daher muss das Sonar-System diese Zeit warten, bevor ein neues Signal ausgesendet werden kann. Innerhalb dieser Zeit muss das System ein Echo auswerten und die Objekterkennung durchf\u00fchren k\u00f6nnen. Die Objekterkennung wird mittels Kreuzkorrelation durchgef\u00fchrt. Daf\u00fcr ist ein weiterer Zeit-Constraint notwendig, der sich aus dem bestehenden funktionalen Systementwurf und den Systemanforderungen ergibt. Das Fourier-transformierte ausgesendete Signal muss gespeichert werden, bevor die ersten Echos empfangen werden. Die maximale Zeit bis zum Speichert ergibt sich daraus, dass der Erkennungsbereich bei 2m beginnt. Innerhalb von 3ms k\u00f6nnen die ersten Echos empfangen werden. Damit muss zus\u00e4tzlich die maximale Zeit bis zum Speichern (T_Speichern) bei weniger als 3ms liegen. Abbildung 7 (siehe\u00a0<a title=\"Dynamische Softwarearchitektur f\u00fcr eingebettete Systeme (PDF)\" href=\"https:\/\/www.microconsult.de\/wp-content\/uploads\/2025\/11\/fachinfo_ese_echt_dynamische_softwarearchitektur_fuer_eingebettete_systeme_institut_fuer_eingebettete_systeme-echtzeitsysteme_universitaet_ulm_slomkahausner.pdf\" target=\"_blank\" rel=\"noopener\">PDF<\/a>) zeigt, wie dieser Constraint im funktionalen Systementwurf annotiert wird.<\/p>\n<h2>Plattformentwurf<\/h2>\n<p>In unserer Entwurfsstudie wird f\u00fcr den Plattformentwurf eine bestehende Hardware-Plattform wiederverwendet. Sie ist als Plattform-Komponenten-Modell (siehe Abbilung 8,\u00a0<a title=\"Dynamische Softwarearchitektur f\u00fcr eingebettete Systeme (PDF)\" href=\"https:\/\/www.microconsult.de\/wp-content\/uploads\/2025\/11\/fachinfo_ese_echt_dynamische_softwarearchitektur_fuer_eingebettete_systeme_institut_fuer_eingebettete_systeme-echtzeitsysteme_universitaet_ulm_slomkahausner.pdf\" target=\"_blank\" rel=\"noopener\">PDF<\/a>) verf\u00fcgbar und besteht aus sechs Plattform-Modulen, dem FPGA-Motherboard, dem FPGA-Extension Board, dem A\/D-Converter Board, dem Transducer Interface, dem Transducer selbst und einem Spannungsversorgungs-Modul.<\/p>\n<p>Hier wird erkennbar, dass die Prozessor-Elemente (PWM und NIOS) physikalisch durch den Avalon-Bus miteinander verbunden sind. Der Avalon-Bus dient auch als Verbindung zum CAN-Controller und den SPI-Controllern &#8222;AD-Controller1&#8220; und &#8222;AD-Controller2&#8220;, die sich auf dem FPGA-Extension Board befinden. Die Prozessorelemente erf\u00fcllen unterschiedliche Aufgaben. Um sie logisch zu trennten, werden bei der Erstellung des Plattform-Dom\u00e4nen-Modells der Hardware-Plattform drei Dom\u00e4nen erzeugt, die die Prozessor-Elemente kapseln (siehe Abbildung 9,\u00a0<a title=\"Dynamische Softwarearchitektur f\u00fcr eingebettete Systeme (PDF)\" href=\"https:\/\/www.microconsult.de\/wp-content\/uploads\/2025\/11\/fachinfo_ese_echt_dynamische_softwarearchitektur_fuer_eingebettete_systeme_institut_fuer_eingebettete_systeme-echtzeitsysteme_universitaet_ulm_slomkahausner.pdf\" target=\"_blank\" rel=\"noopener\">PDF<\/a>). Damit wird auch die physikalische Trennung der Plattform-Module \u00fcberwunden, und relevante Ressourcen werden den logischen Dom\u00e4nen bereitgestellt.<\/p>\n<p>Alle Hardware-Komponenten werden durch passende Ressourcen repr\u00e4sentiert, beispielsweise werden die Speicher-Elemente MEM2 und MEM3 als Speiche-Ressourcen modelliert. Alle Ressourcen die von mehreren Dom\u00e4nen genutzt werden, sind als geteilte Ressourcen (shared ressource) modelliert und in der Dom\u00e4nen-Sicht im Zwischenraum zwischen den nutzenden Dom\u00e4nen visualisiert.<\/p>\n<p>Die Dom\u00e4ne NiosMainSystem, die das Prozessor-Element NIOS kapselt, stellt eine Speicherpartition dar (mittels der Ressource MEM3). Im Gegensatz dazu ist PwmSubsystem nur eine Rechenzeitpartition.<\/p>\n<p>Nachdem die Hardware-Dom\u00e4nen modelliert sind, werden h\u00f6herwertige Dom\u00e4nen wie beim NiosMainSystem ein Betriebssystem modelliert. Hier werden 2 Tasks (Sub-Dom\u00e4nen) modelliert, die verschiedene Dienste anbieten. Ein Scheduler (Ressourcen-Manager) hat hier bis zu 64 Tasks (siehe Abbildung 9,\u00a0<a title=\"Dynamische Softwarearchitektur f\u00fcr eingebettete Systeme (PDF)\" href=\"https:\/\/www.microconsult.de\/wp-content\/uploads\/2025\/11\/fachinfo_ese_echt_dynamische_softwarearchitektur_fuer_eingebettete_systeme_institut_fuer_eingebettete_systeme-echtzeitsysteme_universitaet_ulm_slomkahausner.pdf\" target=\"_blank\" rel=\"noopener\">PDF<\/a>). Die Hardware-Dom\u00e4ne PwmSubsystem ben\u00f6tigt keine zus\u00e4tzliche Software-Schicht, die Anwendungs-Elemente werden hier direkt an die Dienste der Hardware-Dom\u00e4ne gebunden.<\/p>\n<h2>Bindung von Sonar-Anwendung und Plattform<\/h2>\n<p>Nachdem sowohl die Anwendung als auch die Plattform modelliert wurden, kann die Bindung der Anwendungs-Elemente an die Plattform erfolgen. Abbildung 10 (siehe\u00a0<a title=\"Dynamische Softwarearchitektur f\u00fcr eingebettete Systeme (PDF)\" href=\"https:\/\/www.microconsult.de\/wp-content\/uploads\/2025\/11\/fachinfo_ese_echt_dynamische_softwarearchitektur_fuer_eingebettete_systeme_institut_fuer_eingebettete_systeme-echtzeitsysteme_universitaet_ulm_slomkahausner.pdf\" target=\"_blank\" rel=\"noopener\">PDF<\/a>) zeigt beispielhaft die Bindung von Tasks an Dom\u00e4nen und deren Ausf\u00fchrungs-Dienste. Die Bindung von Tasks an Dom\u00e4nen erfolgt, indem die Tasks im Ausf\u00fchrungsbereich der Dom\u00e4nen, der freien Fl\u00e4che, platziert werden. Die Bindung von Kommunikation (Ports und Links) oder Spezial-Tasks wie Speicher und Zeit wird hier nicht dargestellt.<\/p>\n<p>Die Plattform stellt eine Dom\u00e4ne FftSubsystem bereit, die speziell f\u00fcr die Besprechung von Fast-Fourier-Transformationen geeignet ist. Deshalb werden das Modul CrossCorrelation und der Task IFFT zur Ausf\u00fchrung an den Ausf\u00fchrungsdienst dieser Dom\u00e4ne gebunden. Der Anwendungs-Task SignalGenerator wird an die Dom\u00e4ne PwmSubsystem gebunden. Wie in Abbildung 10 (siehe\u00a0<a title=\"Dynamische Softwarearchitektur f\u00fcr eingebettete Systeme (PDF)\" href=\"https:\/\/www.microconsult.de\/wp-content\/uploads\/2025\/11\/fachinfo_ese_echt_dynamische_softwarearchitektur_fuer_eingebettete_systeme_institut_fuer_eingebettete_systeme-echtzeitsysteme_universitaet_ulm_slomkahausner.pdf\" target=\"_blank\" rel=\"noopener\">PDF<\/a>) dargestellt, werden die Tasks des Moduls TargetDetection auf 2 unterschiedliche Dom\u00e4nen aufgeteilt. Die Tasks EnvelopeFilter und ThresholdFilter werden durch die Dom\u00e4ne NiosMainsystem bzw. deren Sub-Dom\u00e4ne Task1 ausgef\u00fchrt. Die Dom\u00e4ne Task2 bindet das Modul Management und erm\u00f6glicht damit eine nebenl\u00e4ufige Ausf\u00fchrung von Management und TargetDetection auf einem Prozessor.<\/p>\n<h2>Zusammenfassung<\/h2>\n<p>Wir zeigen mit unserer Entwurfsmethodik und dem zugeh\u00f6rigen Metamodell, wie die Besonderheiten des dynamischen Verhaltens eingebetteter Software ber\u00fccksichtigt werden k\u00f6nnen. Ein besonderes Augenmerk gilt dabei der Dynamik der Hardware\/Software-Schnittstelle.<\/p>\n<p>In unseren weiteren Forschungsarbeiten wollen wir die Bindung von Anwendung und Plattform &#8211; insbesondere deren intuitive grafische Darstellung &#8211; analysieren und uns verst\u00e4rkt um die Anbindung von Constraints an Anwendungs- und Plattform-Elemente k\u00fcmmern. Als Basis daf\u00fcr soll eine Implementierung der Entwurfsmethodik und des Metamodells erfolgen.<\/p>\n<h2>Literatur- und Quellenverzeichnis<\/h2>\n<p>[1]\u00a0\u00a0\u00a0 L. P. Carloni, F. De Bernardinis, C. Pinello, A. L. Sangiovanni-Vincentelli, and M. Sgroi. Platform-Based Design for Embedded Systems. In R. Zurawski, editor,\u00a0<em>Embedded systems handbook<\/em>, Industrial information technology series, pages 1\u201326. Taylor &amp; Francis, Boca Raton, 2006.<\/p>\n<p>[2]\u00a0\u00a0\u00a0 C. Hausner and F. Slomka. Abstract Modeling of Embedded Systems Hardware. In\u00a0<em>Proceedings of the 3rd International Conference on Simulation and Modeling Methodologies, Technologies and Applications (SIMULTECH 2013)<\/em>, pages 251\u2013258, 2013.<\/p>\n<p>[3]\u00a0\u00a0\u00a0 I. Jacobson.\u00a0<em>Object-oriented software engineering: A use case driven approach<\/em>. Addison-Wesley, Harlow, revised printing edition, 1998.<\/p>\n<p>[4]\u00a0\u00a0\u00a0 G. Karsai. Modeling Cyber-Physical Systems: Challenges and Recent Advances, 05.09.2014.<\/p>\n<p>[5]\u00a0\u00a0\u00a0 Object Management Group.\u00a0<em>OMG Systems Modeling Language, version 1.2 (OMG SysML)<\/em>. Object Management Group, Needham, 1.2 edition, 2010.<\/p>\n<p>[6]\u00a0\u00a0\u00a0 Object Management Group.\u00a0<em>UML Profile for MARTE: Modeling and Analysis of Real-Time Embedded Systems<\/em>. Object Management Group, Needham, 1.1 edition, 2011.<\/p>\n<p>[7]\u00a0\u00a0\u00a0 Object Management Group. Unified Modeling Language (UML), 2013.<\/p>\n<p>[8]\u00a0\u00a0\u00a0 A. L. Sangiovanni-Vincentelli. Defining Platform-based Design. 2002.<\/p>\n<p>[9]\u00a0\u00a0\u00a0 F. Slomka, S. Kollmann, S. Moser, and K. Kempf. A Multidisciplinary Design Methodology for Cyber-physical Systems. In S. V. Baelen, S. G\u00e9rard, I. Ober, T. Weigert, H. Espinoza, and I. Ober, editors,\u00a0<em>Proceedings of the 4th International Workshop on Model Based Architecting and Construction of Embedded Systems ACES-MB 2011<\/em>, CEUR Workshop Proceedings, 2011.<\/p>\n<div>\n<p><a title=\"Dynamische Softwarearchitektur f\u00fcr eingebettete Systeme (PDF)\" href=\"https:\/\/www.microconsult.de\/wp-content\/uploads\/2025\/11\/fachinfo_ese_echt_dynamische_softwarearchitektur_fuer_eingebettete_systeme_institut_fuer_eingebettete_systeme-echtzeitsysteme_universitaet_ulm_slomkahausner.pdf\" target=\"_blank\" rel=\"noopener\"><strong>Beitrag als PDF-Datei herunterladen<\/strong><\/a><\/p>\n<hr \/>\n<h2>Echtzeit &#8211; MicroConsult Trainings &amp; Coachings<\/h2>\n<p><strong>Wollen Sie sich auf den aktuellen Stand der Technik bringen?<\/strong><\/p>\n<p>Dann informieren Sie sich\u00a0<a title=\"Alle Trainings und Termine\" href=\"https:\/\/www.microconsult.de\/alle-trainings-termine-komplettuebersicht\/\" target=\"_blank\" rel=\"noopener\"><strong>hier<\/strong>\u00a0<\/a>zu Schulungen\/ Seminaren\/ Trainings\/ Workshops und individuellen Coachings von MircoConsult zum Thema Embedded- und Echtzeit-Softwareentwicklung.<\/p>\n<p><strong><br \/>\nTraining &amp; Coaching zu den weiteren Themen unseren Portfolios finden Sie\u00a0<a title=\"Training &amp; Beratung - alle Themen\" href=\"https:\/\/www.microconsult.de\/training-beratung\/\" target=\"_blank\" rel=\"noopener\">hier<\/a>.<\/strong><\/p>\n<hr \/>\n<h2>Echtzeit &#8211; Fachwissen<\/h2>\n<p>Wertvolles Fachwissen zum Thema\u00a0Architektur \/Embedded- und Echtzeit-Softwareentwicklung steht\u00a0<a title=\"Embedded Software Architektur Fachwissen\" href=\"https:\/\/www.microconsult.de\/die-7-wichtigsten-tipps-fuer-ihre-embedded-software-architektur\/\" target=\"_blank\" rel=\"noopener\"><strong>hier<\/strong><\/a>\u00a0f\u00fcr Sie zum kostenfreien Download bereit.<\/p>\n<p><a title=\"Embedded Software Architektur Fachwissen\" href=\"https:\/\/www.microconsult.de\/die-7-wichtigsten-tipps-fuer-ihre-embedded-software-architektur\/\" target=\"_blank\" rel=\"noopener\"><strong>Zu den Fachinformationen<\/strong><\/a><\/p>\n<p><strong>Fachwissen zu weiteren Themen unseren Portfolios finden Sie <a title=\"Fachinformationen\" href=\"https:\/\/www.microconsult.de\/fachwissen\/\" target=\"_blank\" rel=\"noopener\">hier<\/a>.<\/strong><\/p>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Softwaredynamik fest im Griff Autoren: Frank Slomka, Christian Hausner, Institut f\u00fcr Eingebettete Systeme\/Echtzeitsysteme Universit\u00e4t Ulm Beitrag &#8211; Embedded Software Engineering Kongress 2015 Mit der UML und den dazugeh\u00f6rigen Erweiterungen SysML und MARTE kann die statische Architektur einer Software gut beschrieben werden. Ein Problem im Rahmen eines ganzheitlichen Entwicklungsprozesses f\u00fcr eingebettete Software stellt die Dynamik des [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_et_pb_use_builder":"","_et_pb_old_content":"","_et_gb_content_width":"","inline_featured_image":false,"footnotes":""},"categories":[],"tags":[],"class_list":["post-8057","post","type-post","status-publish","format-standard","hentry"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.9 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Dynamische Softwarearchitektur f\u00fcr eingebettete Systeme - MicroConsult Academy GmbH<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.microconsult.de\/en\/dynamic-software-architecture-for-embedded-systems\/\" \/>\n<meta property=\"og:locale\" content=\"en_GB\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Dynamische Softwarearchitektur f\u00fcr eingebettete Systeme - MicroConsult Academy GmbH\" \/>\n<meta property=\"og:description\" content=\"Softwaredynamik fest im Griff Autoren: Frank Slomka, Christian Hausner, Institut f\u00fcr Eingebettete Systeme\/Echtzeitsysteme Universit\u00e4t Ulm Beitrag &#8211; Embedded Software Engineering Kongress 2015 Mit der UML und den dazugeh\u00f6rigen Erweiterungen SysML und MARTE kann die statische Architektur einer Software gut beschrieben werden. Ein Problem im Rahmen eines ganzheitlichen Entwicklungsprozesses f\u00fcr eingebettete Software stellt die Dynamik des [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.microconsult.de\/en\/dynamic-software-architecture-for-embedded-systems\/\" \/>\n<meta property=\"og:site_name\" content=\"MicroConsult Academy GmbH\" \/>\n<meta property=\"article:published_time\" content=\"2025-11-29T08:15:43+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-02-11T05:04:20+00:00\" \/>\n<meta name=\"author\" content=\"weissblau media\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"weissblau media\" \/>\n\t<meta name=\"twitter:label2\" content=\"Estimated reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"26 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.microconsult.de\\\/dynamische-softwarearchitektur-fuer-eingebettete-systeme\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.microconsult.de\\\/dynamische-softwarearchitektur-fuer-eingebettete-systeme\\\/\"},\"author\":{\"name\":\"weissblau media\",\"@id\":\"https:\\\/\\\/www.microconsult.de\\\/#\\\/schema\\\/person\\\/b6d4c4ae959b068fbe8d9416ed019a0a\"},\"headline\":\"Dynamische Softwarearchitektur f\u00fcr eingebettete Systeme\",\"datePublished\":\"2025-11-29T08:15:43+00:00\",\"dateModified\":\"2026-02-11T05:04:20+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.microconsult.de\\\/dynamische-softwarearchitektur-fuer-eingebettete-systeme\\\/\"},\"wordCount\":4806,\"commentCount\":0,\"inLanguage\":\"en-GB\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.microconsult.de\\\/dynamische-softwarearchitektur-fuer-eingebettete-systeme\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.microconsult.de\\\/dynamische-softwarearchitektur-fuer-eingebettete-systeme\\\/\",\"url\":\"https:\\\/\\\/www.microconsult.de\\\/dynamische-softwarearchitektur-fuer-eingebettete-systeme\\\/\",\"name\":\"Dynamische Softwarearchitektur f\u00fcr eingebettete Systeme - MicroConsult Academy GmbH\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.microconsult.de\\\/#website\"},\"datePublished\":\"2025-11-29T08:15:43+00:00\",\"dateModified\":\"2026-02-11T05:04:20+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/www.microconsult.de\\\/#\\\/schema\\\/person\\\/b6d4c4ae959b068fbe8d9416ed019a0a\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.microconsult.de\\\/dynamische-softwarearchitektur-fuer-eingebettete-systeme\\\/#breadcrumb\"},\"inLanguage\":\"en-GB\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.microconsult.de\\\/dynamische-softwarearchitektur-fuer-eingebettete-systeme\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.microconsult.de\\\/dynamische-softwarearchitektur-fuer-eingebettete-systeme\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.microconsult.de\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Dynamische Softwarearchitektur f\u00fcr eingebettete Systeme\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.microconsult.de\\\/#website\",\"url\":\"https:\\\/\\\/www.microconsult.de\\\/\",\"name\":\"MicroConsult Academy GmbH\",\"description\":\"Professionelle Schulungen, Beratung und Projektunterst\u00fctzung\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.microconsult.de\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-GB\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.microconsult.de\\\/#\\\/schema\\\/person\\\/b6d4c4ae959b068fbe8d9416ed019a0a\",\"name\":\"weissblau media\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-GB\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/bbb409da4970da9446f6c49465d453cb8a0dae301e4d4f465b5c4e62408daa2e?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/bbb409da4970da9446f6c49465d453cb8a0dae301e4d4f465b5c4e62408daa2e?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/bbb409da4970da9446f6c49465d453cb8a0dae301e4d4f465b5c4e62408daa2e?s=96&d=mm&r=g\",\"caption\":\"weissblau media\"},\"sameAs\":[\"https:\\\/\\\/www.microconsult.de\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Dynamic software architecture for embedded systems - MicroConsult Academy GmbH","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.microconsult.de\/en\/dynamic-software-architecture-for-embedded-systems\/","og_locale":"en_GB","og_type":"article","og_title":"Dynamische Softwarearchitektur f\u00fcr eingebettete Systeme - MicroConsult Academy GmbH","og_description":"Softwaredynamik fest im Griff Autoren: Frank Slomka, Christian Hausner, Institut f\u00fcr Eingebettete Systeme\/Echtzeitsysteme Universit\u00e4t Ulm Beitrag &#8211; Embedded Software Engineering Kongress 2015 Mit der UML und den dazugeh\u00f6rigen Erweiterungen SysML und MARTE kann die statische Architektur einer Software gut beschrieben werden. Ein Problem im Rahmen eines ganzheitlichen Entwicklungsprozesses f\u00fcr eingebettete Software stellt die Dynamik des [&hellip;]","og_url":"https:\/\/www.microconsult.de\/en\/dynamic-software-architecture-for-embedded-systems\/","og_site_name":"MicroConsult Academy GmbH","article_published_time":"2025-11-29T08:15:43+00:00","article_modified_time":"2026-02-11T05:04:20+00:00","author":"weissblau media","twitter_card":"summary_large_image","twitter_misc":{"Written by":"weissblau media","Estimated reading time":"26 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.microconsult.de\/dynamische-softwarearchitektur-fuer-eingebettete-systeme\/#article","isPartOf":{"@id":"https:\/\/www.microconsult.de\/dynamische-softwarearchitektur-fuer-eingebettete-systeme\/"},"author":{"name":"weissblau media","@id":"https:\/\/www.microconsult.de\/#\/schema\/person\/b6d4c4ae959b068fbe8d9416ed019a0a"},"headline":"Dynamische Softwarearchitektur f\u00fcr eingebettete Systeme","datePublished":"2025-11-29T08:15:43+00:00","dateModified":"2026-02-11T05:04:20+00:00","mainEntityOfPage":{"@id":"https:\/\/www.microconsult.de\/dynamische-softwarearchitektur-fuer-eingebettete-systeme\/"},"wordCount":4806,"commentCount":0,"inLanguage":"en-GB","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.microconsult.de\/dynamische-softwarearchitektur-fuer-eingebettete-systeme\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.microconsult.de\/dynamische-softwarearchitektur-fuer-eingebettete-systeme\/","url":"https:\/\/www.microconsult.de\/dynamische-softwarearchitektur-fuer-eingebettete-systeme\/","name":"Dynamic software architecture for embedded systems - MicroConsult Academy GmbH","isPartOf":{"@id":"https:\/\/www.microconsult.de\/#website"},"datePublished":"2025-11-29T08:15:43+00:00","dateModified":"2026-02-11T05:04:20+00:00","author":{"@id":"https:\/\/www.microconsult.de\/#\/schema\/person\/b6d4c4ae959b068fbe8d9416ed019a0a"},"breadcrumb":{"@id":"https:\/\/www.microconsult.de\/dynamische-softwarearchitektur-fuer-eingebettete-systeme\/#breadcrumb"},"inLanguage":"en-GB","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.microconsult.de\/dynamische-softwarearchitektur-fuer-eingebettete-systeme\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.microconsult.de\/dynamische-softwarearchitektur-fuer-eingebettete-systeme\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.microconsult.de\/"},{"@type":"ListItem","position":2,"name":"Dynamische Softwarearchitektur f\u00fcr eingebettete Systeme"}]},{"@type":"WebSite","@id":"https:\/\/www.microconsult.de\/#website","url":"https:\/\/www.microconsult.de\/","name":"MicroConsult Academy GmbH","description":"Professional training, consulting and project support","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.microconsult.de\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-GB"},{"@type":"Person","@id":"https:\/\/www.microconsult.de\/#\/schema\/person\/b6d4c4ae959b068fbe8d9416ed019a0a","name":"weissblau media","image":{"@type":"ImageObject","inLanguage":"en-GB","@id":"https:\/\/secure.gravatar.com\/avatar\/bbb409da4970da9446f6c49465d453cb8a0dae301e4d4f465b5c4e62408daa2e?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/bbb409da4970da9446f6c49465d453cb8a0dae301e4d4f465b5c4e62408daa2e?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/bbb409da4970da9446f6c49465d453cb8a0dae301e4d4f465b5c4e62408daa2e?s=96&d=mm&r=g","caption":"weissblau media"},"sameAs":["https:\/\/www.microconsult.de"]}]}},"post_mailing_queue_ids":[],"_links":{"self":[{"href":"https:\/\/www.microconsult.de\/en\/wp-json\/wp\/v2\/posts\/8057","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.microconsult.de\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.microconsult.de\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.microconsult.de\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.microconsult.de\/en\/wp-json\/wp\/v2\/comments?post=8057"}],"version-history":[{"count":6,"href":"https:\/\/www.microconsult.de\/en\/wp-json\/wp\/v2\/posts\/8057\/revisions"}],"predecessor-version":[{"id":11624,"href":"https:\/\/www.microconsult.de\/en\/wp-json\/wp\/v2\/posts\/8057\/revisions\/11624"}],"wp:attachment":[{"href":"https:\/\/www.microconsult.de\/en\/wp-json\/wp\/v2\/media?parent=8057"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.microconsult.de\/en\/wp-json\/wp\/v2\/categories?post=8057"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.microconsult.de\/en\/wp-json\/wp\/v2\/tags?post=8057"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}