from Java) that the issue arises. After analysing pos-
sible solutions to the problem, it was decided to pre-
process Java classes to add numbers to disambiguate
class names.
This solution allowed the system to retain all
classes, without requiring user intervention. How-
ever, a further problem remains. If one of the “dupli-
cate” classes was a parent of another class, that child
class would now be pointing to an ambiguous class
name. This problem was overcome by using Java im-
port statements of a class to resolve the package of the
parent class. Since a package can only contain one
class of a given name, knowing the package allowed
unambiguous identification of the parent class.
We report on work aiming at bridging the gap be-
tween software and knowledge engineers. We devel-
oped a tool, Facilitator, as a proof-of-concept proto-
type to implement various functionalities to support
knowledge-based software engineering. We present
an overview of the techniques used by Facilitator to
make use of ontologies in the implementation phase
of the software development process. This has in-
cluded a review of other tools with a similar purpose,
a detailed overview of how Facilitator performs the
matching process, discussion of some of the impor-
tant functionalities of Facilitator, and a list of planned
features of Facilitator.
Connecting software design and domain knowl-
edge has the potential to increase the productivity of
programmers by automatically spotting misconcep-
tions at an earlier stage. Similarly, a mismatch be-
tween software and domain knowledge could result
in the latter being revised. There are also advantages
of explicitly modelling knowledge in software as well
articulated components.
We have reported some preliminary results from
evaluation studies earlier in Section 5.2; more exten-
sive evaluations are planned.
Two major additional system features are planned:
Harmonisation and Ontology Graphing. Har-
monisation is a proposed feature of Facilitator,
where the system can make specific, user-specified
changes/corrections to an existing project based on
another source. Ontology Graphing will use a graph-
ing API to display ontology source as a UML-
like graph, with the further possibility of overlaying
matches onto this graph.
ACKNOWLEDGEMENTS
The first author would like to acknowledge the sup-
port of the University of Aberdeen, Development
Trust Intelligent System Fund.
We would also like to thank Dr. Honghan Wu
and Dr. Yuan Ren from the University of Aberdeen
for their insight into the current state of Knowledge-
Based Software Engineering.
REFERENCES
Carbonara, L. and Sleeman, D. (1999). Effective and effi-
cient knowledge base refinement. Machine Learning,
37(2):143–181.
Cauvin, S. R. (2014). Towards knowledge-intensive soft-
ware engineering. Honours B.Sc. Dissertation, Dept.
of Comp Sci, University of Aberdeen.
Gasevic, D., Djuric, D., Devedzic, V., and Damjanovi, V.
(2004). Converting uml to owl ontologies. In Procs of
the 13th International WWW Conference.
Happel, H.-J. and Seedorf, S. (2006). Applications of on-
tologies in software engineering. In Proc. of Work-
shop on Sematic Web Enabled Software Engineering
(SWESE) on the ISWC.
Havlice, Z., Adamuˇsˇc´ınov´a, I., Ploˇcica, O., R´ev´es, M., and
ˇ
Zelezn´ık, O. (2009). Knowledge based software engi-
neering. Computer Science and Technology Research
Survey, elfa, Kosice, pages 1–10.
Hruby, P. (2005). Ontology-based domain-driven design.
In OOPSLA Workshop on Best Practices for Model-
Driven Software Development, San Diego, CA, USA.
Kravets, A., Shcherbakov, M., Kultsova, M., and Iijima,
T. (2014). Knowledge-Based Software Engineer-
ing: 11th Joint Conference, JCKBSE, volume 466.
Springer.
Pan, J. Z., Staab, S., Aßmann, U., Ebert, J., and Zhao,
Y. (2012). Ontology-Driven Software Development.
Springer.
Parreiras, F. S., Staab, S., and Winter, A. (2007). Twouse:
Integrating uml models and owl ontologies. Techni-
cal Report 16/2007, Institut f¨ur Informatik, Univer-
sit¨at Koblenz-Landau.
Parreiras, F. S., Staab, S., and Winter, A. (2008). Improving
design patterns by description logics: A use case with
abstract factory and strategy. In Modellierung 2008,
12.-14. Mrz 2008, Berlin.
Quasthoff, M. and Meinel, C. (2008). Semantic web admis-
sion free–obtaining rdf and owl data from application
source code. In 4th International Workshop on Se-
mantic Web Enabled Software Engineering.
Sleeman, D., Moss, L., and Kinsella, J. (2014). Temporal
discovery workbench: a case study with icu patient
datasets. In BCS Health Informatics Scotland Confer-
ence, Glasgow.
Staab, S., Walter, T., Grner, G., and Parreiras, F. S. (2010).
Model driven engineering with ontology technologies.
In Reasoning Web. Semantic Technologies for Soft-
ware Engineering, volume 6325.
Winston, P. H., Binford, T. O., Katz, B., and Lowry, M.
(1983). Learning physical descriptions from func-
tional definitions, examples, and precedents. In Na-
tional Conf on A.I.
ICSOFT-EA2015-10thInternationalConferenceonSoftwareEngineeringandApplications
292