Incorporating the Ontology Paradigm Into Software Engineering: Enhancing Domain-Driven Programming in Clojure/Java

There is a notable overlap of the challenges with which the semantic technologies and software engineering deal. They can also complement and mutually improve each other. Current efforts mostly focus on improving software tools around the resource description framework (RDF) and Web Ontology Languag...

Full description

Saved in:
Bibliographic Details
Published in:IEEE transactions on systems, man and cybernetics. Part C, Applications and reviews Vol. 42; no. 1; pp. 3 - 14
Main Authors: Djuric, Dragan, Devedzic, Vladan
Format: Journal Article
Language:English
Published: IEEE 01.01.2012
Subjects:
ISSN:1094-6977, 1558-2442
Online Access:Get full text
Tags: Add Tag
No Tags, Be the first to tag this record!
Abstract There is a notable overlap of the challenges with which the semantic technologies and software engineering deal. They can also complement and mutually improve each other. Current efforts mostly focus on improving software tools around the resource description framework (RDF) and Web Ontology Language (OWL) Web-oriented ecosystem that helps ontology engineers but is alien to software engineers. This paper presents an opposite approach taken from the software developer's viewpoint - an incorporation of the ontology paradigm into a general-purpose programming language, in a simple and agile way, on a small scale, and in an unpretentious manner. The objective is to help programmers write simple domain-driven code with richer semantics. The means to achieve this objective relies on metaprogramming to internalize the ontology modeling paradigm into a mainstream programming environment based on the Java ecosystem, in a lightweight manner suitable for small teams. An embedded meta domain-specific language (DSL), which is called Magic Potion, is implemented in Clojure and blends ontology, functional, object-oriented, and concurrent paradigms. An example from the technology enhanced learning (TEL) domain is used to illustrate Magic Potion in action.
AbstractList There is a notable overlap of the challenges with which the semantic technologies and software engineering deal. They can also complement and mutually improve each other. Current efforts mostly focus on improving software tools around the resource description framework (RDF) and Web Ontology Language (OWL) Web-oriented ecosystem that helps ontology engineers but is alien to software engineers. This paper presents an opposite approach taken from the software developer's viewpoint - an incorporation of the ontology paradigm into a general-purpose programming language, in a simple and agile way, on a small scale, and in an unpretentious manner. The objective is to help programmers write simple domain-driven code with richer semantics. The means to achieve this objective relies on metaprogramming to internalize the ontology modeling paradigm into a mainstream programming environment based on the Java ecosystem, in a lightweight manner suitable for small teams. An embedded meta domain-specific language (DSL), which is called Magic Potion, is implemented in Clojure and blends ontology, functional, object-oriented, and concurrent paradigms. An example from the technology enhanced learning (TEL) domain is used to illustrate Magic Potion in action.
Author Devedzic, Vladan
Djuric, Dragan
Author_xml – sequence: 1
  givenname: Dragan
  surname: Djuric
  fullname: Djuric, Dragan
  email: dragan@dragandjuric.com
  organization: Dept. of Software Eng., Univ. of Belgrade, Belgrade, Serbia
– sequence: 2
  givenname: Vladan
  surname: Devedzic
  fullname: Devedzic, Vladan
  email: devedzic@gmail.com
  organization: Dept. of Software Eng., Univ. of Belgrade, Belgrade, Serbia
