From use cases to UML class diagrams using logic grammars and constraints

We investigate the possibilities for automated transition from Use Cases in a restricted natural language syntax into UML class diagrams, by trying to capture the semantics of the natural language and map it into building blocks of the object oriented programming paradigm (classes, objects, methods, properties etc.). Syntax and semantic analysis is done in a framework of Definite Clause Grammars extended with Constraint Handling Rules, which generalizes previous approaches with a direct way to express domain knowledge utilized in the interpretation process as well as stating explicit rules for pronoun resolution. The latter involves an improvement of earlier work on assumptions with time stamps.

[1]  Stefania Gnesi,et al.  Applications of linguistic techniques for use case analysis , 2002, Proceedings IEEE Joint International Conference on Requirements Engineering.

[2]  Edward V. Berard,et al.  Be Careful With “Use Cases” , 1995 .

[3]  Jerry R. Hobbs,et al.  Interpretation as Abduction , 1993, Artif. Intell..

[4]  Koen De Bosschere,et al.  LogiMOO: An Extensible Multi-user Virtual World with Natural Language Control , 1999, J. Log. Program..

[5]  Norbert E. Fuchs Attempto Controlled English , 2000, WLP.

[6]  Henning Christiansen,et al.  CHR grammars , 2004, Theory and Practice of Logic Programming.

[7]  Henry Lieberman,et al.  Toward a Programmatic Semantics of Natural Language , 2004, 2004 IEEE Symposium on Visual Languages - Human Centric Computing.

[8]  Henry Lieberman,et al.  Programmatic semantics for natural language interfaces , 2005, CHI EA '05.

[9]  Grady Booch,et al.  Object-oriented development , 1986, IEEE Transactions on Software Engineering.

[10]  Robert J. Gaizauskas,et al.  CM-Builder: A Natural Language-Based CASE Tool for Object-Oriented Analysis , 2003, Automated Software Engineering.

[11]  Henning Christiansen A constraint-based bottom-up counterpart to definite clause grammars , 2003, RANLP.

[12]  David H. D. Warren,et al.  Definite Clause Grammars for Language Analysis - A Survey of the Formalism and a Comparison with Augmented Transition Networks , 1980, Artif. Intell..

[13]  Keith Phalp,et al.  Comparing Use Case Writing Guidelines , 2001 .

[14]  Verónica Dahl,et al.  HYPROLOG: A New Logic Programming Language with Assumptions and Abduction , 2005, ICLP.

[15]  Verónica Dahl,et al.  Assumption Grammars for Processing Natural Language , 1997, ICLP.

[16]  Alistair Cockburn,et al.  Structuring Use Cases with Goals , 2000 .

[17]  Ivar Jacobson,et al.  The Unified Modeling Language User Guide , 1998, J. Database Manag..

[18]  Vladimir Mencl,et al.  Improved Processing of Textual Use Cases: Deriving Behavior Specifications , 2007, SOFSEM.

[19]  Mary E. S. Loomis,et al.  An Object Modelling Technique for Conceptual Design , 1987, ECOOP.

[20]  Keith Phalp,et al.  Replicating the CREWS Use Case Authoring Guidelines Experiment , 2000, Empirical Software Engineering.

[21]  Camille Salinesi,et al.  Guiding Scenario Authoring , 1998, EJC.

[22]  Hugo Liu,et al.  ConceptNet — A Practical Commonsense Reasoning Tool-Kit , 2004 .

[23]  Ivar Jacobson,et al.  Object-oriented development in an industrial environment , 1987, OOPSLA '87.

[24]  John Mylopoulos,et al.  Experimenting with Linguistic Tools for Conceptual Modelling: Quality of the Models and Critical Features , 2004, NLDB.

[25]  Russ Abbott Program design by informal English descriptions , 1983, CACM.

[26]  Edith Bolling Anaphora Resolution , 2006 .

[27]  Verónica Dahl,et al.  Meaning in Context , 2005, CONTEXT.

[28]  Slim Abdennadher,et al.  An Experimental CLP Platform for Integrity Constraints and Abduction , 2000, FQAS.