{"id":7870,"date":"2025-11-29T07:05:48","date_gmt":"2025-11-29T06:05:48","guid":{"rendered":"https:\/\/web-dev-weissblau.de\/microconsult\/?p=7870"},"modified":"2026-02-13T08:16:22","modified_gmt":"2026-02-13T07:16:22","slug":"modeling-with-ciro","status":"publish","type":"post","link":"https:\/\/www.microconsult.de\/en\/modellierung-mit-ciro\/","title":{"rendered":"Modeling with CIRO"},"content":{"rendered":"<h2>Eine UML-Erweiterung zur Modellierung reaktiver Systeme<\/h2>\n<p style=\"text-align: left;\" align=\"center\">Autor: Johannes Scheier, Z\u00fcrcher Hochschule f\u00fcr angewandte Wissenschaften<\/p>\n<h3>Beitrag &#8211; Embedded Software Engineering Kongress 2017<\/h3>\n<p><strong>Modellgetriebene Software-Entwicklung ist ein Ansatz mit enormem, nur teilweise ausgesch\u00f6pftem Potential. Je verst\u00e4ndlicher und lesbarer die Modelle, desto gr\u00f6\u00dfer ist ihr Nutzen. UML (Unified Modelling Language) sieht die M\u00f6glichkeit vor, die Sprache durch eigene Abstraktionen zu erweitern. Nachfolgend wird CIRO (Communicating Interacting Reactive Objects), eine auf diesem Me\u00adchanismus basierende Erweiterung, vorgestellt.<\/strong><\/p>\n<p>Modellgetriebene Software-Entwicklung ist eine Vorgehensweise zur Modellierung und anschliessenden Code-Generierung von Software-Systemen. Dabei wird ein formales, vollst\u00e4ndiges und plattformunabh\u00e4ngiges Modell erstellt und daraus der plattformspezifische Code generiert. Das Modell beschreibt die Struktur und das Verhalten des Systems.<\/p>\n<p>CRIO ist eine Sammlung von Abstraktionen und Konzepten, die bei der Modellierung von Embedded Systemen hilfreich sind. CIRO definiert eine generische Software-Architektur, synchrone und asynchrone Kommunikationsmechanismen zwischen Objekten sowie eine Systemstruktur als Komposition von wiederverwendbaren Komponenten. Eine fundamentale Rolle kommt dabei den qualifizierten Konnektoren zu, einem Konzept zur Definition der Interaktion von Komponenten innerhalb einer Komposition.<\/p>\n<p>CIRO basiert auf CIP (Communicating Interacting Processes), einer modellbasierten Entwicklungsmethodik f\u00fcr Embedded Systeme. CIP wurde 1999 an der ETH Z\u00fcrich von Prof. Dr. Hugo Fierz entwickelt [1].<\/p>\n<h2>Generische Software-Architektur<\/h2>\n<p>Als Ausgangspunkt f\u00fcr die Modellierung in CIRO dient die nachfolgend beschriebene generische Software-Architektur f\u00fcr Embedded Systeme (Abb. 1, siehe\u00a0<a title=\"Modellierung mit CIRO (PDF)\" href=\"https:\/\/www.microconsult.de\/wp-content\/uploads\/2025\/12\/fachinfo_ese_modellierung_modellierung_mit_ciro_zuercher_hochschule_scheier.pdf\" target=\"_blank\" rel=\"noopener\">PDF<\/a>). Diese Architektur l\u00e4sst sich auf Systeme anwenden, welche technische Prozesse aufgrund von physikalischen Ereignissen steuern. Das Embedded System reagiert auf Ereignisse in den technischen Prozessen mit Aktionen, welche die technischen Prozesse beeinflussen. Sei ein technischer Prozess beispielsweise eine Heizung, dann reagiert das Embedded System auf das Ereignis\u00a0<em>tempHigh<\/em>\u00a0mit der Aktion\u00a0<em>heatingOff<\/em>.<\/p>\n<p>Wir stellen uns vor, dass die technischen Prozesse direkt mit der Reactive-Machine kommunizieren und mit dieser Event- und Action-Messages austauschen \u2013 diese vorgestellte Interaktion bezeichnen wir als virtuelle Interaktion (siehe (a) in Abb. 1,\u00a0<a title=\"Modellierung mit CIRO (PDF)\" href=\"https:\/\/www.microconsult.de\/wp-content\/uploads\/2025\/12\/fachinfo_ese_modellierung_modellierung_mit_ciro_zuercher_hochschule_scheier.pdf\" target=\"_blank\" rel=\"noopener\">PDF<\/a>). In Tat und Wahrheit wird diese Kommunikation in der Connection-Schicht des Embedded Systems implementiert, wobei der technische Prozess \u00fcber Sensoren mit dem Embedded System verbunden ist. Aus den Signalen der Sensoren werden die Ereignisse detektiert und als Event-Messages \u00fcber eine Message-Queue an die Reactive-Machine weitergereicht. Die Reactive-Machine sowie die Connection sind passive Komponenten. Die Execution, quasi die main()-Funktion, ist f\u00fcr den Aufruf dieser Komponenten verantwortlich.<\/p>\n<p>Eine Unit ist eine ausf\u00fchrbare Einheit, welche parallel zu anderen Units ausgef\u00fchrt werden kann. Eine Unit besteht aus Reactive-Machine, Connection und Execution. Mehrere Units k\u00f6nnen auf verschiedene Threads oder auch auf mehrere Prozessoren verteilt werden.<\/p>\n<p>Die Reactive-Machine reagiert auf Events in den technischen Prozessen und l\u00f6st Actions an denselben aus.<br \/>\nDie Interaktion zwischen Reactive-Machine und technischen Prozessen erfolgt je\u00addoch indirekt \u00fcber die Connection, welche Ereignisse detektiert und als Event-Messages an die Reactive-Machine weiterleitet. Andererseits nimmt die Connection Action-Messages von der Reactive-Machine entgegen und leitet diese als elektrische Signale an die Aktuatoren weiter.<\/p>\n<p>Die Reactive-Machine und die Connection sind passiv und werden durch die Execution aktiviert.<\/p>\n<p>Im Folgenden werden die Komponenten dieser Software-Architektur beschrieben. Als Beispiel dient ein Modell f\u00fcr die Steuerung einer Schiebet\u00fcre, welche im Rahmen eines Praktikums von den Studenten der ZHAW entwickelt wird (Abb. 2, siehe\u00a0<a title=\"Modellierung mit CIRO (PDF)\" href=\"https:\/\/www.microconsult.de\/wp-content\/uploads\/2025\/12\/fachinfo_ese_modellierung_modellierung_mit_ciro_zuercher_hochschule_scheier.pdf\" target=\"_blank\" rel=\"noopener\">PDF<\/a>).<\/p>\n<h2>Reactive-Machine<\/h2>\n<p><strong>Reactive-Machine<br \/>\n<\/strong>Das Interface der Reactive-Machine l\u00e4sst sich aus der virtuellen Interaktion ableiten. Es besteht aus Ports. F\u00fcr jedes Port wird definiert, welche Messages empfangen oder gesendet werden k\u00f6nnen (Abb. 3, siehe\u00a0<a title=\"Modellierung mit CIRO (PDF)\" href=\"https:\/\/www.microconsult.de\/wp-content\/uploads\/2025\/12\/fachinfo_ese_modellierung_modellierung_mit_ciro_zuercher_hochschule_scheier.pdf\" target=\"_blank\" rel=\"noopener\">PDF<\/a>).<\/p>\n<p>Die Reactive-Machine selbst ist eine Komposition von\u00a0<strong>Reactive-Clusters<\/strong>, welche ihrerseits aus Reactive-Objects bestehen. \u00dcber Reactive-Cluster-Grenzen kann nur asynchron \u00fcber Event- und Action-Messages kommuniziert werden. Innerhalb der Cluster-Grenzen kann synchron \u00fcber Pulse und State-Queries kommuniziert werden.<\/p>\n<h2>Reactive-Object<\/h2>\n<p>(rote Elemente in Abb. 4, siehe\u00a0<a title=\"Modellierung mit CIRO (PDF)\" href=\"https:\/\/www.microconsult.de\/wp-content\/uploads\/2025\/12\/fachinfo_ese_modellierung_modellierung_mit_ciro_zuercher_hochschule_scheier.pdf\" target=\"_blank\" rel=\"noopener\">PDF<\/a>)<\/p>\n<p>Das Verhalten eines Reactive-Object ist in einer State-Machine definiert (Abb. 5, siehe\u00a0<a title=\"Modellierung mit CIRO (PDF)\" href=\"https:\/\/www.microconsult.de\/wp-content\/uploads\/2025\/12\/fachinfo_ese_modellierung_modellierung_mit_ciro_zuercher_hochschule_scheier.pdf\">PDF<\/a>). Jede State-Transistion hat einen Ausl\u00f6ser (Trigger) und kann einen Output (Action) erzeugen. Nebst dem Trigger k\u00f6nnen Bedingungen (Guards) zu State-Transitions definiert werden. Als Trigger kommen In-Pulse und Event-Messages in Frage, als Actions Out-Pulse und Action-Messages und als Guard sogenannte Gates. Dabei gilt folgende Syntax: trigger[guard]\/action (Abb. 5, siehe\u00a0<a title=\"Modellierung mit CIRO (PDF)\" href=\"https:\/\/www.microconsult.de\/wp-content\/uploads\/2025\/12\/fachinfo_ese_modellierung_modellierung_mit_ciro_zuercher_hochschule_scheier.pdf\" target=\"_blank\" rel=\"noopener\">PDF<\/a>)<\/p>\n<h2>Synchrone Interaktion von Reactive-Objects<\/h2>\n<p>(graue Elemente in Abb. 4, siehe\u00a0<a title=\"Modellierung mit CIRO (PDF)\" href=\"https:\/\/www.microconsult.de\/wp-content\/uploads\/2025\/12\/fachinfo_ese_modellierung_modellierung_mit_ciro_zuercher_hochschule_scheier.pdf\" target=\"_blank\" rel=\"noopener\">PDF<\/a>)<\/p>\n<p>Innerhalb eines Reactive-Clusters k\u00f6nnen Reactive-Objects synchron miteinander interagieren. Die Mechanismen zur synchronen Interaktion sind Pulse-Cast und State-Inspection.<\/p>\n<p>Ein\u00a0<strong>Pulse-Cast<\/strong>\u00a0ist eine Interaktion zwischen Reactive-Objects, wobei ein ausgesendeter Out-Pulse in In-Pulses von Empf\u00e4ngerobjekten \u00fcbersetzt werden. So wird beispielsweise in ((a) Abb. 4, siehe\u00a0<a title=\"Modellierung mit CIRO (PDF)\" href=\"https:\/\/www.microconsult.de\/wp-content\/uploads\/2025\/12\/fachinfo_ese_modellierung_modellierung_mit_ciro_zuercher_hochschule_scheier.pdf\">PDF<\/a>) der Out-Pulse\u00a0<em>oPress<\/em>\u00a0von\u00a0<em>button<\/em>\u00a0in den In-Pulse\u00a0<em>iOpen<\/em>\u00a0von\u00a0<em>doorControl<\/em>\u00a0\u00fcbersetzt.<\/p>\n<p><strong>State-Inspection\u00a0<\/strong>ist eine Interaktion zwischen Reactive-Objects, bei der das inspizierende Objekt eine Gate-Operation aufruft, welche in eine logische Abfrage von Zust\u00e4nden der inspizierten Objekte \u00fcbersetzt wird. So ist beispielsweise der logische Ausdruck f\u00fcr\u00a0<em>canClose:<\/em>\u00a0<em>!lightBarrier.Interrupted &amp;&amp; openButton.Released\u00a0<\/em>((b) in Abb. 4, siehe\u00a0<a title=\"Modellierung mit CIRO (PDF)\" href=\"https:\/\/www.microconsult.de\/wp-content\/uploads\/2025\/12\/fachinfo_ese_modellierung_modellierung_mit_ciro_zuercher_hochschule_scheier.pdf\" target=\"_blank\" rel=\"noopener\">PDF<\/a>), d.h. die T\u00fcre kann nur geschlossen werden, wenn die Lichtschranke nicht unterbrochen ist und der \u00d6ffnen-Knopf losgelassen ist.<\/p>\n<p>Die Interaktionsdefinitionen sind den Verbindungen zwischen Objekten zugeordnet, den sogenannten\u00a0<strong>qualifizierten Konnektoren<\/strong>. Diese sind wie die Objekte selbst Bestandteile der Komposition. Die interagierenden Objekte bzw. deren Klassen sind unabh\u00e4ngig voneinander. Dies f\u00fchrt zu einer gro\u00dfen Flexibilit\u00e4t und Wiederverwendbarkeit.<\/p>\n<p>Die\u00a0<strong>Connection<\/strong>\u00a0liest die Eingangssignale, detektiert Event-Messages und leitet diese an die Reaktive-Machine weiter. Das Modell der Connection ist wiederum eine hie\u00adrarchische Struktur, deren Komponenten Instanzen wiederverwendbarer Klassen sind.<\/p>\n<p><strong>Execution<\/strong>\u00a0ist f\u00fcr das Scheduling innerhalb der Unit verantwortlich. In der Regel ist das die main()- oder run()-Operation der Unit-Task, welche zyklisch die Connection und die Reactive-Machine aufruft (Abb. 7, siehe\u00a0<a title=\"Modellierung mit CIRO (PDF)\" href=\"https:\/\/www.microconsult.de\/wp-content\/uploads\/2025\/12\/fachinfo_ese_modellierung_modellierung_mit_ciro_zuercher_hochschule_scheier.pdf\" target=\"_blank\" rel=\"noopener\">PDF<\/a>).<\/p>\n<h2>Simulation und Testing<\/h2>\n<p>Das Modell der Reactive-Machine ist ausf\u00fchrbar bzw. simulierbar d.h. es k\u00f6nnen Event-Messages eingespeist und die entsprechenden Reaktionen verfolgt werden.<\/p>\n<p>Sobald die funktionalen Anforderungen bekannt sind und das Interface zur Reactive-Machine definiert ist, k\u00f6nnen\u00a0<strong>Test-Cases<\/strong>\u00a0definiert werden, z.B. als Sequenz-Diagramme (Abb. 9, siehe\u00a0<a title=\"Modellierung mit CIRO\" href=\"https:\/\/www.microconsult.de\/wp-content\/uploads\/2025\/12\/fachinfo_ese_modellierung_modellierung_mit_ciro_zuercher_hochschule_scheier.pdf\" target=\"_blank\" rel=\"noopener\">PDF<\/a>). Aus Sicht der Test-Cases ist die Reactive-Machine eine Blackbox.<\/p>\n<h2>Code-Generierung<\/h2>\n<p>Der Code f\u00fcr auf dem Target ausf\u00fchrbaren die Units kann vollst\u00e4ndig aus dem Modell generiert werden.<\/p>\n<h2>Qualifizierte Konnektoren<\/h2>\n<p>Die qualifizierten Konnektoren sind UML-Links, welche um zus\u00e4tzliche Aussagen zur Verbindung erweitert werden, beispielsweise Pulse-Cast oder State-Inspection (siehe oben). Dieses Konzept l\u00e4sst sich ganz allgemein auf jede Verbindung von Objekten innerhalb einer Komposition anwenden und erh\u00f6ht die Flexibilit\u00e4t und Wiederverwendbarkeit enorm.<\/p>\n<h2>Zusammenfassung<\/h2>\n<p>CIRO erm\u00f6glicht mit wenigen kleinen UML-Erweiterungen eine effektivere Anwendung von modellgetriebener Software-Entwicklung f\u00fcr Embedded Systeme.<\/p>\n<p>Diese Erweiterungen basieren zum gro\u00dfen Teil auf dem allgemeineren Konzept der qualifizierten Konnektoren, welches auch in anderen Gebieten der Modellierung an\u00adgewendet werden kann.<\/p>\n<p>CIRO ist tool-unabh\u00e4ngig. Es existieren Realisierungen f\u00fcr ActifSource und IBM Rhapsody. Weitere sollten sich mit vertretbarem Aufwand implementieren lassen.<\/p>\n<h2>Literaturverzeichnis<\/h2>\n<p>[1] Fierz, Hugo. (1999). The CIP Method: Component- and Model-Based Construction of Embedded Systems. ACM Sigsoft Software Engineering Notes. 24. 375-392. 10.1007\/3-540-48166-4_23.<\/p>\n<p><a title=\"Modellierung mit CIRO (PDF)\" href=\"https:\/\/www.microconsult.de\/wp-content\/uploads\/2025\/12\/fachinfo_ese_modellierung_modellierung_mit_ciro_zuercher_hochschule_scheier.pdf\" target=\"_blank\" rel=\"noopener\"><strong>Beitrag als PDF downloaden<\/strong><\/a><\/p>\n<hr \/>\n<h2>Modellierung &#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 Modellierung \/Embedded- und Echtzeit-Softwareentwicklung.<\/p>\n<p><strong>Training &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>Modellierung &#8211; Fachwissen<\/h2>\n<p>Wertvolles Fachwissen zum Thema Modellierung \/Embedded- und Echtzeit-Softwareentwicklung steht\u00a0<a title=\"Embedded- und Echtzeit-Softwareentwicklung\" href=\"https:\/\/www.microconsult.de\/embedded-und-echtzeit-softwareentwicklung\/\" target=\"_blank\" rel=\"noopener\"><strong>hier<\/strong>\u00a0<\/a>f\u00fcr Sie zum kostenfreien Download bereit.<\/p>\n<p><a title=\"Embedded- und Echtzeit-Softwareentwicklung\" href=\"https:\/\/www.microconsult.de\/embedded-und-echtzeit-softwareentwicklung\/\" 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","protected":false},"excerpt":{"rendered":"<p>Eine UML-Erweiterung zur Modellierung reaktiver Systeme Autor: Johannes Scheier, Z\u00fcrcher Hochschule f\u00fcr angewandte Wissenschaften Beitrag &#8211; Embedded Software Engineering Kongress 2017 Modellgetriebene Software-Entwicklung ist ein Ansatz mit enormem, nur teilweise ausgesch\u00f6pftem Potential. Je verst\u00e4ndlicher und lesbarer die Modelle, desto gr\u00f6\u00dfer ist ihr Nutzen. UML (Unified Modelling Language) sieht die M\u00f6glichkeit vor, die Sprache durch eigene [&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-7870","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>Modellierung mit CIRO - 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\/modeling-with-ciro\/\" \/>\n<meta property=\"og:locale\" content=\"en_GB\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Modellierung mit CIRO - MicroConsult Academy GmbH\" \/>\n<meta property=\"og:description\" content=\"Eine UML-Erweiterung zur Modellierung reaktiver Systeme Autor: Johannes Scheier, Z\u00fcrcher Hochschule f\u00fcr angewandte Wissenschaften Beitrag &#8211; Embedded Software Engineering Kongress 2017 Modellgetriebene Software-Entwicklung ist ein Ansatz mit enormem, nur teilweise ausgesch\u00f6pftem Potential. Je verst\u00e4ndlicher und lesbarer die Modelle, desto gr\u00f6\u00dfer ist ihr Nutzen. UML (Unified Modelling Language) sieht die M\u00f6glichkeit vor, die Sprache durch eigene [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.microconsult.de\/en\/modeling-with-ciro\/\" \/>\n<meta property=\"og:site_name\" content=\"MicroConsult Academy GmbH\" \/>\n<meta property=\"article:published_time\" content=\"2025-11-29T06:05:48+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-02-13T07:16:22+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=\"7 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.microconsult.de\\\/modellierung-mit-ciro\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.microconsult.de\\\/modellierung-mit-ciro\\\/\"},\"author\":{\"name\":\"weissblau media\",\"@id\":\"https:\\\/\\\/www.microconsult.de\\\/#\\\/schema\\\/person\\\/b6d4c4ae959b068fbe8d9416ed019a0a\"},\"headline\":\"Modellierung mit CIRO\",\"datePublished\":\"2025-11-29T06:05:48+00:00\",\"dateModified\":\"2026-02-13T07:16:22+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.microconsult.de\\\/modellierung-mit-ciro\\\/\"},\"wordCount\":1201,\"commentCount\":0,\"inLanguage\":\"en-GB\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.microconsult.de\\\/modellierung-mit-ciro\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.microconsult.de\\\/modellierung-mit-ciro\\\/\",\"url\":\"https:\\\/\\\/www.microconsult.de\\\/modellierung-mit-ciro\\\/\",\"name\":\"Modellierung mit CIRO - MicroConsult Academy GmbH\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.microconsult.de\\\/#website\"},\"datePublished\":\"2025-11-29T06:05:48+00:00\",\"dateModified\":\"2026-02-13T07:16:22+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/www.microconsult.de\\\/#\\\/schema\\\/person\\\/b6d4c4ae959b068fbe8d9416ed019a0a\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.microconsult.de\\\/modellierung-mit-ciro\\\/#breadcrumb\"},\"inLanguage\":\"en-GB\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.microconsult.de\\\/modellierung-mit-ciro\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.microconsult.de\\\/modellierung-mit-ciro\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.microconsult.de\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Modellierung mit CIRO\"}]},{\"@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":"Modeling with CIRO - 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\/modeling-with-ciro\/","og_locale":"en_GB","og_type":"article","og_title":"Modellierung mit CIRO - MicroConsult Academy GmbH","og_description":"Eine UML-Erweiterung zur Modellierung reaktiver Systeme Autor: Johannes Scheier, Z\u00fcrcher Hochschule f\u00fcr angewandte Wissenschaften Beitrag &#8211; Embedded Software Engineering Kongress 2017 Modellgetriebene Software-Entwicklung ist ein Ansatz mit enormem, nur teilweise ausgesch\u00f6pftem Potential. Je verst\u00e4ndlicher und lesbarer die Modelle, desto gr\u00f6\u00dfer ist ihr Nutzen. UML (Unified Modelling Language) sieht die M\u00f6glichkeit vor, die Sprache durch eigene [&hellip;]","og_url":"https:\/\/www.microconsult.de\/en\/modeling-with-ciro\/","og_site_name":"MicroConsult Academy GmbH","article_published_time":"2025-11-29T06:05:48+00:00","article_modified_time":"2026-02-13T07:16:22+00:00","author":"weissblau media","twitter_card":"summary_large_image","twitter_misc":{"Written by":"weissblau media","Estimated reading time":"7 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.microconsult.de\/modellierung-mit-ciro\/#article","isPartOf":{"@id":"https:\/\/www.microconsult.de\/modellierung-mit-ciro\/"},"author":{"name":"weissblau media","@id":"https:\/\/www.microconsult.de\/#\/schema\/person\/b6d4c4ae959b068fbe8d9416ed019a0a"},"headline":"Modellierung mit CIRO","datePublished":"2025-11-29T06:05:48+00:00","dateModified":"2026-02-13T07:16:22+00:00","mainEntityOfPage":{"@id":"https:\/\/www.microconsult.de\/modellierung-mit-ciro\/"},"wordCount":1201,"commentCount":0,"inLanguage":"en-GB","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.microconsult.de\/modellierung-mit-ciro\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.microconsult.de\/modellierung-mit-ciro\/","url":"https:\/\/www.microconsult.de\/modellierung-mit-ciro\/","name":"Modeling with CIRO - MicroConsult Academy GmbH","isPartOf":{"@id":"https:\/\/www.microconsult.de\/#website"},"datePublished":"2025-11-29T06:05:48+00:00","dateModified":"2026-02-13T07:16:22+00:00","author":{"@id":"https:\/\/www.microconsult.de\/#\/schema\/person\/b6d4c4ae959b068fbe8d9416ed019a0a"},"breadcrumb":{"@id":"https:\/\/www.microconsult.de\/modellierung-mit-ciro\/#breadcrumb"},"inLanguage":"en-GB","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.microconsult.de\/modellierung-mit-ciro\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.microconsult.de\/modellierung-mit-ciro\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.microconsult.de\/"},{"@type":"ListItem","position":2,"name":"Modellierung mit CIRO"}]},{"@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\/7870","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=7870"}],"version-history":[{"count":6,"href":"https:\/\/www.microconsult.de\/en\/wp-json\/wp\/v2\/posts\/7870\/revisions"}],"predecessor-version":[{"id":11699,"href":"https:\/\/www.microconsult.de\/en\/wp-json\/wp\/v2\/posts\/7870\/revisions\/11699"}],"wp:attachment":[{"href":"https:\/\/www.microconsult.de\/en\/wp-json\/wp\/v2\/media?parent=7870"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.microconsult.de\/en\/wp-json\/wp\/v2\/categories?post=7870"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.microconsult.de\/en\/wp-json\/wp\/v2\/tags?post=7870"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}