[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"detail-sidebar-cat-0-en-105":3,"doc-seo-657614-105":59,"doc-detail-657614-en":134},{"code":4,"msg":5,"data":6},0,"success",[7,13,18,23,28,33,38,43,48,51,55],{"id":8,"doc_module":4,"doc_module_name":9,"category_name":10,"show_sort_weight":11,"slug":12},1,"Document","Story & Novel",90,"story-novel",{"id":14,"doc_module":4,"doc_module_name":9,"category_name":15,"show_sort_weight":16,"slug":17},2,"Literature",80,"literature",{"id":19,"doc_module":4,"doc_module_name":9,"category_name":20,"show_sort_weight":21,"slug":22},4,"Exam",70,"exam",{"id":24,"doc_module":4,"doc_module_name":9,"category_name":25,"show_sort_weight":26,"slug":27},5,"Comic",60,"comic",{"id":29,"doc_module":4,"doc_module_name":9,"category_name":30,"show_sort_weight":31,"slug":32},6,"Technology",50,"technology",{"id":34,"doc_module":4,"doc_module_name":9,"category_name":35,"show_sort_weight":36,"slug":37},7,"Healthcare",40,"healthcare",{"id":39,"doc_module":4,"doc_module_name":9,"category_name":40,"show_sort_weight":41,"slug":42},8,"Research & Report",30,"research-report",{"id":44,"doc_module":4,"doc_module_name":9,"category_name":45,"show_sort_weight":46,"slug":47},9,"Religion & Spirituality",20,"religion-spirituality",{"id":46,"doc_module":4,"doc_module_name":9,"category_name":49,"show_sort_weight":46,"slug":50},"World Cup","world-cup",{"id":52,"doc_module":4,"doc_module_name":9,"category_name":53,"show_sort_weight":52,"slug":54},10,"Lifestyle","lifestyle",{"id":56,"doc_module":4,"doc_module_name":9,"category_name":57,"show_sort_weight":24,"slug":58},19,"General","general",{"code":4,"msg":60,"data":61},"ok",{"site_id":62,"language":63,"slug":64,"title":65,"keywords":66,"description":67,"schema_data":68,"social_meta":127,"head_meta":129,"extra_data":131,"updated_unix":133},105,"en","introduction-to-uml-b-class-diagrams-and-context-diagrams-may-2010","Introduc-on to UML-­‐B - Class Diagrams and Context Diagrams - May 2010","","An introductory guide to UML-B, presenting its purpose as a graphical front-end for Event-B through the Rodin plug-in and its dedicated meta-model. The material explains how UML-B provides visualisation, faster class-oriented modelling, and inferred structuring constructs such as classes and hierarchical state machines. It also walks through getting started with installation, using the project wizard, disabling automated translation for larger models, and modelling a university degree registration example with parameters, guards, actions, constructors/destructors, and invariants.",{"@graph":69,"@context":126},[70,84,105],{"@type":71,"itemListElement":72},"BreadcrumbList",[73,77,79,82],{"item":74,"name":75,"@type":76,"position":8},"https://docshare.wps.com","Home","ListItem",{"item":78,"name":9,"@type":76,"position":14},"https://docshare.wps.com/document/",{"item":80,"name":30,"@type":76,"position":81},"https://docshare.wps.com/document/technology/",3,{"item":83,"name":65,"@type":76,"position":19},"https://docshare.wps.com/document/introduction-to-uml-b-class-diagrams-and-context-diagrams-may-2010/657614/",{"url":83,"name":65,"@type":85,"image":86,"author":91,"headline":65,"publisher":94,"fileFormat":97,"inLanguage":63,"description":67,"dateModified":98,"datePublished":99,"encodingFormat":97,"isAccessibleForFree":100,"interactionStatistic":101},"DigitalDocument",{"url":87,"@type":88,"width":89,"height":90},"https://docshare.wps.com/thumbnails/introduction-to-uml-b-class-diagrams-and-context-diagrams-may-2010/657614.png","ImageObject",300,407,{"name":92,"@type":93},"Blue Pony","Person",{"url":74,"name":95,"@type":96},"DocShare","Organization","application/pdf","2026-10-29","2026-10-26",true,{"@type":102,"interactionType":103,"userInteractionCount":81},"InteractionCounter",{"@type":104},"ViewAction",{"@type":106,"mainEntity":107},"FAQPage",[108,114,118,122],{"name":109,"@type":110,"acceptedAnswer":111},"What is UML-B in relation to Event-B?","Question",{"text":112,"@type":113},"UML-B is a graphical front-end for Event-B, implemented as a Rodin plug-in. It has its own meta-model and inherits semantics via translation into Event-B automatically.","Answer",{"name":115,"@type":110,"acceptedAnswer":116},"What benefits does UML-B provide for modelling?",{"text":117,"@type":113},"UML-B improves understanding through visualisation and supports faster modelling by allowing one diagram node to generate several Event-B lines. It also infers extra information from element positions within classes or state machines and provides structuring constructs like classes and hierarchical state machines.",{"name":119,"@type":110,"acceptedAnswer":120},"How do you start using UML-B with Rodin?",{"text":121,"@type":113},"Install UML-B using the Rodin update site, selecting UML-B Modelling Environment under Modelling Extensions. Then create a new project with the UML-B New Project Wizard, add machines and contexts, and open class or context diagrams via double-click. For larger models, use the menu option to disable automated translation (recommended).",{"name":123,"@type":110,"acceptedAnswer":124},"How is a class-oriented problem modelled in UML-B?",{"text":125,"@type":113},"The guide describes representing class instances with a set I and mapping it to values v using the type of class attributes. It models class events as families of events that assign values to v, and uses constructors/destructors and event actions/guards to update state accordingly.","https://schema.org",{"og:url":83,"og:type":128,"og:title":65,"og:site_name":95,"og:description":67},"article",{"robots":130,"canonical":83},"index,follow",{"doc_id":132,"site_id":62},657614,1793051883,{"code":4,"msg":5,"data":135},{"doc_id":132,"user_id":136,"nickname":92,"user_avatar":137,"doc_module":4,"category_id":29,"category_name":30,"doc_title":65,"doc_description":67,"doc_content":138,"file_id":139,"file_url":140,"file_type":141,"file_size":142,"view_count":81,"is_deleted":4,"is_public":8,"is_downloadable":8,"audit_status":8,"page_count":56,"language":143,"language_code":63,"site_id":62,"html_lang":63,"table_of_contents":144,"faqs":145,"seo_title":146,"seo_description":67,"update_tm":147,"read_time":148},962090760266,"https://ap-avatar.wpscdn.com/davatar_276721f389ce27ea32af1340a28f341c","Introduc-on to UML-­‐B, UML-­‐B Class Diagrams, UML-­‐B Context Diagrams  \nMay, 2010  \nColin Snook University of Southampton  \n1/19  \nWhat is UML-­‐B?  \nA Graphical front-­‐end for Event-­‐B  \n► Plug-­‐in for Rodin  \nNot UML …  \n► Has its own meta-­‐model (abstract syntax)  \n► Seman-cs inherited from transla-on to Event-­‐B  \n… but has some similari-es with UML  \n► Class Diagrams  \n► State Machine Diagrams  \nTranslator generates Event-­‐B automa-cally  \n2/19  \nWhat are the beneﬁts?  \nVisualisa-on  \n► Helps understanding  \n► communica-on  \nFaster modelling (allows you to experiment)  \n► One drawing node = several lines of B  \n► Extra informa-on inferred from posi-on of elements (e.g. if contained in a class or statemachine)  \nProvides structuring constructs  \n► Class  \n► Hierarchical state-­‐machines  \n3/19  \nGe^ng Started  \nInstall UML-­‐B using the Rodin update site  \n► Help – Install, select the main Rodin update site, wait for it to retrieve the categories, select UML-­‐B Modelling Environment under Modelling Extensions.  \nUML-­‐B Perspec-ve  \nUML-­‐B New Project Wizard  \n► Opens a project diagram for you  \n► Add machines and contexts  \n► Double click on a machine to open a class diagram  \n► or on a context to open a context diagram  \nLook for this icon  \nUML-­‐B Menu  \n► Disable automa-c transla-on (Recommended for larger models)  \nUML-­‐B toolbar bubon  \n► Save and translate  \n4/19  \nClass-­‐oriented problems  \nIn Event-­‐B models, oden ﬁnd a pabern  \n► Set I (or could be constant or variable)  \n► Variables v ∈ I → T  \n► Events e (i, .. ) when i ∈ I,… then v(i) := x  \nI is a set of instances of a class  \nv is a set of values, one for each instance (a class abribute)  \ne is a ‘family’ of iden-cal events to assign values to v (a class event)  \nI.e . trying to represent class-­‐oriented problems  \n5/19  \nAn Event-­‐B model of a class-­‐oriented problem  \nclass  \nabribute (or associa-on)  \nconstructor  class event  \ndestructor  \n6/19  \nExample -­‐ modelling with UML-­‐B  \nIn a university degree programme, students are registered on degree courses . Students must be enrolled to be registered in a course .  \nCourses can be removed from the degree programme .  \nThere is no need to consider mul-ple degree programmes -­‐ just assume we are modelling a single degree programme .  \n7/19  \nExample -­‐ modelling with UML-­‐B  \nIn a university degree programme, students are registered on degree courses . Students must be enrolled to be registered in a course .  \nCourses can be removed from the degree programme .  \n8/19  \nExample -­‐ modelling with UML-­‐B  \nIn a university degree programme, students are registered on degree courses . Students must be enrolled to be registered in a course .  \nCourses can be removed from the degree programme .  \nparameter: c ∈ degree_course  \nguard: self ↦ c ∉ register  \nac-on: register ≔ register ∪ {self ↦ c}  \nguard: register[{self}] = ∅  \nguard: register ▷ {self} = ∅  \nconstructor  \n9/19  \nAdding an Invariant  \nEnrolled students must be 18 .  \nguard: self ⋅ age ≥ 18  \nTransla-on: ∀self · ((self∈ enroll)⇒(age(self) ≥ 18))  \n10/19","cbCaieZdziym4cZe","https://ap.wps.com/l/cbCaieZdziym4cZe","pdf",492487,"English","# What is UML-B?\n# What are the benefits?\n# Getting Started\n# Class-oriented problems\n# An Event-B model of a class-oriented problem\n# Example - modelling with UML-B","[{\"question\":\"What is UML-B in relation to Event-B?\",\"answer\":\"UML-B is a graphical front-end for Event-B, implemented as a Rodin plug-in. It has its own meta-model and inherits semantics via translation into Event-B automatically.\"},{\"question\":\"What benefits does UML-B provide for modelling?\",\"answer\":\"UML-B improves understanding through visualisation and supports faster modelling by allowing one diagram node to generate several Event-B lines. It also infers extra information from element positions within classes or state machines and provides structuring constructs like classes and hierarchical state machines.\"},{\"question\":\"How do you start using UML-B with Rodin?\",\"answer\":\"Install UML-B using the Rodin update site, selecting UML-B Modelling Environment under Modelling Extensions. Then create a new project with the UML-B New Project Wizard, add machines and contexts, and open class or context diagrams via double-click. For larger models, use the menu option to disable automated translation (recommended).\"},{\"question\":\"How is a class-oriented problem modelled in UML-B?\",\"answer\":\"The guide describes representing class instances with a set I and mapping it to values v using the type of class attributes. It models class events as families of events that assign values to v, and uses constructors/destructors and event actions/guards to update state accordingly.\"}]","Introduc-on to UML-­‐B - Class Diagrams and Context Diagrams - May 2010 | PDF",1792985198,48]