{"id":753,"date":"2013-11-18T17:16:27","date_gmt":"2013-11-18T17:16:27","guid":{"rendered":"http:\/\/poseidon.iseresearch.i3a.uclm.es\/~tesorieror\/?page_id=753"},"modified":"2013-11-18T17:16:27","modified_gmt":"2013-11-18T17:16:27","slug":"the-task-metamodel","status":"publish","type":"page","link":"https:\/\/blog.uclm.es\/ricardotesoriero\/research\/cauce-model-driven-development-of-context-aware-applications-for-ubiquitous-computing-environments\/analysis-layer-metamodels\/the-task-metamodel\/","title":{"rendered":"The Task Metamodel"},"content":{"rendered":"<p style=\"text-align:justify\">The aim of the Task metamodel is the definition of a language capable of representing the relationship between task and entities that are immersed into a Context-Aware System (CAS) running in an Ubiquitous Computing Environment (UCE).<\/p>\n<p style=\"text-align:justify\">The Task model is based on the Workflow definition by the Workflow Management Coalition (WMfC) [2]. The conceptual mapping between WfMC workflow concepts and the Task Metamodel concepts is depicted on the following table.<\/p>\n<table>\n<thead>\n<tr>\n<th>Workflow concept<\/th>\n<th>TaMM concept<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Task<\/td>\n<td>System Task<\/td>\n<\/tr>\n<tr>\n<td>Process<\/td>\n<td>Task Model<\/td>\n<\/tr>\n<tr>\n<td>Token<\/td>\n<td>Token<\/td>\n<\/tr>\n<tr>\n<td>Sequential<\/td>\n<td>Route Task<\/td>\n<\/tr>\n<tr>\n<td>Selective<\/td>\n<td>Split-OR Task<\/td>\n<\/tr>\n<tr>\n<td>Iteration<\/td>\n<td>Route Task<\/td>\n<\/tr>\n<tr>\n<td>Parallel<\/td>\n<td>Split-AND Task<\/td>\n<\/tr>\n<tr>\n<td>Condition<\/td>\n<td>Condition<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p style=\"text-align:justify\">The Task metamodel defines two types of tasks: Routing tasks and System tasks. While System tasks define the system behavior, Routing tasks define the temporal relationship among System tasks. Examples of Systemn tasks are: Get Name, Show Clients, etc. There are 4 types of Routing tasks (aka Route tasks): Split-OR tasks (to define a selection among different routes according to target Task Pre Conditions), Join-OR tasks (to define a common route for a set of tasks satisfying target task Pre Condition), Split-AND tasks (to generare threads or define parallel task execution) and Join-AND tasks (to define task synchronization).<\/p>\n<p style=\"text-align:justify\">Conditions are employed to define system states. There are 4 types of Conditions: Initial Conditions (to define the initial conditions of entities that are part of the system), Pre Conditions (to define System task pre-conditions), Post Conditions (to define System task post conditions) and Final Conditions (to define final conditions of entities that are part of the system).<\/p>\n<p style=\"text-align:justify\">The task Metamodel is depicted in Figure 4 and Figure 5.<\/p>\n<figure id=\"attachment_834\" aria-describedby=\"caption-attachment-834\" style=\"width: 1000px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/poseidon.iseresearch.i3a.uclm.es\/~tesorieror\/wp-content\/uploads\/2013\/11\/tamm-overview.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-834\" src=\"http:\/\/poseidon.iseresearch.i3a.uclm.es\/~tesorieror\/wp-content\/uploads\/2013\/11\/tamm-overview.png\" alt=\"Task metamodel overview\" width=\"1000\" height=\"600\" srcset=\"https:\/\/blog.uclm.es\/ricardotesoriero\/wp-content\/uploads\/sites\/80\/2013\/11\/tamm-overview.png 1000w, https:\/\/blog.uclm.es\/ricardotesoriero\/wp-content\/uploads\/sites\/80\/2013\/11\/tamm-overview-300x180.png 300w, https:\/\/blog.uclm.es\/ricardotesoriero\/wp-content\/uploads\/sites\/80\/2013\/11\/tamm-overview-768x461.png 768w\" sizes=\"auto, (max-width: 706px) 89vw, (max-width: 767px) 82vw, 740px\" \/><\/a><figcaption id=\"caption-attachment-834\" class=\"wp-caption-text\">Figure 4: Task metamodel overview<\/figcaption><\/figure>\n<figure id=\"attachment_834\" aria-describedby=\"caption-attachment-834\" style=\"width: 1000px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/poseidon.iseresearch.i3a.uclm.es\/~tesorieror\/wp-content\/uploads\/2013\/11\/tamm-overview.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-834\" src=\"http:\/\/poseidon.iseresearch.i3a.uclm.es\/~tesorieror\/wp-content\/uploads\/2013\/11\/tamm-overview.png\" alt=\"Task metamodel overview\" width=\"1000\" height=\"600\" srcset=\"https:\/\/blog.uclm.es\/ricardotesoriero\/wp-content\/uploads\/sites\/80\/2013\/11\/tamm-overview.png 1000w, https:\/\/blog.uclm.es\/ricardotesoriero\/wp-content\/uploads\/sites\/80\/2013\/11\/tamm-overview-300x180.png 300w, https:\/\/blog.uclm.es\/ricardotesoriero\/wp-content\/uploads\/sites\/80\/2013\/11\/tamm-overview-768x461.png 768w\" sizes=\"auto, (max-width: 706px) 89vw, (max-width: 767px) 82vw, 740px\" \/><\/a><figcaption id=\"caption-attachment-834\" class=\"wp-caption-text\">Figure 4: Task metamodel overview<\/figcaption><\/figure>\n<figure id=\"attachment_835\" aria-describedby=\"caption-attachment-835\" style=\"width: 1000px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/poseidon.iseresearch.i3a.uclm.es\/~tesorieror\/wp-content\/uploads\/2013\/11\/tamm-task-condition-relationship.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-835\" src=\"http:\/\/poseidon.iseresearch.i3a.uclm.es\/~tesorieror\/wp-content\/uploads\/2013\/11\/tamm-task-condition-relationship.png\" alt=\"Task-Condition relationship\" width=\"1000\" height=\"601\" srcset=\"https:\/\/blog.uclm.es\/ricardotesoriero\/wp-content\/uploads\/sites\/80\/2013\/11\/tamm-task-condition-relationship.png 1000w, https:\/\/blog.uclm.es\/ricardotesoriero\/wp-content\/uploads\/sites\/80\/2013\/11\/tamm-task-condition-relationship-300x180.png 300w, https:\/\/blog.uclm.es\/ricardotesoriero\/wp-content\/uploads\/sites\/80\/2013\/11\/tamm-task-condition-relationship-768x462.png 768w\" sizes=\"auto, (max-width: 706px) 89vw, (max-width: 767px) 82vw, 740px\" \/><\/a><figcaption id=\"caption-attachment-835\" class=\"wp-caption-text\">Figure 5:Task-Condition relationship<\/figcaption><\/figure>\n<p>Therefore, in order to build a task model, the pattern depicted on Figure 6 should be followed.<\/p>\n<figure id=\"attachment_837\" aria-describedby=\"caption-attachment-837\" style=\"width: 1000px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/poseidon.iseresearch.i3a.uclm.es\/~tesorieror\/wp-content\/uploads\/2013\/11\/tamm-pattern.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-837\" src=\"http:\/\/poseidon.iseresearch.i3a.uclm.es\/~tesorieror\/wp-content\/uploads\/2013\/11\/tamm-pattern.png\" alt=\"Task Metamodel Pattern\" width=\"1000\" height=\"168\" srcset=\"https:\/\/blog.uclm.es\/ricardotesoriero\/wp-content\/uploads\/sites\/80\/2013\/11\/tamm-pattern.png 1000w, https:\/\/blog.uclm.es\/ricardotesoriero\/wp-content\/uploads\/sites\/80\/2013\/11\/tamm-pattern-300x50.png 300w, https:\/\/blog.uclm.es\/ricardotesoriero\/wp-content\/uploads\/sites\/80\/2013\/11\/tamm-pattern-768x129.png 768w\" sizes=\"auto, (max-width: 706px) 89vw, (max-width: 767px) 82vw, 740px\" \/><\/a><figcaption id=\"caption-attachment-837\" class=\"wp-caption-text\">Figure 6: Task Metamodel Pattern<\/figcaption><\/figure>\n<p>The Figure 7 shows a Task model for the asynchronous exchange of files.<\/p>\n<figure id=\"attachment_838\" aria-describedby=\"caption-attachment-838\" style=\"width: 3000px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/poseidon.iseresearch.i3a.uclm.es\/~tesorieror\/wp-content\/uploads\/2013\/11\/tamm-sample-3000.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-838\" src=\"http:\/\/poseidon.iseresearch.i3a.uclm.es\/~tesorieror\/wp-content\/uploads\/2013\/11\/tamm-sample-3000.png\" alt=\"Asynchronous exhange of files\" width=\"3000\" height=\"1113\" srcset=\"https:\/\/blog.uclm.es\/ricardotesoriero\/wp-content\/uploads\/sites\/80\/2013\/11\/tamm-sample-3000.png 3000w, https:\/\/blog.uclm.es\/ricardotesoriero\/wp-content\/uploads\/sites\/80\/2013\/11\/tamm-sample-3000-300x111.png 300w, https:\/\/blog.uclm.es\/ricardotesoriero\/wp-content\/uploads\/sites\/80\/2013\/11\/tamm-sample-3000-1024x380.png 1024w, https:\/\/blog.uclm.es\/ricardotesoriero\/wp-content\/uploads\/sites\/80\/2013\/11\/tamm-sample-3000-768x285.png 768w, https:\/\/blog.uclm.es\/ricardotesoriero\/wp-content\/uploads\/sites\/80\/2013\/11\/tamm-sample-3000-1536x570.png 1536w, https:\/\/blog.uclm.es\/ricardotesoriero\/wp-content\/uploads\/sites\/80\/2013\/11\/tamm-sample-3000-2048x760.png 2048w\" sizes=\"auto, (max-width: 706px) 89vw, (max-width: 767px) 82vw, 740px\" \/><\/a><figcaption id=\"caption-attachment-838\" class=\"wp-caption-text\">Figure 7: Asynchronous exhange of files<\/figcaption><\/figure>\n<p>As can be seen in the example, Conditions are defined by 5 types of Expressions: Social expressions (So), Task expressions (Ta), Space expressions (Sp), Logic expressions (Lo) and Data expressions. All of these expressions should be satisfied to get the Condition satisfied.<\/p>\n<h4>References<\/h4>\n<p>[2] The Workflow Management Coalition (<a>WfMC <\/a>).<\/p>\n<p><span style=\"text-align:justify;line-height:1.5\">You can reference this work as:<br \/>\nRicardo Tesoriero, Jos\u00e9 A. Gallud, Mar\u00eda D. Lozano and V\u00edctor M. R. Penichet.\u00a0<strong>CAUCE: Model-driven Development of Context-aware Applications for Ubiquitous Computing Environments<\/strong>.\u00a0<\/span><i style=\"text-align:justify;line-height:1.5\">Journal of Universal Computer Science<\/i><span style=\"text-align:justify;line-height:1.5\">, \u00a0Vol. 16, \u00a0No. 15, pp. 2111-2138. 2010. Link:\u00a0<a style=\"text-align:justify;line-height:1.5\" href=\"http:\/\/www.jucs.org\/jucs_16_15\/cauce_model_driven_development\">http:\/\/www.jucs.org\/jucs_16_15\/cauce_model_driven_development<\/a><br \/>\n<\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>The aim of the Task metamodel is the definition of a language capable of representing the relationship between task and entities that are immersed into a Context-Aware System (CAS) running in an Ubiquitous Computing Environment (UCE). The Task model is based on the Workflow definition by the Workflow Management Coalition (WMfC) [2]. The conceptual mapping &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/blog.uclm.es\/ricardotesoriero\/research\/cauce-model-driven-development-of-context-aware-applications-for-ubiquitous-computing-environments\/analysis-layer-metamodels\/the-task-metamodel\/\" class=\"more-link\">Continuar leyendo<span class=\"screen-reader-text\"> \u00abThe Task Metamodel\u00bb<\/span><\/a><\/p>\n","protected":false},"author":97,"featured_media":0,"parent":704,"menu_order":0,"comment_status":"closed","ping_status":"open","template":"","meta":{"footnotes":""},"class_list":["post-753","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/blog.uclm.es\/ricardotesoriero\/wp-json\/wp\/v2\/pages\/753","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.uclm.es\/ricardotesoriero\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/blog.uclm.es\/ricardotesoriero\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/blog.uclm.es\/ricardotesoriero\/wp-json\/wp\/v2\/users\/97"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.uclm.es\/ricardotesoriero\/wp-json\/wp\/v2\/comments?post=753"}],"version-history":[{"count":0,"href":"https:\/\/blog.uclm.es\/ricardotesoriero\/wp-json\/wp\/v2\/pages\/753\/revisions"}],"up":[{"embeddable":true,"href":"https:\/\/blog.uclm.es\/ricardotesoriero\/wp-json\/wp\/v2\/pages\/704"}],"wp:attachment":[{"href":"https:\/\/blog.uclm.es\/ricardotesoriero\/wp-json\/wp\/v2\/media?parent=753"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}