BookMark eNp9kEFPwjAUxxuDiYh-Ab3s6GXQru26eTMDFYOBBDwv3XgbJVuL3cDw7e2EePDgqX19v99r3v8a9bTRgNAdwUNCcDxaLd-TZBhgQoYBYZiS8AL1CeeRHzAW9Nwdx8wPYyGu0HXTbDEmjMW0j-xU58bujJWt0qXXbsCb69ZUpjx6C2nlWpW1N3Uv3tIU7Ze04E10qTSAdfyjKzZS5506NrVU2h9bdQDtLawprazrrqO0l1Rmu7cwepMHeYMuC1k1cHs-B-jjebJKXv3Z_GWaPM38nAai9emacCh4hAvKWBYCZBnBPBeukIJnmAocychtFFLARMQ4XwvIWJzFBc9kxOgAPZzm7qz53EPTprVqcqgqqcHsm5RggiPHBaFDgxOaW9M0Fop0Z1Ut7dFBaRdw-hNw2gWcngN2UvRHylXrYjS6tVJV_6v3J1UBwO9fXIShCDn9BmuIjCI
CODEN ITCRFH
CitedBy_id crossref_primary_10_1016_j_eswa_2021_114681
Cites_doi 10.1007/3-540-44806-3_2
10.5381/jot.2006.5.8.a4
10.1007/978-3-642-01648-6_35
10.1109/MS.2010.90
10.1145/352029.352035
10.2298/CSIS1002247K
10.1007/s004460050028
10.1109/MS.2008.15
10.1109/MIS.2006.62
10.1109/MIC.2002.1067737
10.1007/11763864_7
10.1007/11814771_26
10.1016/j.websem.2003.07.002
10.1016/j.websem.2008.04.003
10.1109/MS.2009.92
10.1038/scientificamerican0501-34
10.1016/j.websem.2007.03.004
10.1017/CBO9780511711787
10.1016/j.websem.2004.07.005
ContentType Journal Article
DBID 97E
RIA
RIE
AAYXX
CITATION
7SC
7SP
7TB
8FD
F28
FR3
JQ2
L7M
L~C
L~D
DOI 10.1109/TSMCC.2011.2140316
DatabaseName IEEE All-Society Periodicals Package (ASPP) 2005–Present
IEEE All-Society Periodicals Package (ASPP) 1998–Present
IEEE Electronic Library (IEL)
CrossRef
Computer and Information Systems Abstracts
Electronics & Communications Abstracts
Mechanical & Transportation Engineering Abstracts
Technology Research Database
ANTE: Abstracts in New Technology & Engineering
Engineering Research Database
ProQuest Computer Science Collection
Advanced Technologies Database with Aerospace
Computer and Information Systems Abstracts – Academic
Computer and Information Systems Abstracts Professional
DatabaseTitle CrossRef
Technology Research Database
Computer and Information Systems Abstracts – Academic
Mechanical & Transportation Engineering Abstracts
Electronics & Communications Abstracts
ProQuest Computer Science Collection
Computer and Information Systems Abstracts
Engineering Research Database
Advanced Technologies Database with Aerospace
ANTE: Abstracts in New Technology & Engineering
Computer and Information Systems Abstracts Professional
DatabaseTitleList
Technology Research Database
Database_xml – sequence: 1
  dbid: RIE
  name: IEEE/IET Electronic Library (IEL) (UW System Shared)
  url: https://ieeexplore.ieee.org/
  sourceTypes: Publisher
