<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Modeling Object Oriented Systems via Controlled English Verbalization of Description Logic</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Pawel Kaplanski</string-name>
          <email>pawel.kaplanski@gmail.com</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Gdansk University of Technology</institution>
        </aff>
      </contrib-group>
      <abstract>
        <p>The need for formal methods for Object Oriented (OO) systems resulted in methods like UML and Lepus3 that are de-facto graphical languages equipped with formal tools that are able to handle the design of OO systems. However, they lack precise semantics which might lead to problems, such as inconsistencies or redundancies. On the other hand, to our knowledge, there is no approach that allows one to understand and follow the requirements of a design-implementation path for people that lack knowledge about standard software modeling language. The approach to OO system modeling presented in this paper uses Controlled English (CE) (a well defined subset of English) in the area where graphical languages are currently used. Object Oriented Constructs are modeled first in Description Logic (DL) that provides the logical framework and the CE verbalization of DL (CEDL) finally bridges DL with CL allowing to access OO world in formal, yet understandable way for both human and computer.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        Rapid development of software engineering and software production
methodologies, which took place as complexity of information systems advanced, is
connected with the need for formal description methods for knowledge acquired
during their development [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. SEMAT [www.semat.org] initiative identifies
―Methods&amp;Tools‖ as one of macro-trends in modern Software Engineering. That
macro-trend resulted already in the unified modeling language UML/OCL [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ][
        <xref ref-type="bibr" rid="ref15">15</xref>
        ]
which is a standard software modeling language nowadays. LePUS3[
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]—another
formal specification language designed to capture and convey the building-blocks of
object-oriented design—is also tailored to integrate the strength of specification and
modeling notations. It also proved its expectations, e.g. in automatic verification of
Design Patterns [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ].
      </p>
      <p>
        The approach to OO system modeling presented in this paper differs from the
above approaches as it uses the Controlled English1 [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ][
        <xref ref-type="bibr" rid="ref10">10</xref>
        ] (CE) as a software
modeling language. The motivation lies in the pragmatic observation of industrial
1 A subset of natural English, obtained by restricting the grammar and vocabulary in order to
reduce or eliminate ambiguity and complexity
need for a ―human-readable language‖ that emerged together with the increasing
complexity of computer programs. To understand the software structure one is
required to have a background in the field of a computer science, especially in
software modeling. It is hard to trace a software structure and measure it for ―non
software oriented‖ personal-authority that is forced to use a graphical
softwaremodeling language, without prior education in the field. What is more, without the
support of formal-methods it is almost impossible to trace and understand the
consequences of even small changes of design in a complex software system. In
consequence, strategic decisions that are made by the authorities reveal a lack of
information about the real state of the software product that is developed within the
organization. Moving further, one can consider modern software-intensive systems as
made of three kinds of participants: software, hardware and bioware2. While
communication between software and hardware is realized by the computer-code, a
programming language bridges software components with bioware. It is obvious that
the natural language would allow larger community to access the software. In this
paper such an approach is proposed.
      </p>
      <p>
        Software structures (especially OO) can be treated as ontologies3. Description
Logic (DL) is a subset of first order logic focused on ontology formalization and has
the very important property of being computable. Computability ensures that
reasoning tasks4 of DL can be made in finite time and space. Some dialects of DL
(e.g. EL++ [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]) give a promise that this task can be done in polynomial time, others—
more expressive, (e.g. SROIQ [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] )—use optimization techniques for most common
cases. The ontological framework, to be useful, needs to be responsive5 and therefore
the selection for the formalism is a curtail requirement for software modeling tasks.
Recently it was discovered that even if the DL has a different semantic than OO
modeling languages have6 it is still possible to emulate curtail parts of OO within DL
[
        <xref ref-type="bibr" rid="ref11">11</xref>
        ][
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. In this paper first, the correspondence to software structure is done via
SROIQ DL (because of its expressive power) and finally through the CE verbalization
of DL (CEDL) these two semantic technologies merge together.
2
      </p>
    </sec>
    <sec id="sec-2">
      <title>Verbalization of DL</title>
      <p>
        Although DL is now most often associated with the semantic-web, new
applications appeared recently proving the usability of DL also in other fields of
2 Bioware is a neologism for the human that interacts with the software-intensive system.
3 The source-code of a computer program is a set of sentences describing what to do with data
and therefore they form an ontology of program behavior and data.
4 Reasoning tasks include for example.: concept classification, that is, a hierarchical
arrangement of concepts within the notion of includes. Another one is classification of
instances to certain concepts.
5 Responsiveness – the ability of a computer system to perform an assigned function within the
required time interval
6 DL is equipped with open-world assumption and it lacks defaults while OO uses closed-world
assumption and uses defaults to describe a class-inheritance.
interest. These applications include DL verbalizations in CE (CEDL) that enable access
to DL in natural language as a part of human-computer interface. Very expressive CE
like ACE [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] can also be used to verbalize DL. ACE as a very powerful CE that can
be translated into a non-decidable subset of first-order logic provides also it’s subset
called ACEOWL[
        <xref ref-type="bibr" rid="ref10">10</xref>
        ] that can be translated into OWL 2 (equivalent of SROIQ(D) DL).
On the other hand most of OWL 2 can be translated into a subset ACEOWL. It was
recently shown [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ] that ACEOWL is more natural for people than formal-looking
CEDL syntaxes (like Manchester [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]/Sydney [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] OWL Syntax).
3
      </p>
    </sec>
    <sec id="sec-3">
      <title>Modeling OO with CEDL</title>
      <p>
        The research for CEDL described in this paper was inspired by ACEOWL, however
the grammar of CE used in this research (called LL(1)CEDL), was implemented using
LL(1) top-down parser generator [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ] and equipped with additional features that are
not implemented within ACE7. Therefore the sentences of LL(1)CEDL might not be a
valid expressions in ACE (and even in English) because of limitations of a
contextfree LL(1) grammar, nevertheless the BNF rules of the LL(1)CEDL grammar were
designed to be as close as possible to ACEOWL.
      </p>
      <p>Object (the main idea used in OO languages) and class (specification for object
construction) together with carefully selected relations (like extend or materialize) are
modeled here first in DL and then the adequate LL(1)CEDL sentence is created. The
existence of a bidirectional LL(1)CEDL&lt;-&gt;DL mapper, that is a part of a parser, bridges
these two technologies together.</p>
      <p>If for each class, object, method and attribute a corresponding instance of concept
is assigned then the basic model of the object can be created in DL (see Fig.1). Next,
the relations between classes can be established. Classes can extend8 each other to
provide a subtyping mechanism9. On the other hand objects realize every type related
to their class and therefore adequate properties on selected relations are required.
Using selected relationships it is possible to specify requirements for a class. E.g.: to
specify that a class is abstract10, to require that the class must be a root of a class
hierarchy or to prevent the class from being inherited11. One can also require that a
class is an implementation of a singleton design pattern, explicitly requiring that it can
have one and only one unique realization. It is also possible to handle sets of classes
e.g.: one can compute the set of classes that form a branch of the class hierarchy and
7 Additional features include: ―A is equivalent to B‖ construction that correspond to AB DL
expression, ―the C‖ that corresponds to unnamed individual of concept C and allow use of
parentheses that allows production of more complex expressions in CE.
8 I use the term ―extend'‖ in place of ―subclass‖ because it has more intuitive meaning about the
source and the target than a subclass relationship (―B subclasses A‖ is not so intuitive as ―B
extends A‖) and is easier to understand for a non-expert.
9 Subtyping mechanism (partial ordering over types) is a core idea behind the paradigm of a</p>
      <p>OO abstraction.
10 A class that cannot have any instances.
11 Such classes are called ―final‖ in Java.
hierarchy itself. Having the ability to express relations between class hierarchies, the
opportunity to describe structural relationships of design-pattern is opening. It is even
possible to set up the architectural design-constrains like layer-separation that then is
able to be computed by DL Reasoner.</p>
      <p>Every object that materialize class C have
object that fills attribute had by C and</p>
      <p>identified by P.</p>
      <p>Everything that fills an attribute identified
by P and had by C is an object that realizes X.</p>
      <p>Everything that is identified by P and had by C</p>
      <p>is equivalent to one attribute.
identify.{P}have.{C}{[attribute]}
fill.(attributehave.{C}identify.{P})objectrealize.{X}
objectmaterialize.(class{C})have.(objectfill.(attributehave.{C}identify.{P}))
C is a class.</p>
      <p>{C}class
P, Q, M, N are signatures.</p>
      <p>{P,Q,M,N}signature</p>
      <p>C
-P:X
-Q:Y
+M()
+N()</p>
      <p>Everything (that implements a method identified by M and
had by C) that is had by an object that materializes C is
equivalent to one function.</p>
      <p>Everything that is identified</p>
      <p>by M and had by C is
equivalent to one method.
identify.{M}have.{C}{[method]}</p>
      <p>This paper presents the results of research on the potential application of
Description Logic verbalized by Controlled English inspired by ACEOWL and
implemented with LL(1) grammar (called LL(1)CEDL) as a modeling language for
Object Oriented (OO) systems. It was shown that LL(1)CEDL can be used to describe
basic OO constructs. The research made so far gives hope that CE in general enables
us to use one and the same system for storing requirements, as well as the project and
system architecture, which in turn ensures the logical cohesion of artifacts created in
different stages of software development. Moreover, in such a case, it would be
possible to maintain a coherent terminological base between different groups of
people involved in the information project through a common knowledge
management system. These possibilities are currently being intensively investigated
by the author of this article. To compare the usage of CE as an OO modeling language
in comparison to existing methodologies that use the graphical languages
(UML/LePUS3) the evaluation is also planned.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>Harold</given-names>
            <surname>Abelson</surname>
          </string-name>
          and
          <string-name>
            <given-names>Gerald J.</given-names>
            <surname>Sussman</surname>
          </string-name>
          .
          <article-title>Structure and Interpretation of Computer Programs</article-title>
          . MIT Press, Cambridge, MA, USA,
          <year>1996</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>F.</given-names>
            <surname>Baader</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Lutz</surname>
          </string-name>
          , and
          <string-name>
            <given-names>B.</given-names>
            <surname>Suntisrivaraporn</surname>
          </string-name>
          .
          <article-title>Efficient reasoning in EL +</article-title>
          .
          <source>In Proceedings of the 2006 International Workshop on Description Logics (DL2006)</source>
          ,
          <source>CEUR-WS</source>
          ,
          <year>2006</year>
          . To appear.
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>Daniela</given-names>
            <surname>Berardi</surname>
          </string-name>
          , Diego Calvanese, and Giuseppe De Giacomo.
          <article-title>Reasoning on uml class diagrams is exptime-hard</article-title>
          .
          <source>In Proc. of the 16th Int. Workshop on Description Logic (DL</source>
          <year>2003</year>
          ), volume
          <volume>81</volume>
          <source>of CEUR Electronic Workshop Proceedings</source>
          , http://ceur-ws.
          <source>org/</source>
          , pages
          <fpage>28</fpage>
          -
          <lpage>37</lpage>
          ,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>Anne</given-names>
            <surname>Cregan</surname>
          </string-name>
          , Rolf Schwitter, and Thomas Meyer.
          <article-title>Sydney OWL Syntax - towards a controlled natural language syntax for OWL 1.1</article-title>
          .
          <string-name>
            <surname>In</surname>
            <given-names>OWLED</given-names>
          </string-name>
          ,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <surname>Norbert</surname>
            <given-names>E.</given-names>
          </string-name>
          <string-name>
            <surname>Fuchs</surname>
            , Uta Schwertel, and
            <given-names>Rolf</given-names>
          </string-name>
          <string-name>
            <surname>Schwitter</surname>
          </string-name>
          .
          <article-title>Attempto Controlled English - not just another logic specification language</article-title>
          .
          <source>In LOPSTR '98: Proceedings of the 8th International Workshop on Logic Programming Synthesis and Transformation</source>
          , pages
          <fpage>1</fpage>
          -
          <lpage>20</lpage>
          , London, UK,
          <year>1990</year>
          . Springer-Verlag.
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>Erich</given-names>
            <surname>Gamma</surname>
          </string-name>
          , Richard Helm, Ralph Johnson, and John Vlissides.
          <article-title>Design patterns: elements of reusable object-oriented software</article-title>
          .
          <source>Addison-Wesley Longman Publishing Co., Inc</source>
          ., Boston, MA, USA,
          <year>1995</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>Epameinondas</given-names>
            <surname>Gasparis</surname>
          </string-name>
          , Jonathan Nicholson, and
          <string-name>
            <surname>Amnon</surname>
            <given-names>H.</given-names>
          </string-name>
          <string-name>
            <surname>Eden</surname>
          </string-name>
          .
          <article-title>Lepus3: An objectoriented design description language</article-title>
          .
          <source>In Diagrams '08: Proceedings of the 5th international conference on Diagrammatic Representation and Inference</source>
          , pages
          <fpage>364</fpage>
          -
          <lpage>367</lpage>
          , Berlin, Heidelberg,
          <year>2008</year>
          . Springer-Verlag.
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>Matthew</given-names>
            <surname>Horridge</surname>
          </string-name>
          , Nick Drummond, John Goodwin, Alan L. Rector, Robert Stevens, and
          <string-name>
            <given-names>Hai</given-names>
            <surname>Wang</surname>
          </string-name>
          .
          <article-title>The manchester OWL Syntax</article-title>
          . In OWLED,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>Ian</given-names>
            <surname>Horrocks</surname>
          </string-name>
          , Oliver Kutz, and
          <string-name>
            <given-names>Ulrike</given-names>
            <surname>Sattler</surname>
          </string-name>
          .
          <article-title>The even more irresistible sroiq</article-title>
          .
          <source>In Patrick Doherty</source>
          , John Mylopoulos, and Christopher A. Welty, editors,
          <source>KR</source>
          , pages
          <fpage>57</fpage>
          -
          <lpage>67</lpage>
          . AAAI Press,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>Kaarel</given-names>
            <surname>Kaljurand</surname>
          </string-name>
          .
          <article-title>Attempto Controlled English as a Semantic Web Language</article-title>
          .
          <source>PhD thesis</source>
          , Faculty of Mathematics and Computer Science, University of Tartu,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <surname>Seiji</surname>
            <given-names>Koide</given-names>
          </string-name>
          , Jans Aasman, and
          <string-name>
            <given-names>Steve</given-names>
            <surname>Haflich</surname>
          </string-name>
          .
          <article-title>OWL vs. object oriented programming</article-title>
          .
          <source>In Workshop on Semantic Web Enabled Software Engineering (SWESE)</source>
          ,
          <year>November 2005</year>
          . Galway, Ireland.
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>Tobias</given-names>
            <surname>Kuhn</surname>
          </string-name>
          .
          <article-title>How to evaluate controlled natural languages</article-title>
          .
          <source>CoRR, abs/0907.1251</source>
          ,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>D. J.</given-names>
            <surname>Rosenkrantz</surname>
          </string-name>
          and
          <string-name>
            <given-names>R. E.</given-names>
            <surname>Stearns</surname>
          </string-name>
          .
          <article-title>Properties of deterministic top down grammars</article-title>
          .
          <source>In STOC '69: Proceedings of the first annual ACM symposium on Theory of computing</source>
          , pages
          <fpage>165</fpage>
          -
          <lpage>180</lpage>
          , New York, NY, USA,
          <year>1969</year>
          . ACM.
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <surname>James</surname>
            <given-names>Rumbaugh</given-names>
          </string-name>
          , Ivar Jacobson, and
          <string-name>
            <given-names>Grady</given-names>
            <surname>Booch. The Unified Modeling Language Reference Manual.</surname>
          </string-name>
          Addison-Wesley, Boston, MA, 2. edition,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>Jos</given-names>
            <surname>Warmer</surname>
          </string-name>
          and
          <string-name>
            <given-names>Anneke</given-names>
            <surname>Kleppe</surname>
          </string-name>
          .
          <article-title>The Object Constraint Language: Precise Modeling with UML</article-title>
          .
          <string-name>
            <surname>Addison-Wesley</surname>
          </string-name>
          , Reading, MA,
          <year>1999</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>