{"id":1264,"date":"2020-03-06T15:59:18","date_gmt":"2020-03-06T15:59:18","guid":{"rendered":"https:\/\/www.cpswarm.eu\/?p=1264"},"modified":"2020-03-06T16:02:16","modified_gmt":"2020-03-06T16:02:16","slug":"the-cpswarm-design-pattern-library","status":"publish","type":"post","link":"https:\/\/www.cpswarm.eu\/index.php\/2020\/03\/06\/the-cpswarm-design-pattern-library\/","title":{"rendered":"The CPSwarm Design Pattern Library"},"content":{"rendered":"\n<div class=\"wp-block-image\"><figure class=\"alignleft size-large is-resized\"><a href=\"https:\/\/patterns.fit.fraunhofer.de\/cpswarm\/index.php\/browse-patterns\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.cpswarm.eu\/wp-content\/uploads\/2020\/03\/CPSWARM-pattern-library-484x1024.png\" alt=\"\" class=\"wp-image-1265\" width=\"242\" height=\"512\" srcset=\"https:\/\/www.cpswarm.eu\/wp-content\/uploads\/2020\/03\/CPSWARM-pattern-library-484x1024.png 484w, https:\/\/www.cpswarm.eu\/wp-content\/uploads\/2020\/03\/CPSWARM-pattern-library-142x300.png 142w, https:\/\/www.cpswarm.eu\/wp-content\/uploads\/2020\/03\/CPSWARM-pattern-library-768x1626.png 768w, https:\/\/www.cpswarm.eu\/wp-content\/uploads\/2020\/03\/CPSWARM-pattern-library-26x55.png 26w, https:\/\/www.cpswarm.eu\/wp-content\/uploads\/2020\/03\/CPSWARM-pattern-library-726x1536.png 726w, https:\/\/www.cpswarm.eu\/wp-content\/uploads\/2020\/03\/CPSWARM-pattern-library-800x1693.png 800w, https:\/\/www.cpswarm.eu\/wp-content\/uploads\/2020\/03\/CPSWARM-pattern-library-580x1228.png 580w, https:\/\/www.cpswarm.eu\/wp-content\/uploads\/2020\/03\/CPSWARM-pattern-library.png 892w\" sizes=\"auto, (max-width: 242px) 100vw, 242px\" \/><\/a><\/figure><\/div>\n\n\n\n<p>The CPSwarm Design Pattern Library (DPL) reflects a living structure of application design and UI design patterns for #swarm applications in cyber-physical systems #CPS <\/p>\n\n\n\n<p>In &#8220;traditional&#8221; pattern collections and pattern languages, expert experience over a long time is collected, structures and finally formulated as patterns. This usually happens after a longer period of time, i.e., years.<\/p>\n\n\n\n<p>The Design Pattern Library (DPL) follows a bottom-up approach and intends to support the application-engineering process so far that already existing patterns are directly provided together with the DPL. In addition, adapted and new patterns and pattern candidates, respectively, are also integrated at an early stage and even during the development process. Throughout development time, the candidate status is tracked and eventually turns it into a real patter, an anti-pattern or drops the whole proposal since the idea is not expressing a real design pattern.<\/p>\n\n\n\n<p>Find all patterns and descriptions at an <a href=\"https:\/\/patterns.fit.fraunhofer.de\/cpswarm\/index.php\/browse-patterns\">interactive webpage with the CPSwarm Pattern Library<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>The CPSwarm Design Pattern Library (DPL) reflects a living structure of application design and UI design patterns for #swarm applications in cyber-physical systems #CPS In &#8220;traditional&#8221; pattern collections and pattern languages, expert experience over a long time is collected, structures and finally formulated as patterns. This usually happens after a [\u2026] <\/p>\n<div class=\"clear\"><\/div>\n<p><a class=\"more_link clearfix\" href=\"https:\/\/www.cpswarm.eu\/index.php\/2020\/03\/06\/the-cpswarm-design-pattern-library\/\" rel=\"nofollow\">Read More<\/a><\/p>\n","protected":false},"author":2,"featured_media":1273,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2],"tags":[8,57,42,66],"class_list":["post-1264","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-news","tag-cps","tag-cpswarm","tag-design","tag-workbench"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.9 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>The CPSwarm Design Pattern Library - cpswarm.eu<\/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.cpswarm.eu\/index.php\/2020\/03\/06\/the-cpswarm-design-pattern-library\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"The CPSwarm Design Pattern Library - cpswarm.eu\" \/>\n<meta property=\"og:description\" content=\"The CPSwarm Design Pattern Library (DPL) reflects a living structure of application design and UI design patterns for #swarm applications in cyber-physical systems #CPS In &#8220;traditional&#8221; pattern collections and pattern languages, expert experience over a long time is collected, structures and finally formulated as patterns. This usually happens after a [\u2026] Read More\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.cpswarm.eu\/index.php\/2020\/03\/06\/the-cpswarm-design-pattern-library\/\" \/>\n<meta property=\"og:site_name\" content=\"cpswarm.eu\" \/>\n<meta property=\"article:published_time\" content=\"2020-03-06T15:59:18+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2020-03-06T16:02:16+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.cpswarm.eu\/wp-content\/uploads\/2020\/03\/CPSWARM-patterns-featured-e1583510585385.png\" \/>\n\t<meta property=\"og:image:width\" content=\"885\" \/>\n\t<meta property=\"og:image:height\" content=\"384\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Wilfried Elmenreich\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Wilfried Elmenreich\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.cpswarm.eu\/index.php\/2020\/03\/06\/the-cpswarm-design-pattern-library\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.cpswarm.eu\/index.php\/2020\/03\/06\/the-cpswarm-design-pattern-library\/\"},\"author\":{\"name\":\"Wilfried Elmenreich\",\"@id\":\"https:\/\/www.cpswarm.eu\/#\/schema\/person\/3377aa8f59ee02e0601cfc03989a73ee\"},\"headline\":\"The CPSwarm Design Pattern Library\",\"datePublished\":\"2020-03-06T15:59:18+00:00\",\"dateModified\":\"2020-03-06T16:02:16+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.cpswarm.eu\/index.php\/2020\/03\/06\/the-cpswarm-design-pattern-library\/\"},\"wordCount\":161,\"commentCount\":0,\"image\":{\"@id\":\"https:\/\/www.cpswarm.eu\/index.php\/2020\/03\/06\/the-cpswarm-design-pattern-library\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.cpswarm.eu\/wp-content\/uploads\/2020\/03\/CPSWARM-patterns-featured-e1583510585385.png\",\"keywords\":[\"CPS\",\"cpswarm\",\"design\",\"workbench\"],\"articleSection\":[\"News\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.cpswarm.eu\/index.php\/2020\/03\/06\/the-cpswarm-design-pattern-library\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.cpswarm.eu\/index.php\/2020\/03\/06\/the-cpswarm-design-pattern-library\/\",\"url\":\"https:\/\/www.cpswarm.eu\/index.php\/2020\/03\/06\/the-cpswarm-design-pattern-library\/\",\"name\":\"The CPSwarm Design Pattern Library - cpswarm.eu\",\"isPartOf\":{\"@id\":\"https:\/\/www.cpswarm.eu\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.cpswarm.eu\/index.php\/2020\/03\/06\/the-cpswarm-design-pattern-library\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.cpswarm.eu\/index.php\/2020\/03\/06\/the-cpswarm-design-pattern-library\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.cpswarm.eu\/wp-content\/uploads\/2020\/03\/CPSWARM-patterns-featured-e1583510585385.png\",\"datePublished\":\"2020-03-06T15:59:18+00:00\",\"dateModified\":\"2020-03-06T16:02:16+00:00\",\"author\":{\"@id\":\"https:\/\/www.cpswarm.eu\/#\/schema\/person\/3377aa8f59ee02e0601cfc03989a73ee\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.cpswarm.eu\/index.php\/2020\/03\/06\/the-cpswarm-design-pattern-library\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.cpswarm.eu\/index.php\/2020\/03\/06\/the-cpswarm-design-pattern-library\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.cpswarm.eu\/index.php\/2020\/03\/06\/the-cpswarm-design-pattern-library\/#primaryimage\",\"url\":\"https:\/\/www.cpswarm.eu\/wp-content\/uploads\/2020\/03\/CPSWARM-patterns-featured-e1583510585385.png\",\"contentUrl\":\"https:\/\/www.cpswarm.eu\/wp-content\/uploads\/2020\/03\/CPSWARM-patterns-featured-e1583510585385.png\",\"width\":885,\"height\":384},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.cpswarm.eu\/index.php\/2020\/03\/06\/the-cpswarm-design-pattern-library\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.cpswarm.eu\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"The CPSwarm Design Pattern Library\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.cpswarm.eu\/#website\",\"url\":\"https:\/\/www.cpswarm.eu\/\",\"name\":\"cpswarm.eu\",\"description\":\"A Horizon 2020 project on applications of swarm algorithms in Cyber-Physical Systems\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.cpswarm.eu\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.cpswarm.eu\/#\/schema\/person\/3377aa8f59ee02e0601cfc03989a73ee\",\"name\":\"Wilfried Elmenreich\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.cpswarm.eu\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/0e116e6706443bb04db26d7d87fd23d52bf863a86fefddf9a64eb0f43df26e3b?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/0e116e6706443bb04db26d7d87fd23d52bf863a86fefddf9a64eb0f43df26e3b?s=96&d=mm&r=g\",\"caption\":\"Wilfried Elmenreich\"},\"url\":\"https:\/\/www.cpswarm.eu\/index.php\/author\/wilfried\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"The CPSwarm Design Pattern Library - cpswarm.eu","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.cpswarm.eu\/index.php\/2020\/03\/06\/the-cpswarm-design-pattern-library\/","og_locale":"en_US","og_type":"article","og_title":"The CPSwarm Design Pattern Library - cpswarm.eu","og_description":"The CPSwarm Design Pattern Library (DPL) reflects a living structure of application design and UI design patterns for #swarm applications in cyber-physical systems #CPS In &#8220;traditional&#8221; pattern collections and pattern languages, expert experience over a long time is collected, structures and finally formulated as patterns. This usually happens after a [\u2026] Read More","og_url":"https:\/\/www.cpswarm.eu\/index.php\/2020\/03\/06\/the-cpswarm-design-pattern-library\/","og_site_name":"cpswarm.eu","article_published_time":"2020-03-06T15:59:18+00:00","article_modified_time":"2020-03-06T16:02:16+00:00","og_image":[{"width":885,"height":384,"url":"https:\/\/www.cpswarm.eu\/wp-content\/uploads\/2020\/03\/CPSWARM-patterns-featured-e1583510585385.png","type":"image\/png"}],"author":"Wilfried Elmenreich","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Wilfried Elmenreich","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.cpswarm.eu\/index.php\/2020\/03\/06\/the-cpswarm-design-pattern-library\/#article","isPartOf":{"@id":"https:\/\/www.cpswarm.eu\/index.php\/2020\/03\/06\/the-cpswarm-design-pattern-library\/"},"author":{"name":"Wilfried Elmenreich","@id":"https:\/\/www.cpswarm.eu\/#\/schema\/person\/3377aa8f59ee02e0601cfc03989a73ee"},"headline":"The CPSwarm Design Pattern Library","datePublished":"2020-03-06T15:59:18+00:00","dateModified":"2020-03-06T16:02:16+00:00","mainEntityOfPage":{"@id":"https:\/\/www.cpswarm.eu\/index.php\/2020\/03\/06\/the-cpswarm-design-pattern-library\/"},"wordCount":161,"commentCount":0,"image":{"@id":"https:\/\/www.cpswarm.eu\/index.php\/2020\/03\/06\/the-cpswarm-design-pattern-library\/#primaryimage"},"thumbnailUrl":"https:\/\/www.cpswarm.eu\/wp-content\/uploads\/2020\/03\/CPSWARM-patterns-featured-e1583510585385.png","keywords":["CPS","cpswarm","design","workbench"],"articleSection":["News"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.cpswarm.eu\/index.php\/2020\/03\/06\/the-cpswarm-design-pattern-library\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.cpswarm.eu\/index.php\/2020\/03\/06\/the-cpswarm-design-pattern-library\/","url":"https:\/\/www.cpswarm.eu\/index.php\/2020\/03\/06\/the-cpswarm-design-pattern-library\/","name":"The CPSwarm Design Pattern Library - cpswarm.eu","isPartOf":{"@id":"https:\/\/www.cpswarm.eu\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.cpswarm.eu\/index.php\/2020\/03\/06\/the-cpswarm-design-pattern-library\/#primaryimage"},"image":{"@id":"https:\/\/www.cpswarm.eu\/index.php\/2020\/03\/06\/the-cpswarm-design-pattern-library\/#primaryimage"},"thumbnailUrl":"https:\/\/www.cpswarm.eu\/wp-content\/uploads\/2020\/03\/CPSWARM-patterns-featured-e1583510585385.png","datePublished":"2020-03-06T15:59:18+00:00","dateModified":"2020-03-06T16:02:16+00:00","author":{"@id":"https:\/\/www.cpswarm.eu\/#\/schema\/person\/3377aa8f59ee02e0601cfc03989a73ee"},"breadcrumb":{"@id":"https:\/\/www.cpswarm.eu\/index.php\/2020\/03\/06\/the-cpswarm-design-pattern-library\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.cpswarm.eu\/index.php\/2020\/03\/06\/the-cpswarm-design-pattern-library\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.cpswarm.eu\/index.php\/2020\/03\/06\/the-cpswarm-design-pattern-library\/#primaryimage","url":"https:\/\/www.cpswarm.eu\/wp-content\/uploads\/2020\/03\/CPSWARM-patterns-featured-e1583510585385.png","contentUrl":"https:\/\/www.cpswarm.eu\/wp-content\/uploads\/2020\/03\/CPSWARM-patterns-featured-e1583510585385.png","width":885,"height":384},{"@type":"BreadcrumbList","@id":"https:\/\/www.cpswarm.eu\/index.php\/2020\/03\/06\/the-cpswarm-design-pattern-library\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.cpswarm.eu\/"},{"@type":"ListItem","position":2,"name":"The CPSwarm Design Pattern Library"}]},{"@type":"WebSite","@id":"https:\/\/www.cpswarm.eu\/#website","url":"https:\/\/www.cpswarm.eu\/","name":"cpswarm.eu","description":"A Horizon 2020 project on applications of swarm algorithms in Cyber-Physical Systems","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.cpswarm.eu\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.cpswarm.eu\/#\/schema\/person\/3377aa8f59ee02e0601cfc03989a73ee","name":"Wilfried Elmenreich","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.cpswarm.eu\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/0e116e6706443bb04db26d7d87fd23d52bf863a86fefddf9a64eb0f43df26e3b?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/0e116e6706443bb04db26d7d87fd23d52bf863a86fefddf9a64eb0f43df26e3b?s=96&d=mm&r=g","caption":"Wilfried Elmenreich"},"url":"https:\/\/www.cpswarm.eu\/index.php\/author\/wilfried\/"}]}},"_links":{"self":[{"href":"https:\/\/www.cpswarm.eu\/index.php\/wp-json\/wp\/v2\/posts\/1264","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.cpswarm.eu\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.cpswarm.eu\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.cpswarm.eu\/index.php\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.cpswarm.eu\/index.php\/wp-json\/wp\/v2\/comments?post=1264"}],"version-history":[{"count":7,"href":"https:\/\/www.cpswarm.eu\/index.php\/wp-json\/wp\/v2\/posts\/1264\/revisions"}],"predecessor-version":[{"id":1272,"href":"https:\/\/www.cpswarm.eu\/index.php\/wp-json\/wp\/v2\/posts\/1264\/revisions\/1272"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.cpswarm.eu\/index.php\/wp-json\/wp\/v2\/media\/1273"}],"wp:attachment":[{"href":"https:\/\/www.cpswarm.eu\/index.php\/wp-json\/wp\/v2\/media?parent=1264"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.cpswarm.eu\/index.php\/wp-json\/wp\/v2\/categories?post=1264"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.cpswarm.eu\/index.php\/wp-json\/wp\/v2\/tags?post=1264"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}