<?xml version="1.0" encoding="UTF-8"?>
<TEI xml:space="preserve" xmlns="http://www.tei-c.org/ns/1.0" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://www.tei-c.org/ns/1.0 https://raw.githubusercontent.com/kermitt2/grobid/master/grobid-home/schemas/xsd/Grobid.xsd"
 xmlns:xlink="http://www.w3.org/1999/xlink">
	<teiHeader xml:lang="en">
		<fileDesc>
			<titleStmt>
				<title level="a" type="main">Using Ontologies in the Domain Analysis of Domain-Specific Languages</title>
			</titleStmt>
			<publicationStmt>
				<publisher/>
				<availability status="unknown"><licence/></availability>
			</publicationStmt>
			<sourceDesc>
				<biblStruct>
					<analytic>
						<author>
							<persName><forename type="first">Robert</forename><surname>Tairas</surname></persName>
							<email>tairasr@cis.uab.edu</email>
							<affiliation key="aff0">
								<orgName type="institution">University of Alabama at Birmingham</orgName>
								<address>
									<settlement>Birmingham</settlement>
									<region>Alabama</region>
									<country key="US">USA</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Marjan</forename><surname>Mernik</surname></persName>
							<email>marjan.mernik@uni-mb.si</email>
							<affiliation key="aff1">
								<orgName type="institution">University of Maribor</orgName>
								<address>
									<settlement>Maribor</settlement>
									<country key="SI">Slovenia</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Jeff</forename><surname>Gray</surname></persName>
							<email>gray@cis.uab.edu</email>
							<affiliation key="aff0">
								<orgName type="institution">University of Alabama at Birmingham</orgName>
								<address>
									<settlement>Birmingham</settlement>
									<region>Alabama</region>
									<country key="US">USA</country>
								</address>
							</affiliation>
						</author>
						<title level="a" type="main">Using Ontologies in the Domain Analysis of Domain-Specific Languages</title>
					</analytic>
					<monogr>
						<imprint>
							<date/>
						</imprint>
					</monogr>
					<idno type="MD5">7060BC1A4E262D13F1AB73A7162EF32E</idno>
				</biblStruct>
			</sourceDesc>
		</fileDesc>
		<encodingDesc>
			<appInfo>
				<application version="0.7.2" ident="GROBID" when="2023-03-23T23:47+0000">
					<desc>GROBID - A machine learning software for extracting information from scholarly documents</desc>
					<ref target="https://github.com/kermitt2/grobid"/>
				</application>
			</appInfo>
		</encodingDesc>
		<profileDesc>
			<textClass>
				<keywords>
					<term>Domain Analysis</term>
					<term>Domain-Specific Languages</term>
					<term>Ontology</term>
				</keywords>
			</textClass>
			<abstract>
