A semantic-based approach for domain specific language development

Eman Negm, Akram Salah, Soha Makady

Abstract


A domain specific language (DSL) ties the business and technical models, by letting technical developers write programs with the business domain properties. Yet, DSLs are not used due to the cost of developing them. Such cost stems from the needed expertise within both the domain knowledge and language development technicalities for any DSL engineer who would design such a language. This paper proposes a semantic-based DSL development approach that utilizes an ontology as a formal way for domain representation. The domain ontology is semi-automatically transformed into a DSL. Then, an ontology reasoning algorithm provides reasoning services on the DSL structure and the programs developed using such DSL by application developers. Such reasoning services can automatically detect flaws in the DSL design like possible inconsistency or the presence of unsatisfiable or redundant classes thus serving the DSL engineer. The reasoning services can also discover inconsistency or redundant classes in programs built using the designed DSL, thus serving the application developer. The proposed approach was implemented within a language workbench using projectional-editing and was evaluated on two different ontologies from varied domains. The results show correct transformation of the input ontology, valid instantiation of designed application, and efficient reasoning services.

Keywords


Domain specific languages; Ontology; Projectional-editing; Reasoning; Software Engineering

Full Text:

PDF


DOI: http://doi.org/10.11591/ijece.v14i5.pp5366-5380

Creative Commons License
This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.

International Journal of Electrical and Computer Engineering (IJECE)
p-ISSN 2088-8708, e-ISSN 2722-2578

This journal is published by the Institute of Advanced Engineering and Science (IAES) in collaboration with Intelektual Pustaka Media Utama (IPMU).