DeliveryMethod fulltext_linktorsrc
Discipline Engineering
Sciences (General)
EISSN 1558-2442
EndPage 14
ExternalDocumentID 10_1109_TSMCC_2011_2140316
5766765
Genre orig-research
GroupedDBID -~X
0R~
29I
4.4
5VS
6IK
97E
AAJGR
AASAJ
AAWTH
ABAZT
ABQJQ
ABVLG
ACGFS
AETIX
AGQYO
AGSQL
AHBIQ
AI.
AIBXA
ALLEH
ALMA_UNASSIGNED_HOLDINGS
BEFXN
BFFAM
BGNUA
BKEBE
BPEOZ
EBS
EJD
F5P
HZ~
H~9
IFIPE
IFJZH
IPLJI
JAVBF
LAI
M43
O9-
OCL
PZZ
RIA
RIE
RNS
VH1
AAYXX
CITATION
7SC
7SP
7TB
8FD
F28
FR3
JQ2
L7M
L~C
L~D
ID FETCH-LOGICAL-c327t-3d15ef580f344b6eebb105c744ba75b03708a897763e01790cd7eb49b9f5ba843
IEDL.DBID RIE
ISICitedReferencesCount 5
ISICitedReferencesURI http://www.webofscience.com/api/gateway?GWVersion=2&SrcApp=Summon&SrcAuth=ProQuest&DestLinkType=CitingArticles&DestApp=WOS_CPL&KeyUT=000298300200002&url=https%3A%2F%2Fcvtisr.summon.serialssolutions.com%2F%23%21%2Fsearch%3Fho%3Df%26include.ft.matches%3Dt%26l%3Dnull%26q%3D
ISSN 1094-6977
IngestDate Fri Sep 05 06:53:08 EDT 2025
Sat Nov 29 06:00:08 EST 2025
Tue Nov 18 20:58:10 EST 2025
Tue Aug 26 17:18:15 EDT 2025
IsPeerReviewed true
IsScholarly true
Issue 1
Language English
License https://ieeexplore.ieee.org/Xplorehelp/downloads/license-information/IEEE.html
LinkModel DirectLink
MergedId FETCHMERGED-LOGICAL-c327t-3d15ef580f344b6eebb105c744ba75b03708a897763e01790cd7eb49b9f5ba843
Notes ObjectType-Article-2
SourceType-Scholarly Journals-1
ObjectType-Feature-1
content type line 23
PQID 1010884326
PQPubID 23500
PageCount 12
ParticipantIDs proquest_miscellaneous_1010884326
ieee_primary_5766765
crossref_primary_10_1109_TSMCC_2011_2140316
crossref_citationtrail_10_1109_TSMCC_2011_2140316
PublicationCentury 2000
PublicationDate 2012-Jan.
2012-01-00
20120101
PublicationDateYYYYMMDD 2012-01-01
PublicationDate_xml – month: 01
  year: 2012
  text: 2012-Jan.
PublicationDecade 2010
PublicationTitle IEEE transactions on systems, man and cybernetics. Part C, Applications and reviews
PublicationTitleAbbrev TSMCC
PublicationYear 2012
Publisher IEEE
Publisher_xml – name: IEEE
References ref35
ref34
fowler (ref9) 2004
ref30
klyne (ref19) 2004; 10
ref33
vrandecic (ref40) 2005
ref32
gaevic (ref11) 2009
graham (ref12) 1993
(ref7) 0
ref1
langlois (ref21) 2007
(ref39) 0
ref17
(ref14) 0
(ref16) 0
tairas (ref36) 2009
(ref22) 0
(ref24) 0
ref23
ref26
gasevic (ref10) 2009
ref20
(ref13) 0
wang (ref41) 2005
(ref8) 0
(ref15) 0
ref29
van deursen (ref38) 2000; 35
(ref4) 0
sheard (ref31) 2001; 2196
ref3
ref6
ref5
tsarkov (ref37) 2006; 4130
peng (ref28) 2006
(ref27) 0
babik (ref2) 2006; 183
kleppe (ref18) 2003
(ref25) 0
References_xml – volume: 183
  start-page: 1613
  year: 2006
  ident: ref2
  article-title: Deep integration of python with web ontology language
  publication-title: Proc 2nd Workshop Script Semant Web ESWC
– volume: 2196
  start-page: 2
  year: 2001
  ident: ref31
  article-title: Accomplishments and research challenges in meta-programming
  publication-title: Lecture Notes Comput Sci
  doi: 10.1007/3-540-44806-3_2
– ident: ref6
  doi: 10.5381/jot.2006.5.8.a4
– start-page: 332
  year: 2009
  ident: ref36
  article-title: Using ontologies in the domain analysis of domain-specific languages
  publication-title: Models Software Engineering
  doi: 10.1007/978-3-642-01648-6_35
– ident: ref5
  doi: 10.1109/MS.2010.90
– year: 0
  ident: ref22
– volume: 35
  start-page: 26
  year: 2000
  ident: ref38
  article-title: Domain-specific languages: An annotated bibliography
  publication-title: ACM SIGPLAN Notices
  doi: 10.1145/352029.352035
– ident: ref20
  doi: 10.2298/CSIS1002247K
– year: 0
  ident: ref13
– ident: ref30
  doi: 10.1007/s004460050028
– ident: ref33
  doi: 10.1109/MS.2008.15
– ident: ref29
  doi: 10.1109/MIS.2006.62
– ident: ref23
  doi: 10.1109/MIC.2002.1067737
