ProcasorIntroductionBrief overviewReferencesDownloadPublications |
IntroductionThe goal of the Procasor project is to derive behavior specifications from textual use cases by applying state-of-the-art linguistic techniques and readily available tools. Textual use cases use a restricted and simplified form of English to specify the steps of a use case. We build on the uniform sentence structure used by textual use cases. We introduce simple rules to obtain the principal attributes of the action described by a step of a textual use case. These rules were originally implemented in the Procasor prototype tool. Subsequently, these rules have been integrated into an interactive use case writing tool in the Procasor Enviroment project. The Procasor Environment project, a student Software Project at the School of Computer Science, has now been submitted for defense; the interactive tool developed is now available for download. The Procasor project is run by Vladimír Mencl, a former member of the Department of Distributed and Dependable Systems, Faculty of Mathematics and Physics, Charles University, Prague, Czech Republic. Brief overviewIn the Procasor project, we build on the uniform sentence structure used in describing the steps of a textual use case. Such a sentence structure is required by most use case approaches, such as [Cockburn], [Kulak] and [Larman]. We employ readily available linguistic tools to obtain a parse tree for each sentence specifying a step of a textual use case. From the parse tree, we acquire the principal attributes of the action described by the step:
To achieve this, we use a very simple domain model, consisting of names of entities involved (actors and SuD) and the names of conceptual objects. ExampleWe illustrate our approach on the sentence "Seller submits item description" describing a single step of a hypothetical use case "Seller submits an offer". With the linguistic tools, we obtain this parse tree:
The subject of the sentence (the leftmost noun-phrase subordinate to the main sentence node) is the name of an actor ("Seller"). Therefore, the sentence describes an action taken by Seller towards the SuD and it is a received action. The verb of the sentence is "submits", the base form of the verb is "submit". The direct object of the sentence is the noun phrase "item description". Assuming the domain model contains the noun "item", we select "item" as the representative object of the sentence. Finally, we construct a noun-phrase ([Larman], [Graham]) style event token "submitItem". Hence, in the notation employed, we represent the action as
A more complex example will soon be made available on this web page. For reference, a case study is also available in the appendices of Vladimir Mencl's Ph.D. thesis. Putting the tools togetherThe key step in implementing the Procasor tool was putting the linguistic tools together. I am indebted to the Center for Computational Linguistics, in particular to Prof. Jan Hajic and Dr. Jan Curin for the help with this task. We illustrate the setup on the following figure. However, note that the tools had to be glued together by additional code adjusting the format of the output of each tool into a form suitable as input for the subsequent tool in the setup. For the sake of readability, we do not show the detailed scheme of the setup here.
We start by tokenizing the sentences with the tokenizer developed as part of the EGYPT project at the John Hopkins University. Subsequently, we use the Maximum Entropy tagger developed by A. Ratnaparkhi at the University of Pennsylvania. We use the statistical parser developed by M. Collins to obtain the parse trees of each sentence. We use the Morphological tool-set developed by G. Minnen at the University of Sussex to obtain the lemma (base-form) of each word. More informationThe transformation implemented in the Procasor tool has been documented in the paper "Deriving Behavior Specifications from Textual Use Cases" and Tech. Report No. 2004/5 "Converting Textual Use Cases into Behavior Specifications". The technical report also describes in detail how the structure of a use case is transformed into a Pro-case. The setup of linguistic tools is in detail described in Vladimir Mencl's Ph.D. thesis (see the list of publications below). References
Please see our list of related work on Requirement specifications and use cases. DownloadThe Procasor prototype tool has been superseded by the interactive Procasor Environment, which is now available for download. If you are specifically interested in the Procasor prototype tool, please contact Vladimir Mencl. Publications2007 (1)Refereed (journals/proceedings)
2006 (1)Master Theses
2004 (3)Refereed (journals/proceedings)
Ph.D. Theses
Technical Reports
2003 (2)Refereed (journals/proceedings)
2002 (1)Technical Reports
|