<div xmlns="http://www.tei-c.org/ns/1.0"><p>The design stage of domain-specific language development, which includes domain analysis, has not received as much attention compared to the subsequent stage of language implementation. This paper investigates the use of ontology in domain analysis for the development of a domain-specific language. The standard process of ontology development is investigated as an aid to determine the pertinent information regarding the domain (e.g., the conceptualization of the domain and the common and variable elements of the domain) that should be modeled in a language for the domain. Our observations suggest that ontology assists in the initial phase of domain understanding and can be combined with further formal domain analysis methods during the development of a domain-specific language.</p></div>
			</abstract>
		</profileDesc>
	</teiHeader>
	<text xml:lang="en">
		<body>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="1">Introduction</head><p>The development of a Domain-Specific Language (DSL) requires detailed knowledge of the domain in which the language is being targeted. Paradigms such as Generative Programming <ref type="bibr" target="#b2">[3]</ref> and Domain Engineering <ref type="bibr" target="#b4">[5]</ref> also require an understanding of the target domain, which is done through a process called domain analysis that produces a domain model. An important theme in the domain analysis used by both paradigms is the need to determine elements that can be reused. The reusable components or software artifacts form the building blocks for developing new software systems. In DSL development, in addition to the overall knowledge of the domain, the domain model can reveal important properties that will influence the way the language is shaped. In particular, the search for reusability in domain analysis can be translated into realizing the commonalities and variabilities of a domain. This information can assist in pointing out elements in the domain that can be fixed in the language and those that must provide for variabilities; hence, domain analysis has the potential to be beneficial if used during DSL development. However, clear guidelines for the use of established domain analysis techniques in the process of DSL development are still lacking <ref type="bibr" target="#b10">[11]</ref>.</p><p>Ontology development is one approach that has contributed to the early stages of domain analysis <ref type="bibr" target="#b4">[5]</ref>. This paper investigates the use of ontology during domain analysis in DSL development and how it contributes to the design of the language. The rest of the paper is organized as follows: Section 2 describes the potential connection between ontology and DSL development. Section 3 provides a case study on the use of ontology in the development of a DSL for air traffic communication and Section 4 provides some observations on ontology in DSL development based on the case study. Related work, a conclusion, and future work are described in Sections 5 and 6.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2">Early Stage DSL Development</head><p>Chandrasekaran et al. <ref type="bibr" target="#b1">[2]</ref> propose two properties related to ontologies: the first is a representation vocabulary of some specialized domain. This vocabulary represents the objects, concepts, and other entities concerning the domain. The second is the body of knowledge of the domain using this representative vocabulary. This knowledge can be obtained from the relationships of the entities that have been represented by the vocabulary. Ontologies seek to represent the elements of a domain through a vocabulary and relationships between these elements in order to provide some type of knowledge of the domain.</p><p>An interesting connection can be observed between ontology and DSL design. As it relates to DSL development <ref type="bibr" target="#b10">[11]</ref>, a domain model is defined as consisting of:</p><p>• a domain definition defining the scope of the domain,</p><p>• the domain terminology (vocabulary, ontology),</p><p>• descriptions of domain concepts, and • feature models describing the commonalities and variabilities of domain concepts and their interdependencies.</p><p>Not only is an ontology useful in the obvious property of domain terminology, but the concepts of the domain and their interdependencies or relationships are also part of the properties of an ontology <ref type="bibr" target="#b1">[2]</ref>. The knowledge of the commonalities and variabilities of the domain concepts can further provide crucial information needed to determine the fixed and variable parts of the language. This part is a more open question as to the potential of finding commonalities and variabilities through information obtained from the ontology.</p><p>As it relates to the DSL development process as a whole, the insertion of ontology development in the early stages of DSL development can potentially provide a structured mechanism in the part of DSL development that is still lacking attention. The early stages of DSL development (i.e., domain analysis) have not received as much attention compared to the latter stages of development (i.e., language implementation). Various DSL implementation techniques have been identified in <ref type="bibr" target="#b10">[11]</ref>, including interpreter or compiler development and embedding in a General-Purpose Language (GPL). In contrast, only four out of 39 DSLs evaluated in <ref type="bibr" target="#b10">[11]</ref> utilized a more formal domain analysis, such as FAST <ref type="bibr" target="#b13">[14]</ref> and FODA <ref type="bibr" target="#b7">[8]</ref>. These formal approaches have shown to result in good language design, but their use is still limited and it has yet to be seen how well they will be adopted by the community. The question is whether other less formal approaches, such as Object-Oriented Analysis (OOA) or ontology, can be reused in the early stages of DSL development. In order to promote interest in the domain analysis stage of DSL development, this paper advocates the use of ontology in DSL development, which is observed through a case study of a DSL for air traffic communication.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3">Case Study</head><p>Ontology development to assist in the design of a DSL is described through a case study in this section. Section 3.1 provides a summary of the air traffic communication problem domain. The ontology and its related competency questions are given in Sections 3.2 and 3.3. The development of a class diagram, object diagram, contextfree grammar, and sample program related to the DSL and obtained from the ontology is given in Section 3.4.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.1">Air Traffic Communication</head><p>A case study was selected to apply the ontology development process and observe its usefulness in domain analysis related to DSL development. The case study selected focuses on the communication that occurs between the air traffic control (ATC) at an airport and the pilot of an aircraft. More specifically, the communication is between the ground controller that is responsible for the traffic between the runways and the ramps containing gates in an airport, and the pilots of an aircraft that has just arrived or is in the process of departure. The purpose is to develop a DSL that can standardize the language for the communication between the two individuals. English is the standard language in this domain, but more often the controllers or pilots of non-English speaking countries may experience problems communicating in English. A DSL that standardizes the communication can be translated into the native tongue of the controller or pilot for better comprehension. A separate functionality could check and verify the path that is given to a pilot by a ground controller. An example communication sequence that highlights the potential communication problem is given in Listing 1. The controller is asking the captain to hold short of taxiway "MikeAlpha," but the pilot continually assumes it is taxiway "November." Pilot:</p><p>Roger, join right Juliette. Join Alpha. Hold short November.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>ATC:</head><p>OK, I'll say it again. Hold short of Mike Alpha "M" -"A" MikeAlpha, not November.</p><p>Pilot:</p><p>OK, hold short of MikeAlpha.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.2">Ontology Development</head><p>Following the ontology development process outlined by Noy and McGuinness <ref type="bibr" target="#b12">[13]</ref>, competency questions are selected that serve as the purpose of the ontology. In order to obtain a domain model as defined in Section 2, two competency questions were selected: "What are the concepts of the domain and the interdependencies of these concepts?" and "What are the commonalities and variabilities of the domain?" Both the Ontolingua<ref type="foot" target="#foot_0">1</ref> and DAML<ref type="foot" target="#foot_1">2</ref> ontology libraries were searched for existing ontologies related to the domain in this case study, but no related instances contained the vocabulary necessary for the domain. Although a new ontology is needed for this case study, the availability of an existing ontology in other cases provides a head start to the development of a domain model as the important terms and relationships have been determined already for the domain and can be used toward the subsequent steps of DSL development. Utilizing the tool introduced by Noy and McGuinness <ref type="bibr" target="#b12">[13]</ref> called Protégé 2000 3 , the ontology for the case study was developed. The terms in Protégé 2000 are stored as classes. This allows for terms to be considered subclasses of other terms. In addition to classes, Protégé 2000 also contains slots and instances. Slots are the properties and constraints of the classes. Slots define the properties of classes and also determine the values that can be set for each property. Instances are actual instances of the classes in the ontology. These can be used to determine how well the ontology is representing a domain.</p><p>Table <ref type="table" target="#tab_0">1</ref> contains a selection of classes and slots of the ontology that was developed in Protégé 2000 for the case study. In addition to the classes and slots in Table <ref type="table" target="#tab_0">1</ref>, instances of these classes were also determined. These instances are based on the information from a simplified diagram of the Birmingham International Airport (BHM) as shown in Figure <ref type="figure" target="#fig_0">1</ref>. For example, instances of the Runway class are 6, 24, 18, and 36. Instances of the Taxiway class are A, B, F, G, H, M, A1, A2, A3, A4, B1, G1, H2, and H4. The Ramp class consists of Cargo and Terminal.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.3">Competency Questions Revisited</head><p>The usefulness of the ontology in Table <ref type="table" target="#tab_0">1</ref> can be measured by how well the ontology assists in answering the previously specified competency questions from Section 3.2. Regarding the first question, the ontology provides the concepts of the domain through the classes. The interdependencies between the concepts can be derived from the constraints of the slots of the classes. For example, the HoldShort class is dependent on either the Runway or Taxiway classes, as this command is always followed by the location in which the pilot is to hold short. as the instances from BHM. Classes Runway and Taxiway consist of many instances, which could mean these classes have the variabilities property. Moreover, instances that represent airports other than BHM will also contain different values for these classes, which could also be interpreted as containing variabilities. The classes not containing instances, such as most of the commands (i.e., Turn, HoldShort, and Contact), could be interpreted as common concepts in all instances. These commands are common in the ATC domain and represent standard commands that are used in all airports. However, the specific airport elements (i.e., collection of instances of runways and taxiways) may change depending on the airport.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.4">Conceptual Class Diagram</head><p>The ontology process is similar to the process of object-oriented analysis <ref type="bibr" target="#b0">[1]</ref>. However, one distinction is that ontology design is mainly concerned with the structural properties of a class, whereas object-oriented analysis is primarily concerned with the operational properties of a class <ref type="bibr" target="#b12">[13]</ref>. The focus here is a methodology that can assist in determining the domain concepts for DSL development by reusing an approach from general software engineering.</p><p>Figure <ref type="figure">2</ref> presents a conceptual class diagram that was manually generated from the structural information of the classes in the ontology from Table <ref type="table" target="#tab_0">1</ref>. In this case, the development of the class diagram has been assisted by the information obtained from the ontology. In Figure <ref type="figure">2</ref>, similar classes are grouped together. For example, classes Gate, Ramp, Runway, and Taxiway represent physical structures in the airport. Such groupings identified the need for a generalized class for each group. A generalized class was included in the diagram for Runway and Taxiway, because from the slot properties of class HoldShort, two possible values can be used (i.e., Runway and Taxiway). In the diagram, this is represented by abstract class Way. The classes at the bottom of the diagram represent communication commands. These are associated with other classes through their respective slot properties. Generalizations such as Command and Way were not part of the original ontology and were only introduced during the development of the class diagram. These classes in turn can be used to update the ontology to further improve the structure of the ontology. This can be seen as part of the process of iteratively refining the ontology to better represent the domain.</p><p>From the class diagram in Figure <ref type="figure">2</ref>, an initial context-free grammar (CFG) for the DSL can be generated, as shown in Listing 2. This CFG was manually obtained from the conceptual class diagram to CFG transformation properties defined in <ref type="bibr" target="#b11">[12]</ref>. Relationships such as generalization and aggregation in the class diagram are transformed into specific types of production rules in the CFG. For example, a generalization where classes Runway and Taxiway are based on class Way is transformed into the production rule WAY ::= RUNWAY | TAXIWAY. An aggregation where class Gate is part of class Ramp is transformed into the production rule RAMP ::= GATES. In this case the non-terminal GATES is used, because the cardinality of this aggregation is zero or more gates on a ramp (i.e., 0..*). An additional production rule is generated to represent this cardinality (i.e., GATES ::= GATES GATE | ε). An example of a program written in this DSL is shown in Listing 4 and is based on the CFG of Listing 3. Even from this simple DSL for ground control, it can be seen that some simple verification of aircraft path control can be checked. The development of the DSL has been aided by the ontology that was initially produced, which in turn assisted in the generation of a class diagram. This provided a means to understand the domain in the early stages of DSL development, which provided input to the subsequent structure of the DSL, as seen in the grammar in Listing 2. An object diagram of the example program in Listing 4 is illustrated in Figure <ref type="figure" target="#fig_3">3</ref>. Airport-related structures such as gates, ramps, runways, and taxiways are represented by multiple objects that will differ among various airports. However, the types of commands issued by the ground control remain the same. The specific attributes of the command objects are based on the objects of the structures of a particular airport, e.g., taxiway A and M, and runway 18. As described in Section 3.3, evaluating the instances of the classes provides information regarding the elements of the domain that are common (or fixed) and those that are variable. </p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4">Ontologies in DSL Development</head><p>Section 3 summarized the development of a preliminary ontology using the standard development process as seen in literature using a well-known tool called Protégé 2000. The usefulness of the ontology was measured by answering several competency questions that were selected to match the goals of domain analysis. Domain concepts and their interdependencies were determined. In addition, commonalities and variabilities as they relate to the DSL can be determined by observing the instances of the classes in the ontology. It should be noted that the ontology and class diagram went through several iterations before reaching the state described in Section 3. However, further refinements may help to provide more satisfactory answers to the competency questions. The ontology was then used to manually generate a conceptual class diagram, which in turn produced an initial context-free grammar for the proposed DSL.</p><p>The case study has shown the potential usefulness of ontology in the development of a DSL specifically during the early stages of development. An ontology can provide a well-defined and structured process to determine the concepts of a domain and the commonalities and variabilities for a DSL, which can result in the generation of a class diagram and subsequently a CFG from the information. Two further observations highlight the benefits of an ontology-based approach. First, if an ontology is already available for a domain, then this existing ontology can be used to initiate the development of a DSL without the need to start from scratch. This was not the case for the air traffic communication domain described in Section 3, but ontologies for other domains could already exist and be utilized in the DSL development for those domains. Second, the entire process outlined in Section 3 could be used as an alternative to a more formal domain analysis technique such as FODA. In a separate direction, the ontology alone can be combined with formal domain analysis techniques (e.g., proposed by Mauw et al. in <ref type="bibr" target="#b9">[10]</ref>) and be used as a supplier of a well-defined input of domain concepts and relationships for further analysis.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="5">Related Work</head><p>De Almeida Falbo et al. describe the use of ontology in domain engineering that has the purpose of developing software artifacts for reuse <ref type="bibr" target="#b4">[5]</ref>. A more recent publication demonstrates the use of ontology in engineering design requirements capture <ref type="bibr" target="#b3">[4]</ref>. Both cases propose methodologies of utilizing ontology in terms of providing the knowledge about a specific domain, albeit more in a general case of engineering. However, the utilization of ontology in domain analysis in these works translates well to the similar effort in DSL development. Guizzardi et al. associate ontology with the development of Domain-Specific Visual Languages (DSVL) <ref type="bibr" target="#b6">[7]</ref>. The ontology is used to assist in developing a representative language for a specific domain that is correct and appropriate. Similarly, our initial investigation described in this paper utilizes ontology as part of the main goal of developing a representative language for a domain such as air traffic communication. However, in addition to this, the common and variable elements of the domain are also considered through the ontology in order to determine the structure of the domain-specific textual language (i.e., fixed and variable language constructs).</p><p>Gašević et al. describe efforts to associate the two technical spaces of Model-Driven Architecture (MDA) and ontology, which include the utilization of MDAbased UML in ontology development <ref type="bibr" target="#b5">[6]</ref>. We follow a similar approach where a connection is made between the ontology in Table <ref type="table" target="#tab_0">1</ref> and the UML class diagram in Figure <ref type="figure" target="#fig_0">1</ref>. However, in addition to this association, we perform manual transformations on the class diagram to obtain a context-free grammar for the DSL.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="6">Conclusion and Future Work</head><p>An initial investigation of the usefulness of ontology in domain analysis in DSL development was described in this paper. A case study demonstrated the insertion of ontology development in the DSL development process, where a class diagram was obtained from the ontology and subsequently a CFG was produced. The ontology assisted in answering questions related to the domain, such as the main concepts and their interdepencies, and the common and variable parts related to the DSL. The ontology also provided a structured input to the subsequent stages of DSL development. Continued exploration of ontology-driven domain analysis may provide further proof of effectiveness in the analysis of domains for DSL development.</p><p>The class diagram in Figure <ref type="figure">2</ref> that was generated from the ontology can also serve as the basis for creating a metamodel. Slight adaptations of this diagram could represent the metamodel for a tool like the Generic Modeling Environment (GME) <ref type="bibr" target="#b8">[9]</ref>, which provides a domain-specific modeling language that has a concrete syntax that resembles concepts from the domain. Thus, the results of the domain analysis and the observed ontology can inform technologies of both grammarware and modelware. This direction will be explored as future work. In addition, the transformations that were performed were done manually based on predefined transformation properties. A possibility for a more automated step is the transformation of the Web Ontology Language (OWL) representation into a Backus-Naur Form (BNF) representation for the DSL. Such a transformation may map similar elements and perform some alterations between the representations. This direction will also be considered in future work.</p></div><figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_0"><head>Listing 1 .</head><label>1</label><figDesc>Example of air traffic communicationATC:Make the right turn here at Juliette. Join Alpha. Hold short MikeAlpha.Pilot:Right on Juliette hold sh ... Taxi Alpha. Hold November [...] Can we taxi now? ATC: Make the right turn here at Juliette. Join Alpha. Hold short of MikeAlpha.</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_1"><head>Fig. 1 .</head><label>1</label><figDesc>Fig. 1. Simplified Diagram of Birmingham International Airport (BHM)Answering the second question related to commonalities and variabilities is less evident if observing only the ontology's structure of classes and slots. Information regarding the variabilities can be extracted by including the instances of classes, such</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_2"><head>1 Fig. 2 . 2 . 3 . 3 .</head><label>12233</label><figDesc>Fig. 2. Conceptual class diagram obtained from the ontology Listing 2. Transformation of conceptual class diagram to context-free grammar AIRPORT ::= WAYS RAMPS ATC WAYS ::= WAYS WAY | WAY WAY ::= RUNWAY | TAXIWAY RUNWAY ::= number DIRECTION TAXIWAY ::= name RAMPS ::= RAMPS RAMP | RAMP RAMP ::= name GATES GATES ::= GATES GATE | ε GATE ::= letter number ATC ::= GROUNDCONTROL | TOWER GROUNDCONTROL ::= COMMANDS COMMANDS ::= COMMANDS COMMAND | COMMAND COMMAND ::= CONTACT | FOLLOW | HOLDSHORT | TURN CONTACT ::= ATC FOLLOW ::= AIRCRAFT HOLDSHORT ::= WAY TURN ::= DIRECTION TAXIWAY DIRECTION ::= LEFT | RIGHT | ε AIRCRAFT ::= airlineID flightNumber</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_3"><head>Fig. 3 .</head><label>3</label><figDesc>Fig. 3. Object diagram from example program</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" type="table" xml:id="tab_0"><head>Table 1 .</head><label>1</label><figDesc>Listing of classes and associated slots</figDesc><table><row><cell>Class</cell><cell>Description</cell><cell></cell><cell>Slots</cell><cell></cell></row><row><cell></cell><cell></cell><cell>Name</cell><cell>Description</cell><cell>Values</cell></row><row><cell>Aircraft</cell><cell>Arriving or departing</cell><cell>Airline ID</cell><cell>Name of the airline</cell><cell>Two letters</cell></row><row><cell></cell><cell>aircraft</cell><cell cols="2">Flight Number Flight Identification</cell><cell>Integer</cell></row><row><cell></cell><cell></cell><cell>Runway Orientation</cell><cell>runways To distinguish parallel</cell><cell>Class Left or Right</cell></row><row><cell>Taxiway</cell><cell>Paths connecting</cell><cell></cell><cell></cell><cell></cell></row><row><cell></cell><cell>runways to ramps</cell><cell></cell><cell></cell><cell></cell></row><row><cell></cell><cell></cell><cell>Ramp Name</cell><cell>Ramp Identification</cell><cell>String</cell></row><row><cell>Gate</cell><cell>Passenger embarkation</cell><cell cols="2">Gate Letter Gate Identification</cell><cell>One letter</cell></row><row><cell></cell><cell>and disembarkation</cell><cell cols="2">Gate Number Gate Identification</cell><cell>Integer</cell></row><row><cell>Turn</cell><cell>Command to turn</cell><cell>Direction</cell><cell>Turning direction</cell><cell>Class Left or Right</cell></row><row><cell></cell><cell></cell><cell>Taxiway</cell><cell cols="2">Taxiway Identification Class Taxiway</cell></row><row><cell>HoldShort</cell><cell>Command to hold short</cell><cell>Runway</cell><cell cols="2">Runway Identification Class Runway</cell></row><row><cell></cell><cell>of a runway or taxiway</cell><cell>Taxiway</cell><cell cols="2">Taxiway Identification Class Taxiway</cell></row><row><cell>Contact</cell><cell>Command to contact a</cell><cell></cell><cell></cell><cell></cell></row><row><cell></cell><cell>separate controller</cell><cell></cell><cell></cell><cell>GroundControl</cell></row><row><cell>Follow</cell><cell>Command to follow</cell><cell></cell><cell></cell><cell></cell></row><row><cell></cell><cell>behind another aircraft</cell><cell></cell><cell></cell><cell></cell></row></table><note>GroundControl Controller in charge of airport ground traffic Tower Controller in charge of take-offs and landings Runway Available take-off and landing locations Runway Number Runway Identification 1 -36 (i.e., runway heading 10° -360°) Taxiway Name Taxiway Identification One or two letters (digits) Ramp Aircraft parking area ATC Controller to contact Class Tower or Aircraft Aircraft Identification Class Aircraft</note></figure>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="1" xml:id="foot_0">Ontolingua Ontology Library, http://www-ksl.stanford.edu/knowledge-sharing/ontologies/html</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="2" xml:id="foot_1">DAML Ontology Library, http://www.daml.org/ontologies</note>
		</body>
		<back>

			<div type="acknowledgement">