– year: 2004
  ident: ref9
  publication-title: Patterns of Enterprise Application Architecture
– year: 2009
  ident: ref11
  publication-title: Handbook on Ontologies
– year: 2009
  ident: ref10
  publication-title: Model Driven Engineering and Ontology Development
– year: 0
  ident: ref7
– start-page: 87
  year: 2006
  ident: ref28
  article-title: Ontology-based feature modeling and application-oriented tailoring
  publication-title: Reuse of Off-the-Shelf Components
  doi: 10.1007/11763864_7
– year: 0
  ident: ref4
– year: 0
  ident: ref8
– year: 2003
  ident: ref18
  publication-title: MDA Explained The Model Driven Architecture Practice and Promise
– volume: 4130
  start-page: 292
  year: 2006
  ident: ref37
  article-title: FaCT++ description logic reasoner: System description
  publication-title: Journal of Automated Reasoning
  doi: 10.1007/11814771_26
– ident: ref35
  doi: 10.1016/j.websem.2003.07.002
– year: 2005
  ident: ref41
  publication-title: 1st Workshop Semantic Web Enabled Software Eng
– ident: ref26
  doi: 10.1016/j.websem.2008.04.003
– ident: ref34
  doi: 10.1109/MS.2009.92
– year: 2007
  ident: ref21
  publication-title: Proc OOPSLA 7th Workshop on Domain Specific Modeling
– year: 0
  ident: ref25
– year: 0
  ident: ref14
– year: 0
  ident: ref15
– volume: 10
  year: 2004
  ident: ref19
  article-title: Resource description framework (RDF): Concepts and abstract syntax
  publication-title: W3C Recommend
– year: 0
  ident: ref24
– ident: ref3
  doi: 10.1038/scientificamerican0501-34
– year: 0
  ident: ref39
– year: 2005
  ident: ref40
  publication-title: Proc the ESWC Workshop Scripting for the Semantic Web
– ident: ref32
  doi: 10.1016/j.websem.2007.03.004
– year: 1993
  ident: ref12
  publication-title: On Lisp Advanced Techniques for Common Lisp
– year: 0
  ident: ref27
– ident: ref1
  doi: 10.1017/CBO9780511711787
– year: 0
  ident: ref16
– ident: ref17
  doi: 10.1016/j.websem.2004.07.005
SSID ssj0014493
Score 2.0428977
Snippet There is a notable overlap of the challenges with which the semantic technologies and software engineering deal. They can also complement and mutually improve...
SourceID proquest
crossref
ieee
SourceType Aggregation Database
Enrichment Source
Index Database
Publisher
StartPage 3
SubjectTerms Blends
Clojure
Computer programs
domain-specific languages
DSL
Ecosystems
Java (programming language)
modeling spaces
multiparadigm programming
Object oriented modeling
Ontologies
OWL
OWL (telescope)
Programming
programming languages
semantic technologies
Semantics
Software
Software engineering
Title Incorporating the Ontology Paradigm Into Software Engineering: Enhancing Domain-Driven Programming in Clojure/Java
URI https://ieeexplore.ieee.org/document/5766765
https://www.proquest.com/docview/1010884326
Volume 42
WOSCitedRecordID wos000298300200002&url=https%3A%2F%2Fcvtisr.summon.serialssolutions.com%2F%23%21%2Fsearch%3Fho%3Df%26include.ft.matches%3Dt%26l%3Dnull%26q%3D
hasFullText 1
inHoldings 1
isFullTextHit
isPrint
journalDatabaseRights – providerCode: PRVIEE
  databaseName: IEEE/IET Electronic Library (IEL) (UW System Shared)
  customDbUrl:
  eissn: 1558-2442
  dateEnd: 20121231
  omitProxy: false
  ssIdentifier: ssj0014493
  issn: 1094-6977
  databaseCode: RIE
  dateStart: 19980101
  isFulltext: true
  titleUrlDefault: https://ieeexplore.ieee.org/
  providerName: IEEE
