{"id":9126,"date":"2024-06-13T09:02:50","date_gmt":"2024-06-13T07:02:50","guid":{"rendered":"https:\/\/medtech-ingenieur.de\/?p=9126"},"modified":"2025-04-28T15:14:38","modified_gmt":"2025-04-28T13:14:38","slug":"simulation-in-der-embedded-softwareentwicklung","status":"publish","type":"post","link":"https:\/\/medtech-ingenieur.de\/en\/simulation-in-der-embedded-softwareentwicklung\/","title":{"rendered":"Effective embedded software development through simulation: A case study"},"content":{"rendered":"<\/p>\n<p>No more errors when using flash memory! Is a dream within reach with a little effort? Yes, at least you can make your developer&#039;s life much easier by preventing errors from the outset or simplifying the system in which you&#039;re trying to find a bug. It&#039;s not a new idea, but how can it be implemented? In such situations, the simulation or emulation of individual hardware components can be a real lifesaver.<\/p>\n<p>In November 2022, we wrote in the blog post, <a href=\"https:\/\/medtech-ingenieur.de\/en\/simulation-wozu-hab-doch-ne-hardware\/\" target=\"_blank\" rel=\"noopener\">\u201cSimulation? Why, I have hardware.\u201d<\/a>, has already dealt in detail with the advantages of simulations in embedded software development and, in addition to numerous application cases, has also mentioned the emulation of flash or EEPROM memories.<\/p>\n<p>The following blog post uses a concrete example to show how such emulation of flash memory hardware could help to find errors faster and develop software in a more targeted and better tested manner.&nbsp;<\/p>\n<h3>Houston, we have a problem<\/h3>\n<p>This, or perhaps slightly less dramatic ones, pop into your head when a system error pops up out of the proverbial nowhere, and at first glance, everything seems odd. This was also the case in our example. It involved an embedded system with external flash memory, which is regularly written to and read from. It&#039;s only annoying when the data read doesn&#039;t always match the previously written data, but rather discrepancies occur. What&#039;s clear is that the error lies in the details; in most cases, everything works as it should, and it only involves a few bytes among the hundreds of thousands on the chip.&nbsp;<\/p>\n<h3>From theory to practice: approach<\/h3>\n<p>In order to get to grips with such or similar errors when dealing with flash memories, certain sections of the logic can be abstracted and recreated through emulation.<\/p>\n<p>The first step is to isolate and reproduce the error. For example, the part of the code responsible for writing and reading the flash memory, i.e., for communication, can be extracted from the project&#039;s source code and rebuilt so that it can run in a conventional development environment on a PC. Depending on the complexity, this will require a considerable amount of additional code, which, for example, provides the necessary data structures, classes, or the data to be written.<\/p>\n<p>The core idea, however, is to isolate the problem, so in the second step, the methods responsible for hardware access to the flash are replaced with simple file access. The contents of the flash are thus mapped to a file. Instead of actually accessing the hardware, the desired memory accesses are now simulated.<\/p>\n<p>If you were looking for a memory problem, it&#039;s now clear, by process of elimination, whether the error originated in the hardware or the software. Once this has been determined, the error can be narrowed down and found through debugging or further isolation and simplification. Thanks to emulation, significantly more robust software can now be developed for troubleshooting, as specific hardware errors can be easily simulated, and (unit) testing and debugging can be made more comfortable. These and other advantages resulting from preventative simulation can therefore also be interesting for subsequent or new developments.&nbsp;<\/p>\n<h3>Success through simulation: Benefits at a glance<\/h3>\n<p>The advantages of using simulations during development rather than only when an error occurs include:<\/p>\n<ul>\n<li>Simplified (unit) testing and debugging<\/li>\n<li>Verification of memory layouts (behavior at block boundaries)<\/li>\n<li>Checking long-term behavior (e.g. memory overflow of ring buffer implementations)<\/li>\n<li>Easy simulation of hardware errors such as flipping bits, defective memory blocks, etc.<\/li>\n<li>Better portability through layering, abstraction and encapsulation<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<h3>Conclusion<\/h3>\n<p>Simulating hardware components is an extremely valuable practice in embedded software development. Of course, not every hardware component is as easy to simulate as in our example, simply replicating a flash memory. However, this approach greatly simplifies developers&#039; work, and clever abstraction and simulation allow projects to progress faster and identify potential problems early on.<\/p>\n<p>In any case, it&#039;s worth considering the possibilities of simulation right at the start of the project and developing creative solutions. We&#039;re happy to help, so don&#039;t hesitate to contact us with any questions.<\/p>","protected":false},"excerpt":{"rendered":"<p>Nie wieder Fehler beim Verwenden von Flashspeichern! Ein Traum, der mit etwas M\u00fche zum Greifen nahe ist? Ja, zumindest kann man sich das Entwicklerleben sehr erleichtern, wenn Fehler von vornherein vermieden werden oder das System, in dem ein Fehler gesucht werden soll, vereinfacht werden kann. Keine neue Idee, aber wie kann man das umsetzen? In [&hellip;]<\/p>\n","protected":false},"author":37,"featured_media":9215,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","tve_updated_post":"<div class=\"thrv_wrapper tve_wp_shortcode\" data-css=\"tve-u-1967c86dbbd\" style=\"\"><div class=\"tve_shortcode_raw\" style=\"display: none\">___TVE_SHORTCODE_RAW__&lt;p&gt;&lt;video id=\"\" autoplay=\"autoplay\" width=\"1500\" height=\"800\"&gt;&lt;source src=\"https:\/\/medtech-ingenieur.de\/wp-content\/uploads\/2024\/06\/Embedded-Software-Simulation.mp4\"\/&gt;&lt;\/video&gt;&lt;\/p&gt;\n&lt;p&gt;Nie wieder Fehler beim Verwenden von Flashspeichern! Ein Traum, der mit etwas M\u00fche zum Greifen nahe ist? Ja, zumindest kann man sich das Entwicklerleben sehr erleichtern, wenn Fehler von vornherein vermieden werden oder das System, in dem ein Fehler gesucht werden soll, vereinfacht werden kann. Keine neue Idee, aber wie kann man das umsetzen? In solchen Situationen kann die Simulation bzw. Emulation von einzelnen Hardwarekomponenten ein echter Retter sein.&lt;\/p&gt;\n&lt;p&gt;Im November 2022 haben wir uns im Blogeintrag, &lt;a href=\"https:\/\/medtech-ingenieur.de\/simulation-wozu-hab-doch-ne-hardware\/\" target=\"_blank\" rel=\"noopener\"&gt;\"Simulation? Wozu, hab doch \u2019ne Hardware\"&lt;\/a&gt;, bereits eingehend mit den Vorteilen von Simulationen in der Embedded-Softwareentwicklung befasst und nebst zahlreichen Anwendungsf\u00e4llen auch die Emulation von Flash- oder EEPROM Speichern erw\u00e4hnt.&lt;\/p&gt;\n&lt;p&gt;Der folgende Blogeintrag zeigt anhand eines konkreten Beispiels, wie solch eine Emulation von Flashspeicher-Hardware dabei helfen konnte, Fehler schneller zu finden und Software gezielter und besser getestet zu entwickeln.&lt;br \/&gt;\n&amp;nbsp;&lt;\/p&gt;\n&lt;h3&gt;Houston, we have a problem&lt;\/h3&gt;\n&lt;p&gt;Dieser oder vielleicht auch etwas weniger dramatische Spr\u00fcche geistern im Kopf herum, wenn aus dem sprichw\u00f6rtlichen Nichts heraus ein Fehler im System auftaucht, bei dem auf den ersten Blick erstmal alles komisch zu sein scheint. So auch in unserem Beispiel. Es handelte sich um ein Embedded-System mit externem Flashspeicher, auf den regelm\u00e4\u00dfig geschrieben und wieder gelesen werden soll. Bl\u00f6d nur, wenn die gelesenen Daten nicht immer den zuvor geschriebenen Daten entsprechen, sondern Abweichungen auftreten. Klar ist, der Fehler liegt im Detail, in den meisten F\u00e4llen funktioniert alles wie es soll und es geht nur um wenige Bytes unter den hunderttausenden auf dem Chip.&lt;br \/&gt;\n&amp;nbsp;&lt;\/p&gt;\n&lt;h3&gt;Von der Theorie zur Praxis: Vorgehen&lt;\/h3&gt;\n&lt;p&gt;Um solche oder \u00e4hnliche Fehler im Umgang mit Flashspeichern in den Griff zu bekommen, k\u00f6nnen bestimmte Abschnitte der Logik abstrahiert und durch eine Emulation nachempfunden werden.&lt;\/p&gt;\n&lt;p&gt;Im ersten Schritt gilt es den Fehler einzugrenzen und zu reproduzieren. Daf\u00fcr kann beispielsweise der Teil des Codes, welcher f\u00fcr das Schreiben und Lesen des Flashspeichers, also f\u00fcr die Kommunikation zust\u00e4ndig ist, aus dem Sourcecode des Projekts herausgel\u00f6st und so umgebaut werden, dass er in einer herk\u00f6mmlichen Entwicklungsumgebung auf dem PC laufen kann. Dazu wird, je nach Komplexit\u00e4t, freilich einiges an zus\u00e4tzlichem Code ben\u00f6tigt, welcher etwa die ben\u00f6tigten Datenstrukturen, Klassen oder die zu Schreibenden Daten bereitstellt.&lt;\/p&gt;\n&lt;p&gt;Die Kernidee ist jedoch die Isolation des Problems, daher werden im zweiten Schritt die f\u00fcr den Hardwarezugriff auf den Flash zust\u00e4ndigen Methoden durch einen einfachen Dateizugriff ersetzt. Der Inhalt des Flashs wird also in einer Datei abgebildet. Statt tats\u00e4chlich auf die Hardware zuzugreifen, werden die gew\u00fcnschten Speicherzugriffe demnach nun simuliert.&lt;\/p&gt;\n&lt;p&gt;War man auf der Suche nach einem Problem mit dem Speicher, zeigt sich nun, nach Ausschlussprinzip, ob die Fehler in der Hard- oder der Software entstanden sind. Ist dies festgestellt, kann, durch debuggen oder weitere Abkapselung und Vereinfachung der Fehler eingegrenzt und gefunden werden. F\u00fcr die Fehlerbehebung kann nun, Dank der Emulation deutlich robustere Software entwickelt werden, da sich spezielle Hardwarefehler einfach vort\u00e4uschen lassen, oder sich (Unit-)Testen und Debuggen gem\u00fctlicher gestalten. Diese und weitere Vorteile, die sich aus pr\u00e4ventivem Simulieren ergeben, k\u00f6nnen demnach auch f\u00fcr eine Folge- oder Neuentwicklung interessant sein.&lt;br \/&gt;\n&amp;nbsp;&lt;\/p&gt;\n&lt;h3&gt;Durch Simulation zum Erfolg: Vorteile auf einen Blick&lt;\/h3&gt;\n&lt;p&gt;Zu den Vorteilen, Simulationen auch schon w\u00e4hrend der Entwicklung einzusetzen und nicht erst, wenn ein Fehler auftritt, z\u00e4hlen:&lt;\/p&gt;\n&lt;ul&gt;\n&lt;li&gt;Erleichtertes (Unit-)Testen und Debugging&lt;\/li&gt;\n&lt;li&gt;Verifikation von Speicherlayouts (Verhalten an Blockgrenzen)&lt;\/li&gt;\n&lt;li&gt;\u00dcberpr\u00fcfung des Langzeitverhaltens (z.B. bei Speicher\u00fcberlauf von Ringspeicherimplementierungen)&lt;\/li&gt;\n&lt;li&gt;Einfache Simulation von Hardwarefehlern wie kippenden Bits, defekten Speicherbl\u00f6cken usw.&lt;\/li&gt;\n&lt;li&gt;Bessere Portierbarkeit durch Layering, Abstraktion und Kapselung&lt;\/li&gt;\n&lt;\/ul&gt;\n&lt;p&gt;&amp;nbsp;&lt;\/p&gt;\n&lt;h3&gt;Fazit&lt;\/h3&gt;\n&lt;p&gt;Die Simulation von Hardwarekomponenten ist eine \u00e4u\u00dferst wertvolle Praxis in der Embedded-Softwareentwicklung. Nat\u00fcrlich ist nicht jede Hardwarekomponente so einfach zu simulieren wie in unserem Beispiel durch simple Nachbildung eines Flashspeichers. Jedoch vereinfacht dieses Vorgehen Entwicklern die Arbeit enorm und durch geschickte Abstraktion und Simulation k\u00f6nnen Projekte schneller vorangebracht und potenzielle Probleme fr\u00fchzeitig erkannt werden.&lt;\/p&gt;\n&lt;p&gt;In jedem Fall lohnt es sich, bereits zu Projektbeginn \u00fcber die M\u00f6glichkeiten der Simulation nachzudenken und kreative L\u00f6sungen zu entwickeln. Wir helfen Ihnen gerne, z\u00f6gern Sie also nicht, uns mit ihren Fragen anzusprechen.&lt;\/p&gt;\n__TVE_SHORTCODE_RAW___<\/div><\/div>","tve_custom_css":"@media (min-width: 300px){.tcb-post-list[data-css=\"tve-u-18d31773283\"] .post-wrapper.thrv_wrapper { width: calc(33.3333% - 13.3333px); }.tcb-post-list[data-css=\"tve-u-18d31773283\"] .post-wrapper.thrv_wrapper:nth-child(n+4) { margin-top: 20px !important; }.tcb-post-list[data-css=\"tve-u-18d31773283\"] .post-wrapper.thrv_wrapper:not(:nth-child(n+4)) { margin-top: 0px !important; }.tcb-post-list[data-css=\"tve-u-18d31773283\"] .post-wrapper.thrv_wrapper:not(:nth-child(3n)) { margin-right: 20px !important; }.tcb-post-list[data-css=\"tve-u-18d31773283\"] .post-wrapper.thrv_wrapper:nth-child(3n) { margin-right: 0px !important; }[data-css=\"tve-u-1967c86dbbd\"] { --tve-alignment: center; margin-left: auto !important; margin-right: auto !important; float: none; display: block; }}","tve_user_custom_css":"","tve_globals":{"e":"1","font_cls":[]},"tcb2_ready":1,"tcb_editor_enabled":1,"tve_landing_page":"","_tve_header":"","_tve_footer":""},"categories":[2,6,468],"tags":[291,360,445],"class_list":["post-9126","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-allgemein","category-software","category-testen","tag-embedded-software","tag-simulation","tag-softwareentwicklung","post-wrapper","thrv_wrapper"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.7 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Effektive Embedded-Softwareentwicklung durch Simulation: Ein Fallbeispiel - 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\/simulation-in-der-embedded-softwareentwicklung\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Effektive Embedded-Softwareentwicklung durch Simulation: Ein Fallbeispiel - MEDtech Ingenieur GmbH\" \/>\n<meta property=\"og:description\" content=\"Nie wieder Fehler beim Verwenden von Flashspeichern! Ein Traum, der mit etwas M\u00fche zum Greifen nahe ist? Ja, zumindest kann man sich das Entwicklerleben sehr erleichtern, wenn Fehler von vornherein vermieden werden oder das System, in dem ein Fehler gesucht werden soll, vereinfacht werden kann. Keine neue Idee, aber wie kann man das umsetzen? In [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/medtech-ingenieur.de\/en\/simulation-in-der-embedded-softwareentwicklung\/\" \/>\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-06-13T07:02:50+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-04-28T13:14:38+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/medtech-ingenieur.de\/wp-content\/uploads\/2024\/06\/SocialMediaPost-2.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1080\" \/>\n\t<meta property=\"og:image:height\" content=\"1080\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Florian Mehrkens\" \/>\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=\"Florian Mehrkens\" \/>\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\\\/simulation-in-der-embedded-softwareentwicklung\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/medtech-ingenieur.de\\\/simulation-in-der-embedded-softwareentwicklung\\\/\"},\"author\":{\"name\":\"Florian Mehrkens\",\"@id\":\"https:\\\/\\\/medtech-ingenieur.de\\\/#\\\/schema\\\/person\\\/0530c7692212322343cb6aaaec7f1cbc\"},\"headline\":\"Effektive Embedded-Softwareentwicklung durch Simulation: Ein Fallbeispiel\",\"datePublished\":\"2024-06-13T07:02:50+00:00\",\"dateModified\":\"2025-04-28T13:14:38+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/medtech-ingenieur.de\\\/simulation-in-der-embedded-softwareentwicklung\\\/\"},\"wordCount\":695,\"publisher\":{\"@id\":\"https:\\\/\\\/medtech-ingenieur.de\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/medtech-ingenieur.de\\\/simulation-in-der-embedded-softwareentwicklung\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/medtech-ingenieur.de\\\/wp-content\\\/uploads\\\/2024\\\/06\\\/SocialMediaPost-2.jpg\",\"keywords\":[\"Embedded-Software\",\"Simulation\",\"Softwareentwicklung\"],\"articleSection\":[\"Allgemein\",\"Software\",\"Testen\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/medtech-ingenieur.de\\\/simulation-in-der-embedded-softwareentwicklung\\\/\",\"url\":\"https:\\\/\\\/medtech-ingenieur.de\\\/simulation-in-der-embedded-softwareentwicklung\\\/\",\"name\":\"Effektive Embedded-Softwareentwicklung durch Simulation: Ein Fallbeispiel - MEDtech Ingenieur GmbH\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/medtech-ingenieur.de\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/medtech-ingenieur.de\\\/simulation-in-der-embedded-softwareentwicklung\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/medtech-ingenieur.de\\\/simulation-in-der-embedded-softwareentwicklung\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/medtech-ingenieur.de\\\/wp-content\\\/uploads\\\/2024\\\/06\\\/SocialMediaPost-2.jpg\",\"datePublished\":\"2024-06-13T07:02:50+00:00\",\"dateModified\":\"2025-04-28T13:14:38+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/medtech-ingenieur.de\\\/simulation-in-der-embedded-softwareentwicklung\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/medtech-ingenieur.de\\\/simulation-in-der-embedded-softwareentwicklung\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/medtech-ingenieur.de\\\/simulation-in-der-embedded-softwareentwicklung\\\/#primaryimage\",\"url\":\"https:\\\/\\\/medtech-ingenieur.de\\\/wp-content\\\/uploads\\\/2024\\\/06\\\/SocialMediaPost-2.jpg\",\"contentUrl\":\"https:\\\/\\\/medtech-ingenieur.de\\\/wp-content\\\/uploads\\\/2024\\\/06\\\/SocialMediaPost-2.jpg\",\"width\":1080,\"height\":1080},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/medtech-ingenieur.de\\\/simulation-in-der-embedded-softwareentwicklung\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Startseite\",\"item\":\"https:\\\/\\\/medtech-ingenieur.de\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Effektive Embedded-Softwareentwicklung durch Simulation: Ein Fallbeispiel\"}]},{\"@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\\\/0530c7692212322343cb6aaaec7f1cbc\",\"name\":\"Florian Mehrkens\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/medtech-ingenieur.de\\\/wp-content\\\/uploads\\\/2025\\\/04\\\/Med_Mit-051-scaled-96x96.jpg\",\"url\":\"https:\\\/\\\/medtech-ingenieur.de\\\/wp-content\\\/uploads\\\/2025\\\/04\\\/Med_Mit-051-scaled-96x96.jpg\",\"contentUrl\":\"https:\\\/\\\/medtech-ingenieur.de\\\/wp-content\\\/uploads\\\/2025\\\/04\\\/Med_Mit-051-scaled-96x96.jpg\",\"caption\":\"Florian Mehrkens\"},\"url\":\"https:\\\/\\\/medtech-ingenieur.de\\\/en\\\/author\\\/fmehrkens\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Effective embedded software development through simulation: A case study - 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\/simulation-in-der-embedded-softwareentwicklung\/","og_locale":"en_US","og_type":"article","og_title":"Effektive Embedded-Softwareentwicklung durch Simulation: Ein Fallbeispiel - MEDtech Ingenieur GmbH","og_description":"Nie wieder Fehler beim Verwenden von Flashspeichern! Ein Traum, der mit etwas M\u00fche zum Greifen nahe ist? Ja, zumindest kann man sich das Entwicklerleben sehr erleichtern, wenn Fehler von vornherein vermieden werden oder das System, in dem ein Fehler gesucht werden soll, vereinfacht werden kann. Keine neue Idee, aber wie kann man das umsetzen? In [&hellip;]","og_url":"https:\/\/medtech-ingenieur.de\/en\/simulation-in-der-embedded-softwareentwicklung\/","og_site_name":"MEDtech Ingenieur GmbH","article_publisher":"https:\/\/www.facebook.com\/medtechIngenieur","article_published_time":"2024-06-13T07:02:50+00:00","article_modified_time":"2025-04-28T13:14:38+00:00","og_image":[{"width":1080,"height":1080,"url":"https:\/\/medtech-ingenieur.de\/wp-content\/uploads\/2024\/06\/SocialMediaPost-2.jpg","type":"image\/jpeg"}],"author":"Florian Mehrkens","twitter_card":"summary_large_image","twitter_creator":"@MedtechIng","twitter_site":"@MedtechIng","twitter_misc":{"Written by":"Florian Mehrkens","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/medtech-ingenieur.de\/simulation-in-der-embedded-softwareentwicklung\/#article","isPartOf":{"@id":"https:\/\/medtech-ingenieur.de\/simulation-in-der-embedded-softwareentwicklung\/"},"author":{"name":"Florian Mehrkens","@id":"https:\/\/medtech-ingenieur.de\/#\/schema\/person\/0530c7692212322343cb6aaaec7f1cbc"},"headline":"Effektive Embedded-Softwareentwicklung durch Simulation: Ein Fallbeispiel","datePublished":"2024-06-13T07:02:50+00:00","dateModified":"2025-04-28T13:14:38+00:00","mainEntityOfPage":{"@id":"https:\/\/medtech-ingenieur.de\/simulation-in-der-embedded-softwareentwicklung\/"},"wordCount":695,"publisher":{"@id":"https:\/\/medtech-ingenieur.de\/#organization"},"image":{"@id":"https:\/\/medtech-ingenieur.de\/simulation-in-der-embedded-softwareentwicklung\/#primaryimage"},"thumbnailUrl":"https:\/\/medtech-ingenieur.de\/wp-content\/uploads\/2024\/06\/SocialMediaPost-2.jpg","keywords":["Embedded-Software","Simulation","Softwareentwicklung"],"articleSection":["Allgemein","Software","Testen"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/medtech-ingenieur.de\/simulation-in-der-embedded-softwareentwicklung\/","url":"https:\/\/medtech-ingenieur.de\/simulation-in-der-embedded-softwareentwicklung\/","name":"Effective embedded software development through simulation: A case study - MEDtech Ingenieur GmbH","isPartOf":{"@id":"https:\/\/medtech-ingenieur.de\/#website"},"primaryImageOfPage":{"@id":"https:\/\/medtech-ingenieur.de\/simulation-in-der-embedded-softwareentwicklung\/#primaryimage"},"image":{"@id":"https:\/\/medtech-ingenieur.de\/simulation-in-der-embedded-softwareentwicklung\/#primaryimage"},"thumbnailUrl":"https:\/\/medtech-ingenieur.de\/wp-content\/uploads\/2024\/06\/SocialMediaPost-2.jpg","datePublished":"2024-06-13T07:02:50+00:00","dateModified":"2025-04-28T13:14:38+00:00","breadcrumb":{"@id":"https:\/\/medtech-ingenieur.de\/simulation-in-der-embedded-softwareentwicklung\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/medtech-ingenieur.de\/simulation-in-der-embedded-softwareentwicklung\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/medtech-ingenieur.de\/simulation-in-der-embedded-softwareentwicklung\/#primaryimage","url":"https:\/\/medtech-ingenieur.de\/wp-content\/uploads\/2024\/06\/SocialMediaPost-2.jpg","contentUrl":"https:\/\/medtech-ingenieur.de\/wp-content\/uploads\/2024\/06\/SocialMediaPost-2.jpg","width":1080,"height":1080},{"@type":"BreadcrumbList","@id":"https:\/\/medtech-ingenieur.de\/simulation-in-der-embedded-softwareentwicklung\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Startseite","item":"https:\/\/medtech-ingenieur.de\/"},{"@type":"ListItem","position":2,"name":"Effektive Embedded-Softwareentwicklung durch Simulation: Ein Fallbeispiel"}]},{"@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\/0530c7692212322343cb6aaaec7f1cbc","name":"Florian Mehrkens","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/medtech-ingenieur.de\/wp-content\/uploads\/2025\/04\/Med_Mit-051-scaled-96x96.jpg","url":"https:\/\/medtech-ingenieur.de\/wp-content\/uploads\/2025\/04\/Med_Mit-051-scaled-96x96.jpg","contentUrl":"https:\/\/medtech-ingenieur.de\/wp-content\/uploads\/2025\/04\/Med_Mit-051-scaled-96x96.jpg","caption":"Florian Mehrkens"},"url":"https:\/\/medtech-ingenieur.de\/en\/author\/fmehrkens\/"}]}},"_links":{"self":[{"href":"https:\/\/medtech-ingenieur.de\/en\/wp-json\/wp\/v2\/posts\/9126","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\/37"}],"replies":[{"embeddable":true,"href":"https:\/\/medtech-ingenieur.de\/en\/wp-json\/wp\/v2\/comments?post=9126"}],"version-history":[{"count":16,"href":"https:\/\/medtech-ingenieur.de\/en\/wp-json\/wp\/v2\/posts\/9126\/revisions"}],"predecessor-version":[{"id":10176,"href":"https:\/\/medtech-ingenieur.de\/en\/wp-json\/wp\/v2\/posts\/9126\/revisions\/10176"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/medtech-ingenieur.de\/en\/wp-json\/wp\/v2\/media\/9215"}],"wp:attachment":[{"href":"https:\/\/medtech-ingenieur.de\/en\/wp-json\/wp\/v2\/media?parent=9126"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/medtech-ingenieur.de\/en\/wp-json\/wp\/v2\/categories?post=9126"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/medtech-ingenieur.de\/en\/wp-json\/wp\/v2\/tags?post=9126"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}