ONTOLOGY-DRIVEN TOOL FOR UTILIZING PROGRAMMING STYLES
DOI:
https://doi.org/10.18372/2306-1472.71.11751Keywords:
coding standard, description logic, ontology, programming, programming style, reasoner, software engineering, the Java languageAbstract
Activities of a programmer will be more effective and the software will be more understandable when within the process of software development, programming styles (standards) are used, providing clarity of software texts. Purpose: In this research, we present the tool for the realization of new ontology-based methodology automated reasoning techniques for utilizing programming styles. In particular, we focus on representing programming styles in the form of formal ontologies, and study how description logic reasoner can assist programmers in utilizing programming standards. Our research hypothesis is as follows: ontological representation of programming styles can provide additional benefits over existing approaches in utilizing programmer of programming standards. Our research goal is to develop a tool to support the ontology-based utilizing programming styles. Methods: ontological representation of programming styles; object-oriented programming; ontology-driven utilizing of programming styles. Results: the architecture was obtained and the tool was developed in the Java language, which provide tool support of ontology-driven programming styles application method. On the example of naming of the Java programming language standard, features of implementation and application of the tool are provided. Discussion: application of programming styles in coding of program; lack of automated tools for the processes of programming standards application; tool based on new method of ontology-driven application of programming styles; an example of the implementation of tool architecture for naming rules of the Java language standard.
References
Sidorov M.O., (2007) Software engineering, Kyiv, NAU, 135p. (In English)
Sidorov N.A., (2005) Software stylistics. Proc. of the National Aviation University, no.2, pp.98-103. doi: 10.18372/2306-1472.24.1152
Philips Healthcare (2009) Philips Healthcare – C# Coding Standard, Philips Healthcare, p. 57.
Blake J., Cirtis P. (2007) CERT C Programming Language Secure Coding Standard Document N1255, Carnegie Mellon University, 488 p.
ESA BSSC (2005) Java Coding Standards, Prepared by: ESA Board for Software Standardization and Control, Issue 1.0, PARIS CEDEX, France, 113p.
Rosen J-P. (2008) A comparison of industrial coding rules. Ada User Journal, vol. 29, no. 4, pp. 1-5.
Stallman R. (2016) GNU Coding Standards, July 25, pp.80.
Coding Standards in the Real World http://submain.com/codeit.rigth
Sidorova N.N. (2015) Ontology-driven method using programming styles, Software engineering, no.2 (22), pp 19-29. (In English)
Haijie Z. (2009) Developing a System to Help Programmers Achieve a Good Coding Style [A dissertation submitted in partial fulfillment of the requirements of Dublin Institute of Technology for the degree of M.Sc. in Computing (Information Technology)], Dublin, 124 p.
Levinson H. L., Librizzi R. M. (2013) Using Software Development Tools and Practices in Acquisition, Technical note CMU/SEI-2013-TN-017, Carnegie Malone University, Software Engineering Institute, 28p.
Sidorov N.A., Sidorova N.N. (2016) [Programming style ontology-driven tools]. Abstracts of the International Scientific and Practice Seminar for Young Scientists and Students, Луцьк – НТУ, с.100. (In English)
Black P. (2009) Static Analyzers in Software Engineering, CrossTalk, The Journal of Defense Software Engineering 16-17 March-April, Software Engineering, pp. 1617,
Protégé at: http://protege.stanford.edu/
Dentler K., Cornet R., Teije A., Keizer N. Comparison of Reasoners for large Ontologies in the OWL 2 EL Profile at: http://www.semantic-web-journal.net/sites/default/files/swj120_2.pdf
Baader F., Calvanese D., McGuinness D., Nardi D., Patel-Schneider P.F. (2003) The Description Logic Handbook, Cambridge University Press, 320р.
OWL API at: http://owlapi.sourceforge.net/
Java API Specifications, at: http://www.oracle.com/technetwork/java/api-141528.html