{"id":5701,"date":"2019-02-15T13:13:57","date_gmt":"2019-02-15T13:13:57","guid":{"rendered":"http:\/\/www.pros.webs.upv.es\/?page_id=5701"},"modified":"2019-02-15T13:17:14","modified_gmt":"2019-02-15T13:17:14","slug":"midas","status":"publish","type":"page","link":"https:\/\/pros.webs.upv.es\/site\/midas\/","title":{"rendered":"MIDAS: Model-based Infrastructure for Dynamic Adaptive Systems"},"content":{"rendered":"<p><strong>MIDAS<\/strong> is a model based framework that enables autonomic behavior in Dynamic Adaptive Systems (DAS). This framework is built upon a system reconfiguration engine based that applies the control loop strategy to monitorize the system state and context, and it allows to take proactive decisions to adapt and reconfigure itself. A DAS can be adapted at run time by reconfiguring the system functionality due to changes in the context. By using MIDAS, this adaptation can be achieved autonomously, allowing the system to &#8216;evolve&#8217; from one configuration to another by itself.<\/p>\n<p>MIDAS applies the Models at Run-Time techniques to achieve the adaptation. Those techniques allow using the same models that are built on the analysis and design phases of system development. Those models are used at run-time for reasoning and applying, among others, adaptation strategies. The MIDAS Engine takes as input Dynamic Software Product Line descriptions as models to describe the variants (and so the possible adaptation). This engine is responsible for translating context changes into changes in the activation\/deactivation of modules, software components or services that are represented as features in an abstract way. Then, those changes are translated into several actions that modify the system components accordingly.<\/p>\n<p>The MIDAS Engine is made up of 4 main components:<\/p>\n<p>&#8211; The<strong> Context Monitor<\/strong>. It detects the relevant context changes and invokes the Adaptation Analyzer.<br \/>\n&#8211; The <strong>Adaptation Analyzer<\/strong>. Takes as input context changes, feature models and resolution models. This component is responsible for deciding which adaptation is required according to the context change, and the current system configuration. As a result, this component obtain new versions of the feature and resolution models. Those models fulfill the new requirements arised by the context changes. This component is also responsible of deciding which is the best adaptation among all of the possible, to satisfy the new requirements.<br \/>\n&#8211; The <strong>Adaptation Planner<\/strong>. This component takes as input the new versions of the models built by the adaptation analyzer, and it compare those models with its previous versions. As a result, it define a set of system architectural modifications by activating\/deactivating a set of characteristics (from the feature model).<br \/>\n&#8211; The <strong>Adaptation Executor<\/strong>. This component takes as input the architectural modifications report, and it convert those modifications into a set of concrete technological operations in which the system is implemented. The main goal of this component is to materialize the adaptation, and to setup the system in a new configuration that satisfies the current context where the system is running.<\/p>\n<p>Both the framework and the adaptation engine have been implemented using Java\/OSGi, and they use the Eclipse\/MDT (Modelling Development Tools), such as EMF, ATL and XPAND2 to manipulate and transform the models.<\/p>\n<p style=\"text-align: left;\">\n","protected":false},"excerpt":{"rendered":"<p>MIDAS is a model based framework that enables autonomic behavior in Dynamic Adaptive Systems (DAS). This framework is built upon [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":24,"comment_status":"closed","ping_status":"closed","template":"","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"class_list":["post-5701","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.3 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>MIDAS: Model-based Infrastructure for Dynamic Adaptive Systems - PROS - Research Center on Software Production Methods<\/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:\/\/pros.webs.upv.es\/site\/midas\/\" \/>\n<meta property=\"og:locale\" content=\"en_GB\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"MIDAS: Model-based Infrastructure for Dynamic Adaptive Systems - PROS - Research Center on Software Production Methods\" \/>\n<meta property=\"og:description\" content=\"MIDAS is a model based framework that enables autonomic behavior in Dynamic Adaptive Systems (DAS). This framework is built upon [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/pros.webs.upv.es\/site\/midas\/\" \/>\n<meta property=\"og:site_name\" content=\"PROS - Research Center on Software Production Methods\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/CentroPROS\" \/>\n<meta property=\"article:modified_time\" content=\"2019-02-15T13:17:14+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:site\" content=\"@CentroPROS\" \/>\n<meta name=\"twitter:label1\" content=\"Estimated reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/pros.webs.upv.es\\\/site\\\/midas\\\/\",\"url\":\"https:\\\/\\\/pros.webs.upv.es\\\/site\\\/midas\\\/\",\"name\":\"MIDAS: Model-based Infrastructure for Dynamic Adaptive Systems - PROS - Research Center on Software Production Methods\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/pros.webs.upv.es\\\/site\\\/#website\"},\"datePublished\":\"2019-02-15T13:13:57+00:00\",\"dateModified\":\"2019-02-15T13:17:14+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/pros.webs.upv.es\\\/site\\\/midas\\\/#breadcrumb\"},\"inLanguage\":\"en-GB\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/pros.webs.upv.es\\\/site\\\/midas\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/pros.webs.upv.es\\\/site\\\/midas\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/pros.webs.upv.es\\\/site\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"MIDAS: Model-based Infrastructure for Dynamic Adaptive Systems\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/pros.webs.upv.es\\\/site\\\/#website\",\"url\":\"https:\\\/\\\/pros.webs.upv.es\\\/site\\\/\",\"name\":\"PROS - Research Center on Software Production Methods\",\"description\":\"research, software engineering, model-driven development, testing, Internet of things, genomics\",\"publisher\":{\"@id\":\"https:\\\/\\\/pros.webs.upv.es\\\/site\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/pros.webs.upv.es\\\/site\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-GB\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/pros.webs.upv.es\\\/site\\\/#organization\",\"name\":\"PROS Research Center on Software Production Methods\",\"url\":\"https:\\\/\\\/pros.webs.upv.es\\\/site\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-GB\",\"@id\":\"https:\\\/\\\/pros.webs.upv.es\\\/site\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.pros.webs.upv.es\\\/site\\\/wp-content\\\/uploads\\\/2017\\\/12\\\/logo_PROS_no_sticky.png\",\"contentUrl\":\"https:\\\/\\\/www.pros.webs.upv.es\\\/site\\\/wp-content\\\/uploads\\\/2017\\\/12\\\/logo_PROS_no_sticky.png\",\"width\":1181,\"height\":500,\"caption\":\"PROS Research Center on Software Production Methods\"},\"image\":{\"@id\":\"https:\\\/\\\/pros.webs.upv.es\\\/site\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/CentroPROS\",\"https:\\\/\\\/x.com\\\/CentroPROS\",\"https:\\\/\\\/www.linkedin.com\\\/company\\\/pros-research-center\\\/\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"MIDAS: Model-based Infrastructure for Dynamic Adaptive Systems - PROS - Research Center on Software Production Methods","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:\/\/pros.webs.upv.es\/site\/midas\/","og_locale":"en_GB","og_type":"article","og_title":"MIDAS: Model-based Infrastructure for Dynamic Adaptive Systems - PROS - Research Center on Software Production Methods","og_description":"MIDAS is a model based framework that enables autonomic behavior in Dynamic Adaptive Systems (DAS). This framework is built upon [&hellip;]","og_url":"https:\/\/pros.webs.upv.es\/site\/midas\/","og_site_name":"PROS - Research Center on Software Production Methods","article_publisher":"https:\/\/www.facebook.com\/CentroPROS","article_modified_time":"2019-02-15T13:17:14+00:00","twitter_card":"summary_large_image","twitter_site":"@CentroPROS","twitter_misc":{"Estimated reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/pros.webs.upv.es\/site\/midas\/","url":"https:\/\/pros.webs.upv.es\/site\/midas\/","name":"MIDAS: Model-based Infrastructure for Dynamic Adaptive Systems - PROS - Research Center on Software Production Methods","isPartOf":{"@id":"https:\/\/pros.webs.upv.es\/site\/#website"},"datePublished":"2019-02-15T13:13:57+00:00","dateModified":"2019-02-15T13:17:14+00:00","breadcrumb":{"@id":"https:\/\/pros.webs.upv.es\/site\/midas\/#breadcrumb"},"inLanguage":"en-GB","potentialAction":[{"@type":"ReadAction","target":["https:\/\/pros.webs.upv.es\/site\/midas\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/pros.webs.upv.es\/site\/midas\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/pros.webs.upv.es\/site\/"},{"@type":"ListItem","position":2,"name":"MIDAS: Model-based Infrastructure for Dynamic Adaptive Systems"}]},{"@type":"WebSite","@id":"https:\/\/pros.webs.upv.es\/site\/#website","url":"https:\/\/pros.webs.upv.es\/site\/","name":"PROS - Research Center on Software Production Methods","description":"research, software engineering, model-driven development, testing, Internet of things, genomics","publisher":{"@id":"https:\/\/pros.webs.upv.es\/site\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/pros.webs.upv.es\/site\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-GB"},{"@type":"Organization","@id":"https:\/\/pros.webs.upv.es\/site\/#organization","name":"PROS Research Center on Software Production Methods","url":"https:\/\/pros.webs.upv.es\/site\/","logo":{"@type":"ImageObject","inLanguage":"en-GB","@id":"https:\/\/pros.webs.upv.es\/site\/#\/schema\/logo\/image\/","url":"https:\/\/www.pros.webs.upv.es\/site\/wp-content\/uploads\/2017\/12\/logo_PROS_no_sticky.png","contentUrl":"https:\/\/www.pros.webs.upv.es\/site\/wp-content\/uploads\/2017\/12\/logo_PROS_no_sticky.png","width":1181,"height":500,"caption":"PROS Research Center on Software Production Methods"},"image":{"@id":"https:\/\/pros.webs.upv.es\/site\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/CentroPROS","https:\/\/x.com\/CentroPROS","https:\/\/www.linkedin.com\/company\/pros-research-center\/"]}]}},"_links":{"self":[{"href":"https:\/\/pros.webs.upv.es\/site\/wp-json\/wp\/v2\/pages\/5701","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/pros.webs.upv.es\/site\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/pros.webs.upv.es\/site\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/pros.webs.upv.es\/site\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/pros.webs.upv.es\/site\/wp-json\/wp\/v2\/comments?post=5701"}],"version-history":[{"count":2,"href":"https:\/\/pros.webs.upv.es\/site\/wp-json\/wp\/v2\/pages\/5701\/revisions"}],"predecessor-version":[{"id":5703,"href":"https:\/\/pros.webs.upv.es\/site\/wp-json\/wp\/v2\/pages\/5701\/revisions\/5703"}],"wp:attachment":[{"href":"https:\/\/pros.webs.upv.es\/site\/wp-json\/wp\/v2\/media?parent=5701"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}