{"id":1087,"date":"2024-06-29T08:49:17","date_gmt":"2024-06-29T08:49:17","guid":{"rendered":"https:\/\/britainwriters.com\/answers\/?p=1087"},"modified":"2024-06-29T08:49:19","modified_gmt":"2024-06-29T08:49:19","slug":"vdm-specification-language-assessment","status":"publish","type":"post","link":"https:\/\/britainwriters.com\/answers\/vdm-specification-language-assessment\/","title":{"rendered":"VDM Specification Language Assessment"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">This module will be assessed by two components (PART 1 and PART 2)<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">PART 1 (described in this document) consists of a series of practical tasks that you will begin in your lab sessions and complete in your own time. There are three tasks that make up<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>PART 1:<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">a) Formal Model Specification task<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">b) Formal Model Testing task<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">c) Formal Model Implementation task<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The task, the topic, the associated lab, and the allocated marks for each task is given below<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>LAB 3: Task A (simple)<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>The VDM Specification Language<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">INITIAL SPECIFICATION Consider a robot moving across a room (treated like a 6 by 6 grid) in order to exit from a door. The robot always starts at position 1,1. The robot may move left, right, up, and down by one grid square at a time. When the robot reaches the door it may exit and another robot immediately enters the room in position 1,1.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Software to monitor the robot is to be developed. Initial analysis of the software has produced the following UML diagram:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>RobotMonitor<\/td><\/tr><tr><td>row: Integercol: Integer<\/td><\/tr><tr><td>MoveRight()MoveLeft()MoveUp()MoveDown()GetRow( ): IntegerGetCol( ) : IntegerExit( )<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Download the template RobotMonitor.rtf specification file from the CN6008 Moodle site and complete the VDM-SL model of this system, using VDMTools (or VDMPad) to ensure it is free of syntax and type errors.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>LAB 4: Task A (advanced)<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Advanced Features of the VDM Specification Language<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">To achieve the top end of marks for Task A, develop the simple RobotMonitor specification from Lab 3 further as detailed below: Add an extra restriction that the Robot cannot immediately return to a square it has occupied. For example, if a Robot at (1,1) moves RIGHT to (1,2)<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">its next move cannot be a move LEFT back to (1,1). The UML diagram has been adapted to record the last move by making use of an enumerated Move type:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>RobotMonitor<\/td><\/tr><tr><td>row: Integercol: Integermove: Move<\/td><\/tr><tr><td>MoveRight()MoveLeft()MoveUp()MoveDown()GetRow( ): IntegerGetCol( ) : IntegerGetMove( ): MoveExit( )<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Initially, the robot at 1,1 will have no move allocated to it. Modify your initial RobotMonitor specification accordingly to include a move attribute, again using VDMTools (or VDMPad) to ensure it is free of syntax and type errors.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>LAB 6: Task B<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Validating and Verifying Formal Models<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Use VDMTools (or VDMPad) to thoroughly test the RobotMonitor.rtf model you produced in task A &#8211; correcting any logical errors you may find. A sampleTestDocumentation.pdf file is available on the CN6008 Moodle site to illustrate how you can document your testing.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>SIMPLE TASK<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If you were unable to develop the full RobotMonitor specification described in Lab 4 and wish to stick to the simpler specification described in Lab 3, you may use the TestRMSimple.rtf test data file (available on the CN6008 Moodle site) to help carry out your testing. You should add to the test data provided in this file.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>ADVANCED TASK<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If you developed the advanced RobotMonitor specification described in Lab 4, you may use the TestRMAdvanced.rtf test data file (available on the CN6008 Moodle site) to help carry out your testing. You should add to the test data provided in this file.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>LAB 7: Task C<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Implementing VDM Specifications<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A RobotMonitor class has been discussed in tasks A &amp; B above. You should have a formal VDM-SL model of this class from task A and this model will have been thoroughly tested in task B. Now, go to the CN6008 Moodle site and download the following files:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">1. RobotMonitor.java<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">2. Move.java<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">3. VDMException.java<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">4. RobotMonitorGUI.java<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">5. RunRobotGUI.java<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">6. RunRobotText.java<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The RobotMonitor.java file is an incomplete Java implementation of the RobotMonitor model discussed above. Complete the implementation of this RobotMonitor.java class, being sure to use defensive programming techniques discussed in lecture 8.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">You can test this class by running it alongside the additional classes provided. If you are using a desktop Java IDE (such as NetBeans or Eclipse) you can use the GUI interface to test your RobotMonitor.java class by running the RunRobotMonitorGUI.java file. Below is a sample screenshot of how the running application should look once complete:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If you do not have access to a Java IDE such as NetBeans, you may use a web-based Java tool (such as JDoodle). Web-based Java tools such as JDoodle cannot run programs with a GUI interface, so to test your RobotMonitor.java class use the text-based tester fie RunRobotMonitorText.java. Below is a sample screenshot of how the running text-based application will look:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>SIMPLE TASK<\/strong>: Implement the simple VDM-SL specification outlined in Lab 3.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>ADVANCED TASK<\/strong>: Implement the advanced VDM-SL specification outlined in Lab 4.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>This module will be assessed by two components (PART 1 and PART 2) PART 1 (described in this document) consists of a series of practical tasks that you will begin in your lab sessions and complete in your own time. There are three tasks that make up PART 1: a) Formal Model Specification task b) [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-1087","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.9 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>VDM Specification Language Assessment - My Blog<\/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:\/\/britainwriters.com\/answers\/vdm-specification-language-assessment\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"VDM Specification Language Assessment - My Blog\" \/>\n<meta property=\"og:description\" content=\"This module will be assessed by two components (PART 1 and PART 2) PART 1 (described in this document) consists of a series of practical tasks that you will begin in your lab sessions and complete in your own time. There are three tasks that make up PART 1: a) Formal Model Specification task b) [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/britainwriters.com\/answers\/vdm-specification-language-assessment\/\" \/>\n<meta property=\"og:site_name\" content=\"My Blog\" \/>\n<meta property=\"article:published_time\" content=\"2024-06-29T08:49:17+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-06-29T08:49:19+00:00\" \/>\n<meta name=\"author\" content=\"admin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"admin\" \/>\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:\\\/\\\/britainwriters.com\\\/answers\\\/vdm-specification-language-assessment\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/britainwriters.com\\\/answers\\\/vdm-specification-language-assessment\\\/\"},\"author\":{\"name\":\"admin\",\"@id\":\"https:\\\/\\\/britainwriters.com\\\/answers\\\/#\\\/schema\\\/person\\\/c698e0f0b4a723b0d250ea199e68a6d3\"},\"headline\":\"VDM Specification Language Assessment\",\"datePublished\":\"2024-06-29T08:49:17+00:00\",\"dateModified\":\"2024-06-29T08:49:19+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/britainwriters.com\\\/answers\\\/vdm-specification-language-assessment\\\/\"},\"wordCount\":744,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/britainwriters.com\\\/answers\\\/#organization\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/britainwriters.com\\\/answers\\\/vdm-specification-language-assessment\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/britainwriters.com\\\/answers\\\/vdm-specification-language-assessment\\\/\",\"url\":\"https:\\\/\\\/britainwriters.com\\\/answers\\\/vdm-specification-language-assessment\\\/\",\"name\":\"VDM Specification Language Assessment - My Blog\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/britainwriters.com\\\/answers\\\/#website\"},\"datePublished\":\"2024-06-29T08:49:17+00:00\",\"dateModified\":\"2024-06-29T08:49:19+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/britainwriters.com\\\/answers\\\/vdm-specification-language-assessment\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/britainwriters.com\\\/answers\\\/vdm-specification-language-assessment\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/britainwriters.com\\\/answers\\\/vdm-specification-language-assessment\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/britainwriters.com\\\/answers\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"VDM Specification Language Assessment\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/britainwriters.com\\\/answers\\\/#website\",\"url\":\"https:\\\/\\\/britainwriters.com\\\/answers\\\/\",\"name\":\"My Blog\",\"description\":\"My WordPress Blog\",\"publisher\":{\"@id\":\"https:\\\/\\\/britainwriters.com\\\/answers\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/britainwriters.com\\\/answers\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/britainwriters.com\\\/answers\\\/#organization\",\"name\":\"My Blog\",\"url\":\"https:\\\/\\\/britainwriters.com\\\/answers\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/britainwriters.com\\\/answers\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/britainwriters.com\\\/answers\\\/wp-content\\\/uploads\\\/2023\\\/12\\\/bw-logo.png\",\"contentUrl\":\"https:\\\/\\\/britainwriters.com\\\/answers\\\/wp-content\\\/uploads\\\/2023\\\/12\\\/bw-logo.png\",\"width\":379,\"height\":81,\"caption\":\"My Blog\"},\"image\":{\"@id\":\"https:\\\/\\\/britainwriters.com\\\/answers\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/britainwriters.com\\\/answers\\\/#\\\/schema\\\/person\\\/c698e0f0b4a723b0d250ea199e68a6d3\",\"name\":\"admin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/9c8389b9a2505b8a25de6eb6bd63d1b3bd34e49d8d91d40d9935e77bdb797c34?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/9c8389b9a2505b8a25de6eb6bd63d1b3bd34e49d8d91d40d9935e77bdb797c34?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/9c8389b9a2505b8a25de6eb6bd63d1b3bd34e49d8d91d40d9935e77bdb797c34?s=96&d=mm&r=g\",\"caption\":\"admin\"},\"sameAs\":[\"https:\\\/\\\/britainwriters.com\\\/website\"],\"url\":\"https:\\\/\\\/britainwriters.com\\\/answers\\\/author\\\/admin\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"VDM Specification Language Assessment - My Blog","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:\/\/britainwriters.com\/answers\/vdm-specification-language-assessment\/","og_locale":"en_US","og_type":"article","og_title":"VDM Specification Language Assessment - My Blog","og_description":"This module will be assessed by two components (PART 1 and PART 2) PART 1 (described in this document) consists of a series of practical tasks that you will begin in your lab sessions and complete in your own time. There are three tasks that make up PART 1: a) Formal Model Specification task b) [&hellip;]","og_url":"https:\/\/britainwriters.com\/answers\/vdm-specification-language-assessment\/","og_site_name":"My Blog","article_published_time":"2024-06-29T08:49:17+00:00","article_modified_time":"2024-06-29T08:49:19+00:00","author":"admin","twitter_card":"summary_large_image","twitter_misc":{"Written by":"admin","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/britainwriters.com\/answers\/vdm-specification-language-assessment\/#article","isPartOf":{"@id":"https:\/\/britainwriters.com\/answers\/vdm-specification-language-assessment\/"},"author":{"name":"admin","@id":"https:\/\/britainwriters.com\/answers\/#\/schema\/person\/c698e0f0b4a723b0d250ea199e68a6d3"},"headline":"VDM Specification Language Assessment","datePublished":"2024-06-29T08:49:17+00:00","dateModified":"2024-06-29T08:49:19+00:00","mainEntityOfPage":{"@id":"https:\/\/britainwriters.com\/answers\/vdm-specification-language-assessment\/"},"wordCount":744,"commentCount":0,"publisher":{"@id":"https:\/\/britainwriters.com\/answers\/#organization"},"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/britainwriters.com\/answers\/vdm-specification-language-assessment\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/britainwriters.com\/answers\/vdm-specification-language-assessment\/","url":"https:\/\/britainwriters.com\/answers\/vdm-specification-language-assessment\/","name":"VDM Specification Language Assessment - My Blog","isPartOf":{"@id":"https:\/\/britainwriters.com\/answers\/#website"},"datePublished":"2024-06-29T08:49:17+00:00","dateModified":"2024-06-29T08:49:19+00:00","breadcrumb":{"@id":"https:\/\/britainwriters.com\/answers\/vdm-specification-language-assessment\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/britainwriters.com\/answers\/vdm-specification-language-assessment\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/britainwriters.com\/answers\/vdm-specification-language-assessment\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/britainwriters.com\/answers\/"},{"@type":"ListItem","position":2,"name":"VDM Specification Language Assessment"}]},{"@type":"WebSite","@id":"https:\/\/britainwriters.com\/answers\/#website","url":"https:\/\/britainwriters.com\/answers\/","name":"My Blog","description":"My WordPress Blog","publisher":{"@id":"https:\/\/britainwriters.com\/answers\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/britainwriters.com\/answers\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/britainwriters.com\/answers\/#organization","name":"My Blog","url":"https:\/\/britainwriters.com\/answers\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/britainwriters.com\/answers\/#\/schema\/logo\/image\/","url":"https:\/\/britainwriters.com\/answers\/wp-content\/uploads\/2023\/12\/bw-logo.png","contentUrl":"https:\/\/britainwriters.com\/answers\/wp-content\/uploads\/2023\/12\/bw-logo.png","width":379,"height":81,"caption":"My Blog"},"image":{"@id":"https:\/\/britainwriters.com\/answers\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/britainwriters.com\/answers\/#\/schema\/person\/c698e0f0b4a723b0d250ea199e68a6d3","name":"admin","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/9c8389b9a2505b8a25de6eb6bd63d1b3bd34e49d8d91d40d9935e77bdb797c34?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/9c8389b9a2505b8a25de6eb6bd63d1b3bd34e49d8d91d40d9935e77bdb797c34?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/9c8389b9a2505b8a25de6eb6bd63d1b3bd34e49d8d91d40d9935e77bdb797c34?s=96&d=mm&r=g","caption":"admin"},"sameAs":["https:\/\/britainwriters.com\/website"],"url":"https:\/\/britainwriters.com\/answers\/author\/admin\/"}]}},"_links":{"self":[{"href":"https:\/\/britainwriters.com\/answers\/wp-json\/wp\/v2\/posts\/1087","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/britainwriters.com\/answers\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/britainwriters.com\/answers\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/britainwriters.com\/answers\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/britainwriters.com\/answers\/wp-json\/wp\/v2\/comments?post=1087"}],"version-history":[{"count":1,"href":"https:\/\/britainwriters.com\/answers\/wp-json\/wp\/v2\/posts\/1087\/revisions"}],"predecessor-version":[{"id":1088,"href":"https:\/\/britainwriters.com\/answers\/wp-json\/wp\/v2\/posts\/1087\/revisions\/1088"}],"wp:attachment":[{"href":"https:\/\/britainwriters.com\/answers\/wp-json\/wp\/v2\/media?parent=1087"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/britainwriters.com\/answers\/wp-json\/wp\/v2\/categories?post=1087"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/britainwriters.com\/answers\/wp-json\/wp\/v2\/tags?post=1087"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}