{"id":9015,"date":"2024-04-22T12:57:52","date_gmt":"2024-04-22T10:57:52","guid":{"rendered":"https:\/\/medtech-ingenieur.de\/?p=9015"},"modified":"2024-05-16T18:52:53","modified_gmt":"2024-05-16T16:52:53","slug":"embedded-software-architektur-egozentrisch-datapool","status":"publish","type":"post","link":"https:\/\/medtech-ingenieur.de\/en\/embedded-software-architektur-egozentrisch-datapool\/","title":{"rendered":"Embedded software architecture (ego)centric: Datapool"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-9062 size-full\" src=\"https:\/\/medtech-ingenieur.de\/wp-content\/uploads\/2024\/04\/emdedded-softwarearchitecture-datapool-zentrisch.png\" alt=\"\" width=\"1015\" height=\"719\" srcset=\"https:\/\/medtech-ingenieur.de\/wp-content\/uploads\/2024\/04\/emdedded-softwarearchitecture-datapool-zentrisch.png 1015w, https:\/\/medtech-ingenieur.de\/wp-content\/uploads\/2024\/04\/emdedded-softwarearchitecture-datapool-zentrisch-300x213.png 300w, https:\/\/medtech-ingenieur.de\/wp-content\/uploads\/2024\/04\/emdedded-softwarearchitecture-datapool-zentrisch-768x544.png 768w, https:\/\/medtech-ingenieur.de\/wp-content\/uploads\/2024\/04\/emdedded-softwarearchitecture-datapool-zentrisch-100x71.png 100w, https:\/\/medtech-ingenieur.de\/wp-content\/uploads\/2024\/04\/emdedded-softwarearchitecture-datapool-zentrisch-150x106.png 150w, https:\/\/medtech-ingenieur.de\/wp-content\/uploads\/2024\/04\/emdedded-softwarearchitecture-datapool-zentrisch-200x142.png 200w, https:\/\/medtech-ingenieur.de\/wp-content\/uploads\/2024\/04\/emdedded-softwarearchitecture-datapool-zentrisch-450x319.png 450w, https:\/\/medtech-ingenieur.de\/wp-content\/uploads\/2024\/04\/emdedded-softwarearchitecture-datapool-zentrisch-600x425.png 600w, https:\/\/medtech-ingenieur.de\/wp-content\/uploads\/2024\/04\/emdedded-softwarearchitecture-datapool-zentrisch-900x638.png 900w\" sizes=\"auto, (max-width: 1015px) 100vw, 1015px\" \/><br \/>\nIn the previous blog post (<a href=\"https:\/\/medtech-ingenieur.de\/en\/embedded-software-architektur-event-driven\/\" target=\"_blank\" rel=\"noopener\">Architecture in a celebratory mood<\/a>) I have described a software architecture that helps to simplify communication between components.<\/p>\n<p>However, there is one point I have not yet addressed in this context: data storage.<br \/>\nIf data needs to be passed back and forth between modules, this could be done with the<\/p>\n<ul>\n<li>traditional method \u2013 tons of getter and setter functions \u2013 yawn,<\/li>\n<li>global variables \u2013 really great idea, right<\/li>\n<li>using events that contain data as payload.<\/li>\n<\/ul>\n<p>But at the very latest, when a module, for example, periodically requires updated data, this approach fails. You could send an event that causes another module to send the updated data. But honestly, that&#039;s a bit of a ploy, isn&#039;t it?<\/p>\n<p>&nbsp;<\/p>\n<h3>Long live the central (data) cemetery<\/h3>\n<p><!--\n<img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-9064\" src=\"https:\/\/medtech-ingenieur.de\/wp-content\/uploads\/2024\/04\/embedded-software-zentraldatenfriedhof-1.png\" alt=\"\" width=\"1051\" height=\"677\" srcset=\"https:\/\/medtech-ingenieur.de\/wp-content\/uploads\/2024\/04\/embedded-software-zentraldatenfriedhof-1.png 1051w, https:\/\/medtech-ingenieur.de\/wp-content\/uploads\/2024\/04\/embedded-software-zentraldatenfriedhof-1-300x193.png 300w, https:\/\/medtech-ingenieur.de\/wp-content\/uploads\/2024\/04\/embedded-software-zentraldatenfriedhof-1-768x495.png 768w, https:\/\/medtech-ingenieur.de\/wp-content\/uploads\/2024\/04\/embedded-software-zentraldatenfriedhof-1-1024x660.png 1024w, https:\/\/medtech-ingenieur.de\/wp-content\/uploads\/2024\/04\/embedded-software-zentraldatenfriedhof-1-100x64.png 100w, https:\/\/medtech-ingenieur.de\/wp-content\/uploads\/2024\/04\/embedded-software-zentraldatenfriedhof-1-150x97.png 150w, https:\/\/medtech-ingenieur.de\/wp-content\/uploads\/2024\/04\/embedded-software-zentraldatenfriedhof-1-200x129.png 200w, https:\/\/medtech-ingenieur.de\/wp-content\/uploads\/2024\/04\/embedded-software-zentraldatenfriedhof-1-450x290.png 450w, https:\/\/medtech-ingenieur.de\/wp-content\/uploads\/2024\/04\/embedded-software-zentraldatenfriedhof-1-600x386.png 600w, https:\/\/medtech-ingenieur.de\/wp-content\/uploads\/2024\/04\/embedded-software-zentraldatenfriedhof-1-900x580.png 900w\" sizes=\"auto, (max-width: 1051px) 100vw, 1051px\" \/>\n--><\/p>\n<blockquote><p>Sorry, but this reference just had to be made. Thank you, Joesi Prokopetz, for this timeless text.<\/p><\/blockquote>\n<p><!--<a href=\"https:\/\/medtech-ingenieur.de\/wp-content\/uploads\/2024\/03\/Embedded-Software-Architektur-Datenfriedhof.svg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-9033\" role=\"img\" src=\"https:\/\/medtech-ingenieur.de\/wp-content\/uploads\/2024\/03\/Embedded-Software-Architektur-Datenfriedhof.svg\" alt=\"\" width=\"1024\" height=\"576\" \/><\/a>--><\/p>\n<p>What&#039;s the argument against centralizing data storage? The advantages are obvious:<\/p>\n<ul>\n<li>The data would be available to all modules \u2013 all thread-safe, of course, via appropriate methods.<\/li>\n<li>Initialization takes place centrally \u2013 not distributed across all possible modules.<\/li>\n<li>Access via getter\/setter methods is done with a unique identifier. Advantage: A search across all modules quickly yields all locations where a data item is accessed.<\/li>\n<li>Unit tests can be much simpler, as there&#039;s no need to mock up countless modules as before.<\/li>\n<li>Thanks to C++, access to data can be made very easy and type-safe.<\/li>\n<li>Thread-safe access is implemented \u201cunder the hood\u201d \u2013 callers do not have to worry about it themselves, and it does not have to be implemented for all access functions.<\/li>\n<\/ul>\n<p>But is that all? If a module needs to be informed that a value has changed, a corresponding event would still have to be sent.<\/p>\n<p>&nbsp;<\/p>\n<h3>Palim-Palim<\/h3>\n<blockquote><p>And another quote \u2013 who was it?<\/p><\/blockquote>\n<p>Of course, there&#039;s an elegant solution for this too: When a module changes a value in the data pool, it sends a change event with the identifier in its belly\u2014&quot;ringing the bell, so to speak,&quot; as a former colleague once put it. Modules that listen (i.e., those registered as change event listeners with the event dispatcher) read the relevant value from the data pool when needed and can work with the new value.<\/p>\n<p>The concept\u2014as is often the case\u2014isn&#039;t new. In an embedded context, it&#039;s greatly simplified and only has a conceptual connection to a data warehouse. I first encountered the concept in connection with change events about 20 years ago (3SOFT or EB Graphics Target Framework\u2014unfortunately no longer exists).<\/p>\n<p>In Figure 1, a software component \u201cgets\u201d a reference to a data pool element <em>IValue<\/em> and changes the value via <em>IValue::set()<\/em>This function informs the data pool that the value of the data pool item with the associated ID has changed. The data pool then generates a ChangeEvent with the ID from the EventFactory and passes it to the EventDispatcher.<\/p>\n<p>&nbsp;<\/p>\n<figure id=\"attachment_9030\" aria-describedby=\"caption-attachment-9030\" style=\"width: 671px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-9030 size-full\" src=\"https:\/\/medtech-ingenieur.de\/wp-content\/uploads\/2024\/03\/sw-t3-Datapool-Example.png\" alt=\"\" width=\"671\" height=\"596\" srcset=\"https:\/\/medtech-ingenieur.de\/wp-content\/uploads\/2024\/03\/sw-t3-Datapool-Example.png 671w, https:\/\/medtech-ingenieur.de\/wp-content\/uploads\/2024\/03\/sw-t3-Datapool-Example-300x266.png 300w, https:\/\/medtech-ingenieur.de\/wp-content\/uploads\/2024\/03\/sw-t3-Datapool-Example-100x89.png 100w, https:\/\/medtech-ingenieur.de\/wp-content\/uploads\/2024\/03\/sw-t3-Datapool-Example-150x133.png 150w, https:\/\/medtech-ingenieur.de\/wp-content\/uploads\/2024\/03\/sw-t3-Datapool-Example-200x178.png 200w, https:\/\/medtech-ingenieur.de\/wp-content\/uploads\/2024\/03\/sw-t3-Datapool-Example-450x400.png 450w, https:\/\/medtech-ingenieur.de\/wp-content\/uploads\/2024\/03\/sw-t3-Datapool-Example-600x533.png 600w\" sizes=\"auto, (max-width: 671px) 100vw, 671px\" \/><figcaption id=\"caption-attachment-9030\" class=\"wp-caption-text\">Figure 1: Change notification when value changes<\/figcaption><\/figure>\n<p>&nbsp;<\/p>\n<h3>And now?<\/h3>\n<p>Based on these two simple concepts (event system, data pool), complex software can be created \u2013 even on small embedded systems. We are currently developing new software for a defibrillator in which we are successfully using this very architecture.<\/p>\n<p>Code generators ensure that source code with event\/data pool enums, etc., is always consistent. Typing this code by hand is, as Frange says, a &quot;dumbass&quot; job and extremely error-prone. But the topic of code generation is worth a blog post of its own.<\/p>\n<p>Do you need support with designing a software architecture or developing embedded software? Then please contact us. Our experienced MEDtech engineers will be happy to help you develop your medical device or clarify any outstanding questions.<\/p>","protected":false},"excerpt":{"rendered":"<p>Im vorangegangenen Blog-Post (Architektur in Feierlaune) habe ich eine SW-Architektur beschrieben, die hilft, die Kommunikation zwischen Komponenten zu vereinfachen. Einen Punkt habe ich in dem Zusammenhang allerdings noch nicht angesprochen: Die Datenhaltung. Wenn Daten zwischen Modulen hin- und hergereicht werden m\u00fcssen, ginge das mit der althergebrachten Methode &#8211; tonnenweise getter- und setter-Funktionen &#8211; g\u00e4hn, globalen [&hellip;]<\/p>\n","protected":false},"author":31,"featured_media":9062,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2,6,7],"tags":[302,291],"class_list":["post-9015","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-allgemein","category-software","category-systemarchitekten","tag-embedded-entwicklung","tag-embedded-software","post-wrapper","thrv_wrapper"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Embedded Softwarearchitektur (ego)zentrisch: Datapool - MEDtech Ingenieur 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:\/\/medtech-ingenieur.de\/en\/embedded-software-architektur-egozentrisch-datapool\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Embedded Softwarearchitektur (ego)zentrisch: Datapool - MEDtech Ingenieur GmbH\" \/>\n<meta property=\"og:description\" content=\"Im vorangegangenen Blog-Post (Architektur in Feierlaune) habe ich eine SW-Architektur beschrieben, die hilft, die Kommunikation zwischen Komponenten zu vereinfachen. Einen Punkt habe ich in dem Zusammenhang allerdings noch nicht angesprochen: Die Datenhaltung. Wenn Daten zwischen Modulen hin- und hergereicht werden m\u00fcssen, ginge das mit der althergebrachten Methode &#8211; tonnenweise getter- und setter-Funktionen &#8211; g\u00e4hn, globalen [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/medtech-ingenieur.de\/en\/embedded-software-architektur-egozentrisch-datapool\/\" \/>\n<meta property=\"og:site_name\" content=\"MEDtech Ingenieur GmbH\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/medtechIngenieur\" \/>\n<meta property=\"article:published_time\" content=\"2024-04-22T10:57:52+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-05-16T16:52:53+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/medtech-ingenieur.de\/wp-content\/uploads\/2024\/04\/emdedded-softwarearchitecture-datapool-zentrisch.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1015\" \/>\n\t<meta property=\"og:image:height\" content=\"719\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"J\u00fcrgen Welzenbach\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@MedtechIng\" \/>\n<meta name=\"twitter:site\" content=\"@MedtechIng\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"J\u00fcrgen Welzenbach\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/medtech-ingenieur.de\\\/embedded-software-architektur-egozentrisch-datapool\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/medtech-ingenieur.de\\\/embedded-software-architektur-egozentrisch-datapool\\\/\"},\"author\":{\"name\":\"J\u00fcrgen Welzenbach\",\"@id\":\"https:\\\/\\\/medtech-ingenieur.de\\\/#\\\/schema\\\/person\\\/dd3cdc59cbb669fb0280a19479a5b1ab\"},\"headline\":\"Embedded Softwarearchitektur (ego)zentrisch: Datapool\",\"datePublished\":\"2024-04-22T10:57:52+00:00\",\"dateModified\":\"2024-05-16T16:52:53+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/medtech-ingenieur.de\\\/embedded-software-architektur-egozentrisch-datapool\\\/\"},\"wordCount\":639,\"publisher\":{\"@id\":\"https:\\\/\\\/medtech-ingenieur.de\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/medtech-ingenieur.de\\\/embedded-software-architektur-egozentrisch-datapool\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/medtech-ingenieur.de\\\/wp-content\\\/uploads\\\/2024\\\/04\\\/emdedded-softwarearchitecture-datapool-zentrisch.png\",\"keywords\":[\"Embedded-Entwicklung\",\"Embedded-Software\"],\"articleSection\":[\"Allgemein\",\"Software\",\"Systems Engineering\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/medtech-ingenieur.de\\\/embedded-software-architektur-egozentrisch-datapool\\\/\",\"url\":\"https:\\\/\\\/medtech-ingenieur.de\\\/embedded-software-architektur-egozentrisch-datapool\\\/\",\"name\":\"Embedded Softwarearchitektur (ego)zentrisch: Datapool - MEDtech Ingenieur GmbH\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/medtech-ingenieur.de\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/medtech-ingenieur.de\\\/embedded-software-architektur-egozentrisch-datapool\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/medtech-ingenieur.de\\\/embedded-software-architektur-egozentrisch-datapool\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/medtech-ingenieur.de\\\/wp-content\\\/uploads\\\/2024\\\/04\\\/emdedded-softwarearchitecture-datapool-zentrisch.png\",\"datePublished\":\"2024-04-22T10:57:52+00:00\",\"dateModified\":\"2024-05-16T16:52:53+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/medtech-ingenieur.de\\\/embedded-software-architektur-egozentrisch-datapool\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/medtech-ingenieur.de\\\/embedded-software-architektur-egozentrisch-datapool\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/medtech-ingenieur.de\\\/embedded-software-architektur-egozentrisch-datapool\\\/#primaryimage\",\"url\":\"https:\\\/\\\/medtech-ingenieur.de\\\/wp-content\\\/uploads\\\/2024\\\/04\\\/emdedded-softwarearchitecture-datapool-zentrisch.png\",\"contentUrl\":\"https:\\\/\\\/medtech-ingenieur.de\\\/wp-content\\\/uploads\\\/2024\\\/04\\\/emdedded-softwarearchitecture-datapool-zentrisch.png\",\"width\":1015,\"height\":719},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/medtech-ingenieur.de\\\/embedded-software-architektur-egozentrisch-datapool\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Startseite\",\"item\":\"https:\\\/\\\/medtech-ingenieur.de\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Embedded Softwarearchitektur (ego)zentrisch: Datapool\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/medtech-ingenieur.de\\\/#website\",\"url\":\"https:\\\/\\\/medtech-ingenieur.de\\\/\",\"name\":\"MEDtech Ingenieur GmbH\",\"description\":\"Ingenieursdienstleister f\u00fcr Medizintechnik\",\"publisher\":{\"@id\":\"https:\\\/\\\/medtech-ingenieur.de\\\/#organization\"},\"alternateName\":\"MEDtech\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/medtech-ingenieur.de\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/medtech-ingenieur.de\\\/#organization\",\"name\":\"MEDtech Ingenieur\",\"alternateName\":\"MEDtech\",\"url\":\"https:\\\/\\\/medtech-ingenieur.de\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/medtech-ingenieur.de\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/medtech-ingenieur.de\\\/wp-content\\\/uploads\\\/2024\\\/01\\\/logo-700x700-1.png\",\"contentUrl\":\"https:\\\/\\\/medtech-ingenieur.de\\\/wp-content\\\/uploads\\\/2024\\\/01\\\/logo-700x700-1.png\",\"width\":700,\"height\":700,\"caption\":\"MEDtech Ingenieur\"},\"image\":{\"@id\":\"https:\\\/\\\/medtech-ingenieur.de\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/medtechIngenieur\",\"https:\\\/\\\/x.com\\\/MedtechIng\",\"https:\\\/\\\/www.instagram.com\\\/medtech.ingenieure\\\/\",\"https:\\\/\\\/www.linkedin.com\\\/company\\\/37871229\\\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/medtech-ingenieur.de\\\/#\\\/schema\\\/person\\\/dd3cdc59cbb669fb0280a19479a5b1ab\",\"name\":\"J\u00fcrgen Welzenbach\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/medtech-ingenieur.de\\\/wp-content\\\/uploads\\\/2025\\\/04\\\/cropped-Med_Mit-013-scaled-1-96x96.jpg\",\"url\":\"https:\\\/\\\/medtech-ingenieur.de\\\/wp-content\\\/uploads\\\/2025\\\/04\\\/cropped-Med_Mit-013-scaled-1-96x96.jpg\",\"contentUrl\":\"https:\\\/\\\/medtech-ingenieur.de\\\/wp-content\\\/uploads\\\/2025\\\/04\\\/cropped-Med_Mit-013-scaled-1-96x96.jpg\",\"caption\":\"J\u00fcrgen Welzenbach\"},\"description\":\"J\u00fcrgen hat nach seinem Elektrotechnikstudium in Erlangen seine Diplomarbeit in Kooperation mit einem Hersteller von ophthalmologischen Ger\u00e4ten und der Universit\u00e4tsaugenklinik durchgef\u00fchrt. In zwei Erlanger Unternehmen fand er zur Embedded Software und hat vor allem HMIs f\u00fcr Baumaschinen und Laboranalyseger\u00e4te entwickelt.\",\"url\":\"https:\\\/\\\/medtech-ingenieur.de\\\/en\\\/author\\\/jwelzenbach\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Embedded software architecture (ego)centric: Datapool - MEDtech Ingenieur 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:\/\/medtech-ingenieur.de\/en\/embedded-software-architektur-egozentrisch-datapool\/","og_locale":"en_US","og_type":"article","og_title":"Embedded Softwarearchitektur (ego)zentrisch: Datapool - MEDtech Ingenieur GmbH","og_description":"Im vorangegangenen Blog-Post (Architektur in Feierlaune) habe ich eine SW-Architektur beschrieben, die hilft, die Kommunikation zwischen Komponenten zu vereinfachen. Einen Punkt habe ich in dem Zusammenhang allerdings noch nicht angesprochen: Die Datenhaltung. Wenn Daten zwischen Modulen hin- und hergereicht werden m\u00fcssen, ginge das mit der althergebrachten Methode &#8211; tonnenweise getter- und setter-Funktionen &#8211; g\u00e4hn, globalen [&hellip;]","og_url":"https:\/\/medtech-ingenieur.de\/en\/embedded-software-architektur-egozentrisch-datapool\/","og_site_name":"MEDtech Ingenieur GmbH","article_publisher":"https:\/\/www.facebook.com\/medtechIngenieur","article_published_time":"2024-04-22T10:57:52+00:00","article_modified_time":"2024-05-16T16:52:53+00:00","og_image":[{"width":1015,"height":719,"url":"https:\/\/medtech-ingenieur.de\/wp-content\/uploads\/2024\/04\/emdedded-softwarearchitecture-datapool-zentrisch.png","type":"image\/png"}],"author":"J\u00fcrgen Welzenbach","twitter_card":"summary_large_image","twitter_creator":"@MedtechIng","twitter_site":"@MedtechIng","twitter_misc":{"Written by":"J\u00fcrgen Welzenbach","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/medtech-ingenieur.de\/embedded-software-architektur-egozentrisch-datapool\/#article","isPartOf":{"@id":"https:\/\/medtech-ingenieur.de\/embedded-software-architektur-egozentrisch-datapool\/"},"author":{"name":"J\u00fcrgen Welzenbach","@id":"https:\/\/medtech-ingenieur.de\/#\/schema\/person\/dd3cdc59cbb669fb0280a19479a5b1ab"},"headline":"Embedded Softwarearchitektur (ego)zentrisch: Datapool","datePublished":"2024-04-22T10:57:52+00:00","dateModified":"2024-05-16T16:52:53+00:00","mainEntityOfPage":{"@id":"https:\/\/medtech-ingenieur.de\/embedded-software-architektur-egozentrisch-datapool\/"},"wordCount":639,"publisher":{"@id":"https:\/\/medtech-ingenieur.de\/#organization"},"image":{"@id":"https:\/\/medtech-ingenieur.de\/embedded-software-architektur-egozentrisch-datapool\/#primaryimage"},"thumbnailUrl":"https:\/\/medtech-ingenieur.de\/wp-content\/uploads\/2024\/04\/emdedded-softwarearchitecture-datapool-zentrisch.png","keywords":["Embedded-Entwicklung","Embedded-Software"],"articleSection":["Allgemein","Software","Systems Engineering"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/medtech-ingenieur.de\/embedded-software-architektur-egozentrisch-datapool\/","url":"https:\/\/medtech-ingenieur.de\/embedded-software-architektur-egozentrisch-datapool\/","name":"Embedded software architecture (ego)centric: Datapool - MEDtech Ingenieur GmbH","isPartOf":{"@id":"https:\/\/medtech-ingenieur.de\/#website"},"primaryImageOfPage":{"@id":"https:\/\/medtech-ingenieur.de\/embedded-software-architektur-egozentrisch-datapool\/#primaryimage"},"image":{"@id":"https:\/\/medtech-ingenieur.de\/embedded-software-architektur-egozentrisch-datapool\/#primaryimage"},"thumbnailUrl":"https:\/\/medtech-ingenieur.de\/wp-content\/uploads\/2024\/04\/emdedded-softwarearchitecture-datapool-zentrisch.png","datePublished":"2024-04-22T10:57:52+00:00","dateModified":"2024-05-16T16:52:53+00:00","breadcrumb":{"@id":"https:\/\/medtech-ingenieur.de\/embedded-software-architektur-egozentrisch-datapool\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/medtech-ingenieur.de\/embedded-software-architektur-egozentrisch-datapool\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/medtech-ingenieur.de\/embedded-software-architektur-egozentrisch-datapool\/#primaryimage","url":"https:\/\/medtech-ingenieur.de\/wp-content\/uploads\/2024\/04\/emdedded-softwarearchitecture-datapool-zentrisch.png","contentUrl":"https:\/\/medtech-ingenieur.de\/wp-content\/uploads\/2024\/04\/emdedded-softwarearchitecture-datapool-zentrisch.png","width":1015,"height":719},{"@type":"BreadcrumbList","@id":"https:\/\/medtech-ingenieur.de\/embedded-software-architektur-egozentrisch-datapool\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Startseite","item":"https:\/\/medtech-ingenieur.de\/"},{"@type":"ListItem","position":2,"name":"Embedded Softwarearchitektur (ego)zentrisch: Datapool"}]},{"@type":"WebSite","@id":"https:\/\/medtech-ingenieur.de\/#website","url":"https:\/\/medtech-ingenieur.de\/","name":"MEDtech Ingenieur GmbH","description":"Engineering service provider for medical technology","publisher":{"@id":"https:\/\/medtech-ingenieur.de\/#organization"},"alternateName":"MEDtech","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/medtech-ingenieur.de\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/medtech-ingenieur.de\/#organization","name":"MEDtech Engineer","alternateName":"MEDtech","url":"https:\/\/medtech-ingenieur.de\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/medtech-ingenieur.de\/#\/schema\/logo\/image\/","url":"https:\/\/medtech-ingenieur.de\/wp-content\/uploads\/2024\/01\/logo-700x700-1.png","contentUrl":"https:\/\/medtech-ingenieur.de\/wp-content\/uploads\/2024\/01\/logo-700x700-1.png","width":700,"height":700,"caption":"MEDtech Ingenieur"},"image":{"@id":"https:\/\/medtech-ingenieur.de\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/medtechIngenieur","https:\/\/x.com\/MedtechIng","https:\/\/www.instagram.com\/medtech.ingenieure\/","https:\/\/www.linkedin.com\/company\/37871229\/"]},{"@type":"Person","@id":"https:\/\/medtech-ingenieur.de\/#\/schema\/person\/dd3cdc59cbb669fb0280a19479a5b1ab","name":"J\u00fcrgen Welzenbach","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/medtech-ingenieur.de\/wp-content\/uploads\/2025\/04\/cropped-Med_Mit-013-scaled-1-96x96.jpg","url":"https:\/\/medtech-ingenieur.de\/wp-content\/uploads\/2025\/04\/cropped-Med_Mit-013-scaled-1-96x96.jpg","contentUrl":"https:\/\/medtech-ingenieur.de\/wp-content\/uploads\/2025\/04\/cropped-Med_Mit-013-scaled-1-96x96.jpg","caption":"J\u00fcrgen Welzenbach"},"description":"After completing his electrical engineering studies in Erlangen, J\u00fcrgen wrote his diploma thesis in cooperation with a manufacturer of ophthalmic devices and the university eye clinic. He then worked for two companies in Erlangen, where he discovered embedded software and primarily developed HMIs for construction machinery and laboratory analysis equipment.","url":"https:\/\/medtech-ingenieur.de\/en\/author\/jwelzenbach\/"}]}},"_links":{"self":[{"href":"https:\/\/medtech-ingenieur.de\/en\/wp-json\/wp\/v2\/posts\/9015","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/medtech-ingenieur.de\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/medtech-ingenieur.de\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/medtech-ingenieur.de\/en\/wp-json\/wp\/v2\/users\/31"}],"replies":[{"embeddable":true,"href":"https:\/\/medtech-ingenieur.de\/en\/wp-json\/wp\/v2\/comments?post=9015"}],"version-history":[{"count":16,"href":"https:\/\/medtech-ingenieur.de\/en\/wp-json\/wp\/v2\/posts\/9015\/revisions"}],"predecessor-version":[{"id":9144,"href":"https:\/\/medtech-ingenieur.de\/en\/wp-json\/wp\/v2\/posts\/9015\/revisions\/9144"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/medtech-ingenieur.de\/en\/wp-json\/wp\/v2\/media\/9062"}],"wp:attachment":[{"href":"https:\/\/medtech-ingenieur.de\/en\/wp-json\/wp\/v2\/media?parent=9015"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/medtech-ingenieur.de\/en\/wp-json\/wp\/v2\/categories?post=9015"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/medtech-ingenieur.de\/en\/wp-json\/wp\/v2\/tags?post=9015"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}