link http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwlV1RT9swED4B2sP2AAM2rcAmT-KBactwEruO9zaVoTEBqwSbeIvs-DKKaILSFsS_39lJq0qbJu0tTu6SKF98vrPP3wHsI7e80JmLitSJSCRxGWnhYx5raTgptbKBt-DnqTo_z66u9HAFPiz2wiBiSD7Dj_4wrOW7upj5qTIK3n1GplyFVaX67V6txYqBELpNptci6pNTM98gw_Xh5cXZYNCydSaens7XNl8ahEJVlT9McRhfjjf-782ew3rnR7LPLfCbsILVFjxbYhfcgs2u307YQUcu_W4bmhNPXBnIi0mIkfvHvlehhu0jG5rGuNGvMTuhM-yCDPSDaZAt3fQTNa49QwepHtVjM6qio8bbSzZs87zG_sqoYoPb-mbW4OE3c29ewI_jL5eDr1FXd4EAS9Q0Sl0ssZQZL1MhbB_RWvLCCkUNo6TlqeKZyegb91P0HZoXTqEV2upSWpOJ9CWsVXWFr4BJiTw1ipNTEQuHUpeJ07GjqEzGzmSqB_EciLzoSMl9bYzbPAQnXOcBvNyDl3fg9eD9QueupeT4p_S2h2sh2SHVg7dzvHPqUH6VxFRYzyY-540sryC3dufvqrvwlB6QtPMwe7A2bWb4Gp4U99PRpHkT_srfWRLe1g
linkProvider IEEE
linkToHtml http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwlV3fb9MwED6NgQQ8ANtAlJ9G4gEEYU5i1zFvqGNaoSuVVtDeIju-QNGaoLQd4r_n7KRVJRASb3Fyl0T54vOdff4O4DlyywuduahInYhEEpeRFj7msZaGk1IrG3gLvozUeJydn-vJDrze7IVBxJB8hm_8YVjLd3Wx8lNlFLz7jEx5Ba5KIRLe7tbarBkIodt0ei2iPrk16y0yXB9Oz04Hg5avM_EEdb66-dYwFOqq_GGMwwhzfPv_3u0O3Oo8SfauhX4PdrDah5tb_IL7sNf13AV70dFLvzyAZuipKwN9MQkxcgDZpypUsf3FJqYxbvZ1zoZ0hp2Rif5pGmRbN31LjW-eo4NUj-q5mVXRUeMtJpu0mV5zf2VWscFF_X3V4OEHc2nuwufj99PBSdRVXiDIErWMUhdLLGXGy1QI20e0lvywQlHDKGl5qnhmMvrG_RR9l-aFU2iFtrqU1mQivQe7VV3hfWBSIk-N4uRWxMKh1GXidOwoLpOxM5nqQbwGIi86WnJfHeMiD-EJ13kAL_fg5R14PXi10fnRknL8U_rAw7WR7JDqwbM13jl1Kb9OYiqsVwuf9Ua2V5Bj--Dvqk_h-sn0dJSPhuOPD-EGPSxpZ2Uewe6yWeFjuFZcLmeL5kn4Q38DFojiHQ
openUrl ctx_ver=Z39.88-2004&ctx_enc=info%3Aofi%2Fenc%3AUTF-8&rfr_id=info%3Asid%2Fsummon.serialssolutions.com&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=article&rft.atitle=Incorporating+the+Ontology+Paradigm+Into+Software+Engineering%3A+Enhancing+Domain-Driven+Programming+in+Clojure%2FJava&rft.jtitle=IEEE+transactions+on+systems%2C+man+and+cybernetics.+Part+C%2C+Applications+and+reviews&rft.au=Djuric%2C+Dragan&rft.au=Devedzic%2C+Vladan&rft.date=2012-01-01&rft.pub=IEEE&rft.issn=1094-6977&rft.volume=42&rft.issue=1&rft.spage=3&rft.epage=14&rft_id=info:doi/10.1109%2FTSMCC.2011.2140316&rft.externalDocID=5766765
thumbnail_l http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/lc.gif&issn=1094-6977&client=summon
thumbnail_m http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/mc.gif&issn=1094-6977&client=summon
thumbnail_s http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/sc.gif&issn=1094-6977&client=summon