<div xmlns="http://www.tei-c.org/ns/1.0"><p>Acknowledgments. This project is supported in part by NSF grant CPA-0702764.</p></div>
			</div>

			<div type="references">

				<listBibl>

<biblStruct xml:id="b0">
	<analytic>
		<title level="a" type="main">Object-Oriented Development</title>
		<author>
			<persName><forename type="first">G</forename><surname>Booch</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">IEEE Transactions on Software Engineering</title>
		<imprint>
			<biblScope unit="volume">12</biblScope>
			<biblScope unit="page" from="211" to="221" />
			<date type="published" when="1986">1986</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b1">
	<analytic>
		<title level="a" type="main">What Are Ontologies, and Why Do We Need Them</title>
		<author>
			<persName><forename type="first">B</forename><surname>Chandrasekaran</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Josephson</surname></persName>
		</author>
		<author>
			<persName><forename type="first">V</forename><surname>Benjamins</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">IEEE Intelligent Systems</title>
		<imprint>
			<biblScope unit="volume">14</biblScope>
			<biblScope unit="page" from="20" to="26" />
			<date type="published" when="1999">1999</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b2">
	<monogr>
		<author>
			<persName><forename type="first">K</forename><surname>Czarnecki</surname></persName>
		</author>
		<author>
			<persName><forename type="first">U</forename><surname>Eisenecker</surname></persName>
		</author>
		<title level="m">Generative Programming: Methods, Tools, and Applications</title>
				<meeting><address><addrLine>Boston</addrLine></address></meeting>
		<imprint>
			<publisher>Addison-Wesley</publisher>
			<date type="published" when="2000">2000</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b3">
	<analytic>
		<title level="a" type="main">Investigating Ontology Development for Engineering Design Support</title>
		<author>
			<persName><forename type="first">M</forename><surname>Darlington</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Culley</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Advanced Engineering Informatics</title>
		<imprint>
			<biblScope unit="volume">22</biblScope>
			<biblScope unit="page" from="112" to="134" />
			<date type="published" when="2008">2008</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b4">
	<analytic>
		<title level="a" type="main">An Ontological Approach to Domain Engineering</title>
		<author>
			<persName><forename type="first">De</forename><surname>Almeida Falbo</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><surname>Guizzardi</surname></persName>
		</author>
		<author>
			<persName><forename type="first">G</forename><surname>Duarte</surname></persName>
		</author>
		<author>
			<persName><forename type="first">K</forename></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">International Conference on Software Engineering and Knowledge Engineering (SEKE)</title>
				<meeting><address><addrLine>Ischia, Italy</addrLine></address></meeting>
		<imprint>
			<date type="published" when="2002">2002</date>
			<biblScope unit="page" from="351" to="358" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b5">
	<monogr>
		<title level="m" type="main">Model Driven Architecture and Ontology Development</title>
		<author>
			<persName><forename type="first">D</forename><surname>Gašević</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><surname>Djurić</surname></persName>
		</author>
		<author>
			<persName><forename type="first">V</forename><surname>Devedžić</surname></persName>
		</author>
		<imprint>
			<date type="published" when="2006">2006</date>
			<publisher>Springer</publisher>
			<pubPlace>Berlin</pubPlace>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b6">
	<analytic>
		<title level="a" type="main">Ontology-Based Evaluation and Design of Domain-Specific Visual Modeling Languages</title>
		<author>
			<persName><forename type="first">G</forename><surname>Guizzardi</surname></persName>
		</author>
		<author>
			<persName><forename type="first">L</forename><surname>Ferreira Pires</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Van Sinderen</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">International Conference on Information Systems Development</title>
				<meeting><address><addrLine>Karlstad, Sweden</addrLine></address></meeting>
		<imprint>
			<date type="published" when="2005">2005</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b7">
	<monogr>
		<title level="m" type="main">Feature-Oriented Domain Analysis (FODA) Feasibility Study</title>
		<author>
			<persName><forename type="first">K</forename><surname>Kang</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Cohen</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Hess</surname></persName>
		</author>
		<author>
			<persName><forename type="first">W</forename><surname>Novak</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Peterson</surname></persName>
		</author>
		<idno>CMU/SEI-90-TR-21</idno>
		<imprint>
			<date type="published" when="1990">1990</date>
		</imprint>
		<respStmt>
			<orgName>Software Engineering Institute, Carnegie Mellon University</orgName>
		</respStmt>
	</monogr>
	<note type="report_type">Technical Report</note>
