<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Publishing DTD v1.0 20120330//EN" "JATS-journalpublishing1.dtd">
<article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" article-type="research-article">
	<front>
		<journal-meta>
			<journal-id journal-id-type="publisher-id">INFORMATICA</journal-id>
			<journal-title-group>
				<journal-title>Informatica</journal-title>
			</journal-title-group>
			<issn pub-type="epub">0868-4952</issn>
			<issn pub-type="ppub">0868-4952</issn>
			<publisher>
				<publisher-name>VU</publisher-name>
			</publisher>
		</journal-meta>
		<article-meta>
			<article-id pub-id-type="publisher-id">inf23203</article-id>
			<article-id pub-id-type="doi">10.15388/Informatica.2012.357</article-id>
			<article-categories>
				<subj-group subj-group-type="heading">
					<subject>Research article</subject>
				</subj-group>
			</article-categories>
			<title-group>
				<article-title>Incorporating the Ontology Paradigm into a Mainstream Programming Environment</article-title>
			</title-group>
			<contrib-group>
				<contrib contrib-type="Author">
					<name>
						<surname>Djuric</surname>
						<given-names>Dragan</given-names>
					</name>
					<email xlink:href="mailto:dragan@dragandjuric.com">dragan@dragandjuric.com</email>
					<xref ref-type="aff" rid="j_INFORMATICA_aff_000"/>
				</contrib>
				<contrib contrib-type="Author">
					<name>
						<surname>Devedzic</surname>
						<given-names>Vladan</given-names>
					</name>
					<xref ref-type="aff" rid="j_INFORMATICA_aff_000"/>
				</contrib>
				<aff id="j_INFORMATICA_aff_000">FON, University of Belgrade, Jove Ilica 154, 11000 Belgrade, Serbia</aff>
			</contrib-group>
			<pub-date pub-type="epub">
				<day>01</day>
				<month>01</month>
				<year>2012</year>
			</pub-date>
			<volume>23</volume>
			<issue>2</issue>
			<fpage>203</fpage>
			<lpage>224</lpage>
			<history>
				<date date-type="received">
					<day>01</day>
					<month>08</month>
					<year>2010</year>
				</date>
				<date date-type="accepted">
					<day>01</day>
					<month>11</month>
					<year>2011</year>
				</date>
			</history>
			<abstract>
				<p>The emergence of the Semantic Web have revived the interest in knowledge engineering and ontologies. Different paradigms often share challenges and solutions, and can complement and mutually improve each other. This paper presents a simple and agile integration of ontologies and programming on a small scale, and in a down-to-Earth manner by incorporating the ontology paradigm into a mainstream programming environment. The approach is based on metaprogramming, which has been used to internalize the ontology modeling paradigm into the Clojure language. The resulting DSL, Magic Potion, is implemented in Cojure and blends ontology, functional, object-oriented and concurrent paradigms, which is suitable for general-purpose domain modeling, from technology enhanced learning to business.</p>
			</abstract>
			<kwd-group>
				<label>Keywords</label>
				<kwd>programming paradigms</kwd>
				<kwd>multiparadigm languages</kwd>
				<kwd>ontology paradigm</kwd>
				<kwd>ontology languages</kwd>
				<kwd>metaprogramming</kwd>
				<kwd>domain-specific languages</kwd>
				<kwd>programming languages</kwd>
				<kwd>domain engineering</kwd>
				<kwd>programming techniques</kwd>
			</kwd-group>
		</article-meta>
	</front>
</article>