@MASTERSTHESIS\{IMM2013-06669, author = "S. K. Sarquah", title = "Seamlessness integration between textual informal {BON} and Java", year = "2013", school = "Technical University of Denmark, Department of Applied Mathematics and Computer Science", address = "Matematiktorvet, Building 303B, {DK-}2800 Kgs. Lyngby, Denmark, compute@compute.dtu.dk", type = "", note = "{DTU} supervisor: Joseph Kiniry, jkin@dtu.dk, {DTU} Compute", url = "http://www.compute.dtu.dk/English.aspx", abstract = "{BON} (Business Object Notation) is a method well suited for analysis and design of object-oriented systems. {BON} focuses on seamlessness, reversibility, scalability, simplicity and software contracts to achieve the goal of narrowing the gap between analysis, design and implementation by using the same notation and semantics in the three phases. {BON} has two kinds of notations, graphical and textual {BON}. Textual {BON} is divided into formal diagrams and informal charts to describe static and dynamic modeling of object-oriented software. Textual informal {BON} is written in structured English. An example of a query in a class chart would be What is its name? Textual informal {BON} is possible to write by hand but at this point there exists no tool which integrates textual informal {BON} with Java in such a way that the textual informal {BON} generates Java source code and the Java source code generates textual informal {BON} in such a way that feels seamless for the user of the tool. This master thesis documents the design and implementation of a textual informal {BON} editor called iBONText, which has a code generator that features seamless integration from textual informal {BON} to Java. iBONText is able to reverse the process and generate textual informal {BON} from Java. The code generation from {BON} to Java creates Javadoc custom annotations and follows Java identifier naming conventions. When the textual informal {BON} updates the Java source code updates correspondingly. This gives traceability from the analysis to the implementation, making the software development more efficient." }