Queued and Pooled Semantics for State Machines in the Umple Model-Oriented Programming Language

FieldValue
dc.contributor.authorAlghamdi, Aliaa
dc.date.accessioned2015-01-20T18:02:16Z
dc.date.available2015-01-20T18:02:16Z
dc.date.created2015
dc.date.issued2015
dc.identifier.urihttp://hdl.handle.net/10393/31961
dc.identifier.urihttp://dx.doi.org/10.20381/ruor-2720
dc.description.abstractThis thesis describes extensions to state machines in the Umple model-oriented programming language to offer queued state machines (QSM), pooled state machines (PSM) and handing of the arrival of unexpected events. These features allow for modeling the behavior of a system or protocol in a more accurate way in Umple because they enable detecting and fixing common design errors such as unspecified receptions. In addition, they simplify the communication between communicating state machines by allowing for asynchronous calls of events and passing of messages between state machines. Also, a pooled state machine (PSM) has been developed to provide a different policy of handling events that avoid unspecified receptions. This mechanism has similar semantics as a queued state machine, but it differs in the way of detecting unspecified receptions because it helps handling these errors. Another mechanism has been designed to use the keyword ‘unspecified’ in whatever state of a state machine the user wants to detect these errors. In this thesis, the test-driven development (TDD) process has been followed to first modify the Umple syntax to add ‘queued,’ ‘pooled,’ and ‘unspecified’ keywords to Umple state machine’s grammar; and second, to make a change to the Umple semantics in order to implement these extensions in Umple. Then, additional modifications have been made to allow for Java code generation from those types of state machines. Finally, more test cases have been written to ensure that these models are syntactically and semantically correct. In order to show the usefulness and usability of these new features, an example is shown as a case study that is modeled using the queued state machine (QSM) besides other small tests cases.  
dc.language.isoen
dc.publisherUniversité d'Ottawa / University of Ottawa
dc.subjectUmple
dc.subjectModel-Oriented Programming Language
dc.subjectQueued State Machine (QSM)
dc.subjectPooled State Machine (PSM)
dc.subjectUnspecified Reception
dc.subjectFinite State Machine (FSM)
dc.subjectTest-Driven Development (TDD)
dc.subjectCommunicating Finite state Machine (CFSM)
dc.subjectUnified Modelling Language (UML)
dc.subjectSpecification and Description Language (SDL)
dc.titleQueued and Pooled Semantics for State Machines in the Umple Model-Oriented Programming Language
dc.typeThesis
dc.faculty.departmentScience informatique et génie électrique / Electrical Engineering and Computer Science
dc.contributor.supervisorBochmann, Gregor
dc.contributor.supervisorLethbridge, Timothy
dc.degree.nameMSc
dc.degree.levelmasters
dc.degree.disciplineGénie / Engineering
thesis.degree.nameMSc
thesis.degree.levelMasters
thesis.degree.disciplineGénie / Engineering
uottawa.departmentScience informatique et génie électrique / Electrical Engineering and Computer Science
CollectionThèses, 2011 - // Theses, 2011 -

Files