</biblStruct>

<biblStruct xml:id="b8">
	<analytic>
		<title level="a" type="main">Composing Domain-Specific Design Environments</title>
		<author>
			<persName><forename type="first">Á</forename><surname>Lédeczi</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Á</forename><surname>Bakay</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Maróti</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><surname>Völgyesi</surname></persName>
		</author>
		<author>
			<persName><forename type="first">G</forename><surname>Nordstrom</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Sprinkle</surname></persName>
		</author>
		<author>
			<persName><forename type="first">G</forename><surname>Karsai</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">IEEE Computer</title>
		<imprint>
			<biblScope unit="volume">34</biblScope>
			<biblScope unit="page" from="44" to="51" />
			<date type="published" when="2001">2001</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b9">
	<analytic>
		<title level="a" type="main">Language-Driven System Design</title>
		<author>
			<persName><forename type="first">S</forename><surname>Mauw</surname></persName>
		</author>
		<author>
			<persName><forename type="first">W</forename><surname>Wiersma</surname></persName>
		</author>
		<author>
			<persName><forename type="first">T</forename><surname>Willemse</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">International Journal of Software Engineering and Knowledge Engineering</title>
		<imprint>
			<biblScope unit="volume">14</biblScope>
			<biblScope unit="page" from="625" to="664" />
			<date type="published" when="2004">2004</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b10">
	<analytic>
		<title level="a" type="main">When and How to Develop Domain-Specific Languages</title>
		<author>
			<persName><forename type="first">M</forename><surname>Mernik</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Heering</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Sloane</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">ACM Computing Surveys</title>
		<imprint>
			<biblScope unit="volume">37</biblScope>
			<biblScope unit="page" from="316" to="344" />
			<date type="published" when="2005">2005</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b11">
	<analytic>
		<title level="a" type="main">Grammar-Based Systems: Definition and Examples</title>
		<author>
			<persName><forename type="first">M</forename><surname>Mernik</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Črepinšek</surname></persName>
		</author>
		<author>
			<persName><forename type="first">T</forename><surname>Kosar</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><surname>Rebernak</surname></persName>
		</author>
		<author>
			<persName><forename type="first">V</forename><surname>Žumer</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Informatica</title>
		<imprint>
			<biblScope unit="volume">28</biblScope>
			<biblScope unit="page" from="245" to="255" />
			<date type="published" when="2004">2004</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b12">
	<monogr>
		<author>
			<persName><forename type="first">N</forename><surname>Noy</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><surname>Mcguinness</surname></persName>
		</author>
		<ptr target="http://www-ksl.stanford.edu/people/dlm/papers/ontology-tutorial-noy-mcguinness.pdf" />
		<title level="m">Ontology Development 101: A Guide to Creating Your First Ontology</title>
				<imprint/>
	</monogr>
</biblStruct>

<biblStruct xml:id="b13">
	<monogr>
		<title level="m" type="main">Software Product Line Engineering</title>
		<author>
			<persName><forename type="first">D</forename><surname>Weiss</surname></persName>
		</author>
		<author>
			<persName><forename type="first">C</forename><surname>Lay</surname></persName>
		</author>
		<imprint>
			<date type="published" when="1999">1999</date>
			<publisher>Addison-Wesley</publisher>
			<pubPlace>Boston</pubPlace>
		</imprint>
	</monogr>
</biblStruct>

				</listBibl>
			</div>
		</back>
	</text>
</TEI>
