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...
Saved in:
| Published in: | IEEE transactions on systems, man and cybernetics. Part C, Applications and reviews Vol. 42; no. 1; pp. 3 - 14 |
|---|---|
| Main Authors: | , |
| 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 |