--- abstract: "UML-B is a graphical formal modelling notation that relies on Event-B for its \r\nunderlying semantics and is closely integrated with the ‘Rodin’, Event-B verification \r\ntools. UML-B is similar to UML but has its own meta-model. UML-B provides tool \r\nsupport, including drawing tools and a translator to generate Event-B models. When a \r\nUML-B drawing is saved the translator automatically generates the corresponding \r\nEvent-B model. The Event-B verification tools (syntax checker and prover) then run \r\nautomatically providing an immediate display of problems which are indicated on the \r\nrelevant UML-B diagram. The UML-B modelling environment consists of a UML-B \r\nproject containing a UML-B model. Four interlinked diagram types (package, context, \r\nclass and statemachine) are available. Package Diagrams are used to describe the \r\n‘refines’ and ‘sees’ relationships between top level components (machines and \r\ncontexts) of a UML-B project. UML-B mirrors the Event-B approach where static \r\ndata (sets and constants) are modelled in a separate package called a ‘context’. The \r\ncontext diagram is similar to a class diagram but has only constant data represented \r\nby ClassTypes, Attributes and Associations. ClassTypes define ‘carrier’ sets or \r\nconstant subsets of other ClassTypes. ClassTypes may own immutable attributes and \r\nassociations which represent constant functions. The behavioural parts (variables and \r\nevents) are modelled in a Class diagram which is used to describe the ‘machine’. \r\nClasses represent subsets of the ClassTypes that were introduced in the context. The \r\nclass’ associations and attributes are similar to those in the context but represent \r\nvariables instead of constants. Classes may own events that modify the variables. \r\nEvent parameters can be added to an event, providing local variables to be used in the \r\ntransition’s guards and actions. Class events utilise a parameter, self, to nondeterministically select the affected instance of the class. State machines may be used \r\nto model behaviour. Transitions represent events with implicit behaviour associated \r\nwith the change of state. Additional guards and actions can be attached to the \r\ntransition. UML-B retains sufficient commonality with UML for the main goals of \r\napproachability to be attained by industrial users. Since UML-B automates the \r\nproduction of many lines of textual B, models are quicker to produce and hence \r\nexploration of a problem domain is more attractive. This assists novices in finding \r\nuseful abstractions for their models. We have found that the efficiency of UML-B and \r\nits ability to divide and contextualise mathematical expressions assists novices who \r\nwould otherwise be deterred from writing formal specifications. UML-B is also a \r\nuseful visual aid for more experienced formal methods users. " accompaniment: [] book_title: ~ commentary: ~ completion_time: ~ composition_type: ~ conductors_id: [] conductors_name: [] contact_email: ~ copyright_holders: [] corp_creators: [] creators_id: [] creators_name: - family: Snook given: Colin honourific: '' lineage: '' - family: Butler given: Michael honourific: '' lineage: '' data_type: ~ date: 2008-09 date_type: published datestamp: 2012-07-23 12:10:53 department: ~ dir: disk0/00/00/04/39 divisions: [] edit_lock_since: ~ edit_lock_until: 0 edit_lock_user: ~ editors_id: [] editors_name: [] eprint_status: archive eprintid: 439 event_dates: ~ event_location: ~ event_title: 'Abstract State Machines, B and Z, First International Conference ABZ 2008' event_type: conference exhibitors_id: [] exhibitors_name: [] fileinfo: ~ full_text_status: none funders: [] id_number: ~ importid: ~ institution: ~ isbn: ~ ispublished: pub issn: ~ item_issues_comment: [] item_issues_count: ~ item_issues_description: [] item_issues_id: [] item_issues_reported_by: [] item_issues_resolved_by: [] item_issues_status: [] item_issues_timestamp: [] item_issues_type: [] keywords: ~ lastmod: 2012-07-23 12:10:53 latitude: ~ learning_level: ~ longitude: ~ lyricists_id: [] lyricists_name: [] metadata_visibility: show monograph_type: ~ note: ~ num_pieces: ~ number: ~ official_url: http://eprints.soton.ac.uk/266770/ output_media: ~ pagerange: 347 pages: ~ patent_applicant: ~ pedagogic_type: ~ place_of_pub: ~ pres_type: paper producers_id: [] producers_name: [] projects: [] publication: ~ publisher: ~ refereed: TRUE referencetext: ~ related_url_type: [] related_url_url: [] relation_type: [] relation_uri: [] rev_number: 8 series: ~ skill_areas: [] source: ~ status_changed: 2012-07-23 12:10:53 subjects: - deploy_tooldev_rodinplugins succeeds: ~ suggestions: ~ sword_depositor: ~ sword_slug: ~ task_purpose: ~ thesis_type: ~ title: 'UML-B: A plug-in for the Event-B tool set ' type: conference_item userid: 258 volume: ~