A Method-Description Language:

Size: px
Start display at page:

Download "A Method-Description Language:"

Transcription

1 A Method-Description Language: An initial ontology with examples John H. Gennari, William Grosso, and Mark Musen {gennari, grosso, Stanford Medical Informatics, Stanford University 251 Campus Dr., Stanford, CA Abstract To make cost-effective use of a library of reusable problem-solving methods, developers must be able to quickly find and understand these methods, so that they can match their problem and knowledge base to a method in the reuse library. This match includes both finding the method and connecting to that executable software module via a set of mappings or mediators. To enable this match, builders of a reuse library must describe each method with a method-description language. We discuss a number of general desiderata for such a language. Our work focuses on one feature of the language: a precise specification of the input requirements of the method. This specification allows developers to correctly match their knowledge base to a pre-existing problem-solving method by formalizing the requirements of methods in the library. We propose an ontology for a method-description language, and present example specifications for two well-known problem-solving methods: propose-and-revise and cover-and-differentiate. 1. A Reuse Library of Problem-Solving Methods For over a decade, researchers in knowledge-based systems have tried to organize, catalogue, index, and collect problem-solving methods into a library that other developers could use (Chandrasekaran, 1986; McDermott, 1988). The expected benefits of such a reuse library would be less development time for knowledge-base engineers and fewer maintenance problems. Consider the following ideal use scenario: Judy K. Eng has a legacy knowledge base (perhaps a database) of information about some domain. Domain experts have given her a problem to solve, and she realizes that other knowledge-base developers have tackled similar problems (e.g., in diagnosis, or planning, or configuration). Therefore, she goes to the reuse library, searches for, and 1

2 Figure 1. A view of the reuse problem. Judy K. Eng selects a particular method from the library and then needs to build a mapping from her knowledge base to the requirements of that method. retrieves an appropriate problem-solving method. After reviewing the requirements of this method, she must do some additional knowledge acquisition to augment her existing knowledge base about the domain. After this step, she is able to use her augmented knowledge base with the retrieved method from the reuse library to solve her problem. Not only does she save effort in development time, but the retrieved method has been well-tested and debugged by others, and its strengths and limitations are already known. Unfortunately, building a library of methods that supports successful, cost-effective reuse has proved difficult. If we review the scenario with Judy Eng, we can see that she faces two tasks before she can reuse a problem-solving method: (1) she must find an appropriate method from the library, and (2) she must map her knowledge base to the requirements of the method. These are distinct tasks; for example, Benjamins (1995) describes the task of finding an appropriate diagnosis method, with little discussion of the mapping task, while Gennari et al. (1994) discuss mapping relationships without addressing how to index the library of methods for retrieval. We argue that objects in the reuse library be both indexed for retrieval and annotated with mapping information. In this paper, we propose a method-description language that focuses on the annotations that support the task of mapping new knowledge bases to problem-solving methods. Our language is similar in spirit to other formal problem-solving method specification languages (Fensel et al, 1996; Fensel & Groenboom, 1997; Penix & Alexander, 1997), although more modest in scope. Our language includes both informal natural language descriptions and formal axioms. The former can assist the developer to better understand the problem-solving method, while the latter is necessary as input for an engine that might prove or verify that the knowledge base has the properties required by the problem-solving method. We assume both that a reuse library of methods exists, and that the developer has already selected an appropriate problem-solving method for the task at hand. Figure 1 presents our problem 2

3 statement: Given a knowledge base, some domain-specific problem to be solved, and a selected method from a reuse library, we wish to provide information that helps the developer to construct and to verify as correct the mapping from the knowledge base to the problem-solving method. We assume that both methods and knowledge bases include ontologies (shown as trees in the figure). The knowledge base includes an ontology that describes the data, whereas the problemsolving method includes an ontology that describes the requirements of the method. The operational definition of an ontology depends on one s knowledge model. Throughout this paper, we assume the use of a simple, frame-based knowledge representational model; in particular, the knowledge model specified by the Protégé environment and embodied in the Protégé/Win toolset (Eriksson, et al., 1995; Fergerson, Gennari & Grosso, 1997). As we show, with this view of the world, the method ontology is just one part of the method-description language specification for a particular method. In Section 2, we describe general aspects of methoddescription languages, as well as the more specific features of our current language. Section 3 describes this language with examples from two well-known problem-solving methods: proposeand-revise (Marcus, Stout, & McDermott, 1988) and cover-and-differentiate (Eshelman, 1988). 2. A Method-Description Language Our motivation for the development of a method-description language arises from the problems that occur without such a language. As an extreme case, consider the software reuse of CORBA objects (Gennari, Stein & Musen, 1996). Every CORBA method includes an Interface Definition Language (or IDL) specification of the syntactic footprint of that method: the type and structure of the inputs and outputs of the method. Therefore, an IDL specification can be viewed as a simple form of a method-description language. Although this specification is necessary for a good method-description language, we argue that it is not sufficient. For example, suppose that a developer selects the method cover-and-differentiate from a CORBA-compliant library of objects, and found, according to the IDL specification, that this method s inputs were a list of symptoms and a causal_net, and its outputs were a set of diagnoses. Without further documentation, this specification says neither what the method does, nor what the meaning of these inputs are. In particular, at an implementation level, the causal_net is simply a graph of nodes linked together; the information that the leaves of this graph correspond to symptoms and that the roots correspond to diagnoses is conspicuously missing, and cannot be expressed in IDL. What is worse, this method actually has additional input requirements that are hidden from the IDL specification: The subtask of differentiating between two possible diagnoses usually requires interactively querying the user for additional information before proceeding. Finally, the IDL specification provides no information about the semantics of the method it says nothing about what the method does with the inputs. For example, we should be able to state that cover-and-differentiate returns those diagnoses that best cover all of the symptoms reported in the input. 3

4 This example suggests some of the requirements of a method-description language, especially for the task of mapping a knowledge base to an appropriately selected problem-solving method. In this paper we focus on aspects of the language that support this mapping tasks. Although there have been many efforts to define a method-description language, most focus on the task of finding and retrieving methods from a library, rather than that of mapping knowledge bases to a selected method. In Section 2.1, we briefly review some of this research, as well as providing a set of dimensions for elements of a method-description language; in Section 2.2, we return to the more specific requirements implied by the mapping task Four Dimensions for a Language We can define four dimensions along which to categorize elements of a method-description language: Formality of the language: Information can be expressed with formal axiomatic expressions, with semi-formal constructs that allow for some natural language, or with informal free-text. How versus What: A language can describe what the problem-solving method accomplishes without addressing issues of control flow, or it can explicitly describe control flow, specifying how knowledge is used in the course of problem solving. Goals of the language: Do we expect developers to use this information to find and select a method from the library, or to apply a selected problem-solving method to a particular knowledge base (i.e., the mapping task)? Knowledge-level versus symbol-level descriptions: Abstract, knowledge-level descriptions of the problem-solving method are more likely to be sharable; however, if a method-description language is closely connected to the symbol-level implementation, it could provide more direct assistance for adapting the method for reuse. Certainly, these are not absolute, partitioning dimensions: Information may be used for both finding and using a method; information can describe both what a method does and how it operates; etc. Nonetheless, it is useful to know how these dimensions are addressed by a methoddescription language. We characterize our own approach as follows: Formality of the language: Except where our ideas are too formative, we prefer to be as precise and formal as possible. This will allow us to formally verify that the requirements of a method are (or are not) met by a mapping to a knowledge base. How vs. What: Currently, we focus on a what the method does, and leave control-flow issues to informal documentation. Ultimately, it will be important to formally characterize both aspects of a method, but for our initial focus on the mapping task, the internal workings of a method can be viewed as a black box. Goals of the language: As mentioned earlier, this paper focuses on a method-description language as it would be used by a developer to map the method to a knowledge base. 4

5 Knowledge level vs. symbol level: Our approach is to connect the method-description language to the symbol level, with the aim of forcing developers to generalize and think about their requirements at a higher level. We believe that this set of biases is different than that of others who are investigating ways of describing problem-solving methods. For example, the large classifications of problem-solving methods supplied by European researchers (Puppe, 1993; Breuker & Van develde, 1994) are designed with the goal of supporting users who are searching for a method, rather than supporting users who are mapping knowledge bases to a selected method. The EXPECT project (Gil & Melz, 1996) focuses on how rather than what: providing a language for specifying control-flow and an understanding of how sub-methods interact. Efforts at describing the capabilities and assumptions of the propose-and-revise method (Fensel, 1995a; Zdhahal & Motta, 1995) are more informal than formal, and are certainly at the knowledge level rather than at the symbol level. Although (ML) 2 is a formal language for specifying methods (van Harmelen & Balder, 1992), it is not clear how to make operational its knowledge-level statements. However, this language does include lift operations that map information from the domain to the method, and these capture our notion of the mapping task from knowledge bases to methods. Recent work by Fensel and Groenboom (1997) is closest to our set of biases. In this work, they describe a framework of problem-solving methods, domain models (knowledge base) and the adapters (mappings) that connect methods to domains. This work shares our goal of providing a means to formally validate (a proof obligation ) that the requirements of the problem-solving method can be matched by a particular adapter and domain model. However, their formalization of these elements focuses on a specification of how the method operates, building on earlier work known as KARL (Fensel, 1995b) and (ML) 2 (vanharmelen & Balder, 1992). In contrast, we believe that initial work at formalizing problem-solving methods should focus on the smaller task of formally defining what the method does. We expect that this focus will allow our language to be smaller and (perhaps) less expressive, but more tractable and perspicuous that these broader research efforts at formalizing methods. Penix and Alexander (1997) describe an architecture formalism for the automatic adaptation and selection of components. This works builds on research from software engineering as well as the SpecWare (Srinivas & Jullig, 1994) approach to component-based problem solving. Although their specification language is similar to our ideas, they do not include explicit mapping components, and instead aim at automatically adapting and configuring components to match the needs of a specific task. This emphasis on automation contrasts with our bias for a more interactive system, where the developer works with a library of methods and our system simply supports the activity of method-to-domain mapping Our Requirements for a Method-Description Language The task of mapping knowledge bases to methods is often overlooked. As we argue elsewhere 5

6 (Gennari, et al., 1994; Park, Gennari & Musen, 1998), the construction of these mappings (or mediators) between problem-solving methods and knowledge bases is an essential and potentially expensive step in the process of applying a method from a reuse library. Thus, if the method library includes support for this process in its method-description language, this feature can make the difference between cost-effective reuse, and reuse that is more expensive than building from scratch. This is our motivation for looking primarily at the mapping task, rather than at the method-selection task. Ultimately, we wish to provide support for automatic construction of these mappings. Short of this goal, we should provide for automatic verification that a mapping preserves the semantics in the knowledge when translating to the needs of the problem-solving method. To achieve either of these goals, we must use formal specifications that describe the inputs and outputs of a method; thus, our preference is for formality in a method-description language. However, because we are interested in automatic verification, our formalism must be simple and tractable, rather than fully expressive. The Protégé project has always been biased toward grounding any knowledge-level descriptions to an executable, symbol-level implementation. Recently, our interest has been further heightened by the potential interaction between the CORBA standard (Orfali, et al., 1996) and the development of a method reuse library (Gennari, Cheng, Altman, & Musen, 1997). Our interest in the mapping task also implies an interest in the symbol level: Although selecting methods from a library can be done with knowledge-level descriptions, the mapping task necessarily involves a symbol-level specification of inputs and outputs. Thus, our biases lead us to develop a method-description language with the following attributes: A formal specification of input and output ontologies. These ontologies, like an IDL specification, provide a symbol-level footprint of the data structures and data type requirements of the method. A specification of constraints on inputs and outputs. As in the example given at the beginning of Section 2, we must be able to specify formal semantic information about the inputs and outputs. Some of these semantics are requirements of the inputs; these can be expressed with constraints. A specification of run-time query models and functional requirements. Again, as in the example, some methods require the ability to interactively query the knowledge base at runtime. A specification of the constraints between the inputs and outputs. This specifies how the method transforms data, assuming it runs correctly. This defines the competency of the problem-solving method (Akkermans, et al., 1994; Fensel & Groenboom, 1997). These constraints will be needed by any system that performs verification that the semantics of the method are correct (e.g. Fensel, et al., 1996). 6

7 Table 1. The slots of the problem-solving method class. Slot Name Author Description Description The name of the problem-solving method (PSM) The point-of-contact for the author of the PSM A textual description of the PSM at the knowledge level. In general, this could include any information not covered by the other slots: currently we use it for information about the sources of the PSM, and about the control flow among subtasks of the PSM. We also use this slot to replicate (in natural language) some of the most important constraints specified more formally elsewhere. Inputs An ontology frame (see Table 2) Outputs An ontology frame (see Table 2) Subtasks A list of subtask frames (see Table 3) Competence Constraints across the inputs and outputs that state what the method can accomplish. As we show in Section 3, our method-description language does include some other features, mostly to allow for informal statements about other aspects of the method (such as control flow). However, these four elements are the ones we have made formal, and these are the elements that we expect to use when assisting developers with the task of mapping a knowledge base to a problem-solving method. Although our biases may have narrowed the scope of our methoddescription language, we believe that they have kept us focused on this particular task. 3. An Ontology for the Method-Description Language In this section, we present our initial definition of a method-description language, especially as motivated by the mapping task of a developer. We will present this language with examples from two problem-solving methods: propose-and-revise (Eshelman, 1988) and cover-anddifferentiate (Marcus, Stout & McDermott, 1988). To illustrate these examples, we will show output from our Protégé/Win toolset (Eriksson et al., 1995; Fergerson, Gennari & Grosso, 1997). At this point, our ontology for the method-description language is modest. We have three main classes of information: a class for listing information about the method as a whole, a class for ontological information, and a class for subtask information. For each of these, we provide a table listing and describing the slots of the class, and then an example use of the class in Protégé/Win with propose-and-revise. We also show our method ontologies for both propose-andrevise and cover-and-differentiate, and we briefly describe our formal language for specifying constraints The Problem-solving Method Class Table 1 lists the slots of the root class in our method-description language; the method class. This class includes slots for the inputs, outputs, and subtasks of the problem-solving method. The slot 7

8 Figure 2. The PSM class filled with a specification for propose-and-revise, as seen in the Protégé/Win knowledge-acquisition tool. Competence is a list of constraints across inputs and outputs; these are the constraints that are guaranteed to be true if the method executes successfully (Akkermans, et al., 1994; Fensel et al., 1996). For example, if propose-and-revise completes successfully, then all the constraints are satisfied, and all the parameters have values assigned to them (see Figure 2). This slot could be used to allow developers to verify that the method does what they want it to do; unlike an IDL specification, it communicates some notion of method semantics. This slot is not for specifying requirements among the inputs (or outputs): these constraints are specified in the ontology frame that fills the Inputs (or Outputs ) slot of the PSM class (see Section 3.2). This class could be augmented with other slots that would be used for method selection. For example, developers would presumably need to have information about the control flow among subtasks of the method. In the long run, this information could be formalized as a set of operational specifications (Fensel & Groenboom, 1997), but for our needs, the subtask slot for this class serves more as documentation, allowing developers to understand the decomposition of the problem-solving method. We might also expect information about the author of the method, and 8

9 Table 2. The slots of the ontology class. Slot Ontology information Constraints Key classes Functions APIs Description A class hierarchy, following the Protégé knowledge model (Grosso, et al., 1998). All elements of the knowledge must be instances of these classes. A list of constraints about classes in the ontology (or about instances in the knowledge base). Simple constraints are facets on the classes in the ontology; the constraints listed in this slot are more complex and are stated using a KIF-like axiom language. A set of classes of particular importance. This is more of a nominal distinction, intended to aid the developer in constructing mediators. Set of instances of a function class. Primitive function (e.g. fix in P-&-R) should be defined by a set of frames that ultimately bottom out in an IOR where the function can be called. This information is also in the method ontology, but sufficiently important to be duplicated here. The foundation method ontology includes a standard class for function with slots for IDL interfaces, etcetera, so that CORBA object can be used. A description of an APIs that will be used (or must be supplied). This allows methods (and sub-methods) to query for knowledge at run-time. An example API might be Standard GFP Queries. Note that the API could describe two directions of data flow. perhaps a history of successful uses of the method. However, these are informal specifications; as described in Section 2, our focus is on the formal constraints of method inputs and outputs. Figure 2 shows an example of the PSM class as filled in for the propose-and-revise problem-solving method. In the Protégé/Win architecture, each class in the ontology is associated with a form in the knowledge-acquisition tool, and each slot of that class is mapped to a field or graphical widget for acquiring values to fill that slot. For example, the Description slot in the ontology is linked to a text box in the KA-tool; in Figure 2, this box is filled with an informal description of a possible control flow among sub-methods. The slot Inputs is associated with a different widget that allows the user to edit the value of this slot in a second, subsidiary form (see Figure 3). The figures with the Protégé toolset show our specification of the propose-and-revise problemsolving method. This is not the only possible specification for the method, but it corresponds to our implementation. For example, Figure 2 shows a breakdown of the method into four subtasks; other divisions are possible, but this matches our implementation. As we proceed through the description of our language, we show more and more details of our implementation and of the specification of this method in our method-description language The Ontology Class Table 2 lists the slots of the ontology class. This class specifies information about the inputs or outputs of a problem-solving method. As we describe elsewhere, our view of knowledge-based systems is constrained by the Protégé knowledge model (Grosso, et al., 1998). In this model, we make a strong distinction between classes and instances: The inputs to a problem-solving method are a set of instances whose defining classes reside in a method ontology. This ontology is refer- 9

10 Figure 3. The ontology frame with the input constraints for propose-and-revise, as seen in the Protégé/Win knowledge-acquisition tool. enced in the first slot of the Ontology Frame (in Figure 3, it is P-&-R_Base.pont ); in Section 3.4, we discuss further method ontologies and show examples in the Protégé/Win toolset. Method ontologies include information about classes, and slots of those classes, including type restrictions, and other constraints that can be expressed by a set of facets on slots. However, there are a limited number of facets available in the Protégé knowledge model, and in general, we need to be able to state arbitrary constraints about objects in the input ontology. This is the purpose of the Constraints slot of the ontology class: a list of arbitrary constraints about the objects defined in the method ontology. Figure 3 shows a number of these constraints for the input of propose-and-revise: for example, that every fix must be associated with some constraint. In Section 3.5 we show our formalization of this constraint. The Key classes slot is a list of those classes in the method ontology that are, in some ways, most important for the developer to map to her knowledge base. It is our hypothesis that, for large method ontologies, it will be useful to know which classes in that ontology are the primary ones, in contrast to those classes that are derived from or subsidiary to these Key classes. In a similar fashion, we hypothesize that it will be important for the developer to know the list of functions required by a problem-solving method. This information could actually be derived from the method ontology (by searching for all slots that take a value of type function ), but we 10

11 Table 3. The slots of the subtask class. Slot Description Required Default Inputs Outputs Competence Description A textual description of the subtask. This will help developers understand the subtask and match particular implementations to it. A Boolean: Can the PSM make do without this subtask being filled? A Boolean: Does the PSM have a default implementation of the subtask internally? An ontology frame that specifies the inputs required by the subtask. An ontology frame that specifies the outputs of the subtask. Constraints across the inputs and outputs (similar to competence for methods) believe that these functional requirements of the method are sufficiently important to warrant duplication of the information in the slot Functions. Figure 3 lists the functions and key classes for our specification of the propose-and-revise problem-solving method. The APIs slot contains information about ways in which the problem-solving method makes run-time queries for additional information. For a non-interactive method such as propose-andrevise, this slot is empty. However, for any method that does monitoring of data, this slot describes the types of queries the method will make. Developers that are mapping such a method onto a new knowledge base need to be aware of this requirement, and they need to be able to respond to the sorts of queries made by the method. As mentioned in the scenario at the beginning of Section 2, the cover-and-differentiate method includes an API for differentiating knowledge: asking for additional observations that distinguish among competing hypotheses. This API is specified as a required input for the subtask of differentiate The Subtask Class A subtask is a component of the problem-solving method that can be treated as a separate black box that provides some functionality to the method. Subtasks are often components that can be replaced or modified to create a variant on the original problem-solving method. As we mentioned in Section 2, subtask configuration is the focus of research by Penix and Alexander (1997). In our ontology, this class simply allows for method decomposition. Table 3 lists the slots in our specification of a subtask. Some subtasks, as indicated by the Required slot, are optional they provide additional functionality, but are not an essential part of the method. A problem-solving method may include a default implementation of a subtask; in this case, the developer can rely on this default implementation, rather than building or finding externally a method to fulfill the functionality of that subtask. Subtasks do not themselves have subtasks; however, they are designed to be filled by other problem-solving methods, which can have additional subtasks. For example, there is a revise subtask in the propose-and-revise method that takes a set of violated constraints as input, and 11

12 chooses some set of fixes to apply, and applies these to modify parameter values. There are different ways of fulfilling this subtask, and we have specified one approach in a method called Revise-1 and this problem-solving method has lower-level subtasks choose constraint and apply fix. Subtasks advertise their own inputs and outputs, using the same ontology frame defined in Section 3.2. Hopefully, these requirements are subsets of the requirements of the parent problemsolving method. Unfortunately, we cannot always guarantee this property; we would like to allow developers the freedom to fill a subtask with a method that may make some extra input demands beyond that of the parent problem-solving method. For example, different versions of the differentiate subtask of cover-and-differentiate may have different sorts of APIs for querying for additional knowledge. An important issue that remains unresolved in our current draft of the method-description language is the ability to relate different ontologies to each other. This problem appears not only for relating subtask ontologies to parent method ontologies, but also for connecting the input and output ontologies for either subtasks or methods. For example, propose-and-revise returns as output only a set of parameters and parameter values the output ontology does not care about constraints or fixes. However, the parameter class in the output ontology certainly needs to be the same as that specified in the input ontology Method Ontologies An essential part of our method-description language is a method ontology, which includes definitions of all the objects required by the problem-solving method. For example, if a method specifies that it requires Fixes as inputs, it must provide a clear definition of what is meant by Fix. With a frame-based knowledge model, such a definition includes attributes (slots) such as fix-name and associated-constraint, and these slots have facets that specify type constraints, such as string or Boolean. Ideally, we would like developers of problem-solving methods to share a framework for defining inputs and outputs. For example, many methods share the idea of parameters with associated parameter values. At an even more fundamental level, many methods assume a shared understanding of basic data structures and data types, such as sets, lists, and ordered types. To capture this shared knowledge, we have begun to develop an foundation ontology for developers of problem-solving methods. Our hope is that the specification of any particular method ontology could include this foundation ontology, and make reference to the objects and definitions supplied therein. Figure 4 shows the class hierarchy (omitting slot information for brevity) of our foundation ontology. We used this ontology as the basis for our construction of method ontologies for both propose-and-revise and cover-and-differentiate. One purpose of the foundation ontology is to encourage developers to specify method requirements with a normal form. If developers share meanings for standard data objects, then it will 12

13 be easier for others that are building mappings to be confident that their mappings are correct. For example, the propose-and-revise problem-solving method could ask that the set of fixes be ordered by an integer-valued preference slot. If a developer s knowledge base contains information that is similar to, but not identical to preference, she can use a canonical transformation that maps her knowledge base to the data type requirements of the method. Some of these transformations could be pre-enumerated and available as shared objects in the foundation ontology. Figure 4. The Foundation ontology, to be shared by problem-solving method developers. Problem-solving methods often ask for information that must be evaluated at run time. For example, a minimum specification for a constraint in proposeand-revise is something that can be evaluated at runtime to true or false. Thus, what the method requires is a function that returns a Boolean value. This function cannot be defined by the method; it is domain specific. Therefore, our foundation ontology defines classes of objects that are functions, but instances of those functions are expected from the knowledge base. These functions can be executable remote objects in the CORBA sense, and our methoddescription language includes slots for specifying aspects of a CORBA component, such as the IDL specification. For functions, the CORBA standard provides exactly the right level of information: a method simply publishes its IDL requirements for a function, and the knowledge base is free to implement this function call in arbitrary, domain-specific ways. As we mentioned in Section 3.2, these functions are often critical for the developer to map to her knowledge base, and thus, they appear both in the method ontology and in the ontology class in our method-description language. Figure 3 shows the functions listed for propose-and-revise. Figure 5 shows our method ontologies for both cover-and-differentiate (at the top) and for propose-and-revise (at the bottom). Both ontologies include the foundation ontology; in the Protégé/Win tool, classes from included ontologies are shown in gray. The number of methodspecific classes is fairly small: constraints and fixes for propose-and-revise, and causal events and preferences for cover-and-differentiate. The right-hand pane of these tools shows the slots or 13

14 Figure 5. Two example method ontologies; the upper ontology is for cover-and-differentiate; the lower, for propose-and-revise. Both ontologies inherit from the Foundation ontology. attributes of the selected class. Thus, in the propose-and-revise ontology, the class Constraint has slots for the Boolean constraint function, the name, a description and a second Boolean function that answers the question: is this constraint applicable? 14

15 3.5. The Axiom Language Figure 6. An AxiomFrame showing the formal specification of the constraint that every fix has exactly one constraint (for propose-and-revise). The lowest level of detail in our method-description language is the choice of a formal language for expressing the axioms that represent the requirements of the method. Since we need this language to express constraints, we need a formalism that is more expressive than the frame-based knowledge model that is used by Protégé/Win (Grosso, et al., 1998). We base our language on KIF, a familiar standard in the knowledge-bases systems world, and a language that was originally designed for knowledge reuse. (Neches, et al., 1991). However, rather than allowing arbitrary KIF sentences, we have begun work to define a set of predicates and functions that work with the constructs of the foundation ontology, and that allow developers to formally specify information about the inputs and outputs of methods. For example, the predicates output and input allow us to distinguish between elements of the input and output method ontologies. (It would be premature to publish our current list of these predicates, and we expect the list to grow over time.) Although many of these predicates could be expressed in more primitive terms with KIF, our aim is to make the axiom language smaller and more easily understood than a fully expressive formal language. In addition, these restrictions on the axiom language should allow for more tractable and well-defined verification of mapping relations. Figure 6 shows an example of a simple axiom about the input class Fix for the propose-andrevise problem-solving method. Note that this axiom can only be evaluated in the context of a particular method ontology an ontology that includes a class for Fix with a slot named associated-constraint. 15

16 4. Conclusions To demonstrate the potential value of our method-description language, let us revisit the scenario presented in Section 2: If a developer has selected cover-and-differentiate from a reuse library, and if that method includes a formal specification of its requirements in our method-description language, then it will be easier to construct and to validate as correct mappings to particular knowledge bases. The developer can find the data requirements from the method ontology, which uses common terms and structures from the shared foundation ontology. Comparing these requirements to the ontology of her knowledge base, she can then construct mappings to fulfill the needs of the method. The mappings could be drawn from a set of mapping types (as described in Park, et al., 1998), and these types could further simplify the task of mapping construction. The mappings could use canonical transformations from the foundation ontology for some objects, and could use simple CORBA objects to satisfy some of the functional requirements of the method. The benefit provided by the method-description language is simply that these requirements are formal and explicit, and that the method includes hooks designed for domain-specific mappings to particular knowledge bases. A more challenging mapping task occurs when the method includes run-time queries for additional data. The default implementation for the subtask of differentiate may come with an overly simple query API for example, an API that simply asks the user for additional information, as presented in the original MOLE system for cover-and-differentiate (Eshelman, 1998). If developers wish to use a more sophisticated approach that accounts for the cost of retrieving information, or for the possibility of querying remote database at run-time, then they could re-configure the problem-solving method by implementing the differentiate subtask with a more complex submethod. Again, the advantage of a method-description language specification is that the requirements of the subtask, and the semantics of its input-output transformations (in the Competence slot) are made explicit and formal. Our preference for making method requirements formal is that this can lead to the use of a theorem prover to verify that the axioms hold true. Roughly speaking, a knowledge base is a set of logical truths (the classes and axioms) and a model of them (the instances). A mediator is sound if it transforms any model of the domain ontology into a valid model of the method ontology. Thus, mappings lift information from the context of the domain to the context of the method, and then theorem-proving can be used to verify that the results do not contradict the axioms stated in the method-description language. The method-description language we have presented here is still work-in-progress, and it is too early to test our ideas with a real set of mappings, axioms, and a theorem prover. However, our bias toward a perspicuous, simple methoddescription language should allow for more tractable use of theorem proving. For a method-description language to be a successful part of a method library, there needs to be a critical mass of developers and researchers that approve of the language (or are at least willing to follow its conventions). Thus, our goal is to build consensus for the general aims of our language. As we described in Section 2, we have focused on particular aspects of a method-description lan- 16

17 guage: a formal description of the input and output requirements of the method, with the goal of supporting the construction of mappings, and therefore linked to a symbol-level characterization of the problem-solving method. We do not claim that this approach is the only reasonable way to build a method-description language; in fact, we hope to augment our language with elements from other languages. However, we must make it easier for developers to reuse problem-solving methods before any method reuse library can be cost-effective. This has been our motivation for our method-description language, and we hope that our language can lower this barrier to reuse. Acknowledgements This work has been supported in part by High Performance Knowledge Bases project of the Defense Advanced Research Projects Agency. We would like to thank our reviewers, and especially Dieter Fensel, for constructive comments on an earlier draft. We thank Ray Fergerson and all members of the Knowledge Modeling Group for their contributions to our ideas. References Akkermans, H., Wielinga, B., and Schreiber, G. (1994). Steps in constructing problem-solving methods. Proceedings of the Eighth Banff Knowledge Acquisition for Knowledge-Bases Systems Workshop (pp ), Banff, CA. Benjamins, R. (1995). Problem-solving methods for diagnosis and their role in knowledge acquisition. International Journal of Expert Systems: Research & Applications, 8(2), Breuker, J.A., and Van de Velde, W., Eds (1994). CommonKADS Library for Expertise Modeling. Amsterdam: IOS Press. Breuker, J. (1997). Problems in indexing problem solving methods. IJCAI Workshop on PSMs for Knowledge-based systems, Nagoya, Japan. Chandrasekaran, B. (1986). Generic tasks for knowledge-based reasoning: High-level building blocks for expert system design, IEEE Expert, 1(3), Eshelman, L. (1988). MOLE: A knowledge-acquisition tool for cover-and-differentiate systems. In S. Marcus (Ed.), Automating Knowledge Acquisition for Expert Systems, Kluwer, Boston, pp Eriksson, H., Shahar, Y., Tu, S.W., Puerta, A.R., and Musen, M.A. (1995). Task modeling with reusable problem-solving methods. Artificial Intelligence, 79(2), Fensel, D. (1995a). Assumptions and limitations of a problem solving method: A case study. Proceedings of the Ninth Banff Knowledge Acquisition for Knowledge-Bases Systems Workshop (pp ), Banff, CA. Fensel, D. (1995b). Formal specification languages in knowledge and software engineering. The Knowledge Engineering Review, 10(4), Fensel, D., and Groenboom, R. (1997). Specifying Knowledge-Based Systems with Reusable Components. Proceedings of the 9th International Conference on Software Engineering & Knowledge Engineering (SEKE-97), Madrid, Spain. Fergerson, R., Gennari, J., and Grosso, B. (1997). What is Protégé/Win? On-line documentation at Available Nov

18 Gennari, J. H., Altman, R. B., and Musen, M. A. (1995). Reuse with PROTÉGÉ-II: From elevators to ribosomes. Proceedings of the Symposium on Software Reuse, (pp ). Seattle, WA. Gennari, J.H., Cheng, H., Altman, R.B., and Musen, M.A. (in press). Reuse, CORBA, and knowledgebased systems. International Journal of Human-Computer Studies. Gennari, J. H., Stein, A. R., and Musen, M. A.(1996). Reuse for Knowledge-Based Systems and CORBA Components. Proceedings of the 10th Banff Knowledge Acquisition for Knowledge-Based Systems Workshop (pp ), Banff, Canada. Gennari, J. H., Tu, S. W., Rothenfluh, T. E., and Musen, M. A. (1994). Mapping domains to methods in support of reuse. International Journal of Human-Computer Studies, 41, Gil, Y., and Melz, E. (1996). Explicit representations of problem-solving strategies to support knowledge acquisition. Proceedings of the Thirteenth National Conference on Artificial Intelligence (AAAI-96), pp , Portland, OR. Grosso, W., Gennari, J., Fergerson, R., Musen, M. (1998). When Knowledge Models Collide (How it happens and what to do). Proceedings of the Eleventh Banff Workshop on Knowledge Acquisition, Modeling and Management. Banff, Canada. van Harmelen, F. and Balder, J.R. (1992). (ML) 2 : A formal language for KADS models of expertise. Knowledge Acquisition 4(1), Marcus, S., Stout, J., and McDermott, J. (1988). VT: An expert elevator designer that uses knowledgebased backtracking. AI Magazine, 9(1), McDermott, J. (1988). Preliminary steps toward a taxonomy of problem-solving methods. In S. Marcus (Ed.), Automating Knowledge Acquisition for Expert Systems, Kluwer, Boston, pp Neches, R., Fikes, R. E., Finin, T., Gruber, T.R., Patil, R., Senator, T., and Swartout, W. R. (1991). Enabling technology for knowledge sharing. AI Magazine, 12(3), Orfali, R., Harkey, D., and Edwards, J. (1996). The Essential Distributed Objects Survival Guide. John Wiley & Sons, New York. Park, J.Y., Gennari, J.H., and Musen, M.A. (1998). Mappings for Reuse in Knowledge-based Systems, Proceedings of the Eleventh Banff Workshop on Knowledge Acquisition, Modeling and Management. Banff, Canada. Penix, J. and Alexander, P. (1997). Toward automated component adaptation. Proceedings of the Ninth International Conference on Software Engineering and Knowledge Engineering (pp ). Madrid, Spain. Puppe, F., (1993). Systematic Introduction to Expert Systems. Berlin: Springer-Verlag. Srinivas, Y.J. and Jullig R. (1994). SPECWARE: Formal Support for Composing Software. Kestrel Institute Tech Report Available at Nov Zdrahal, Z. and Motta, E. (1995). An in-depth analysis of propose-and-revise problem-solving methods. Proceedings of the Ninth Banff Knowledge Acquisition for Knowledge-Bases Systems Workshop (pp ), Banff, CA. 18

Institu AIFB, University of Karlsruhe, Karlsruhe, Germany. Subject of the paper: Expert systems, knowledge acquisition, knowledge engineering

Institu AIFB, University of Karlsruhe, Karlsruhe, Germany. Subject of the paper: Expert systems, knowledge acquisition, knowledge engineering In Proceedings of the 9th Banff Knowledge Acquisition for Knowledge-Based System Workshop (KAW 95), Banff, Canada, January 26 - February 3, 1995. A Case Study: Assumptions and Limitations of a Problem-Solving

More information

5. UPML: The Language and Tool Support for Making the Semantic. Originally, the Web grew mainly around representing static

5. UPML: The Language and Tool Support for Making the Semantic. Originally, the Web grew mainly around representing static 5. UPML: The Language and Tool Support for Making the Semantic Web Alive B. Omelayenko 1, M. Crubézy 2, D. Fensel 1, R. Benjamins 3, B. Wielinga 4, E. Motta 5, M. Musen 2, Y. Ding 1 1. Introduction Originally,

More information

Ontology Development. Qing He

Ontology Development. Qing He A tutorial report for SENG 609.22 Agent Based Software Engineering Course Instructor: Dr. Behrouz H. Far Ontology Development Qing He 1 Why develop an ontology? In recent years the development of ontologies

More information

Models versus Ontologies - What's the Difference and where does it Matter?

Models versus Ontologies - What's the Difference and where does it Matter? Models versus Ontologies - What's the Difference and where does it Matter? Colin Atkinson University of Mannheim Presentation for University of Birmingham April 19th 2007 1 Brief History Ontologies originated

More information

Ontology Creation and Development Model

Ontology Creation and Development Model Ontology Creation and Development Model Pallavi Grover, Sonal Chawla Research Scholar, Department of Computer Science & Applications, Panjab University, Chandigarh, India Associate. Professor, Department

More information

Knowledge Acquisition for Configuration Tasks : The EXPECT Approach

Knowledge Acquisition for Configuration Tasks : The EXPECT Approach Knowledge Acquisition for Configuration Tasks : The EXPECT Approach Surya Ramachandran Yolanda Gil USC Information Sciences Institute 4676 Admiralty Way, Suite 1001. Marina del Rey, California 90292 {rama,

More information

ONTOLOGY SUPPORTED ADAPTIVE USER INTERFACES FOR STRUCTURAL CAD DESIGN

ONTOLOGY SUPPORTED ADAPTIVE USER INTERFACES FOR STRUCTURAL CAD DESIGN ONTOLOGY SUPPORTED ADAPTIVE USER INTERFACES FOR STRUCTURAL CAD DESIGN Carlos Toro 1, Maite Termenón 1, Jorge Posada 1, Joaquín Oyarzun 2, Juanjo Falcón 3. 1. VICOMTech Research Centre, {ctoro, mtermenon,

More information

Ontology Merging: on the confluence between theoretical and pragmatic approaches

Ontology Merging: on the confluence between theoretical and pragmatic approaches Ontology Merging: on the confluence between theoretical and pragmatic approaches Raphael Cóbe, Renata Wassermann, Fabio Kon 1 Department of Computer Science University of São Paulo (IME-USP) {rmcobe,renata,fabio.kon}@ime.usp.br

More information

Protégé-2000: A Flexible and Extensible Ontology-Editing Environment

Protégé-2000: A Flexible and Extensible Ontology-Editing Environment Protégé-2000: A Flexible and Extensible Ontology-Editing Environment Natalya F. Noy, Monica Crubézy, Ray W. Fergerson, Samson Tu, Mark A. Musen Stanford Medical Informatics Stanford University Stanford,

More information

An Annotation Tool for Semantic Documents

An Annotation Tool for Semantic Documents An Annotation Tool for Semantic Documents (System Description) Henrik Eriksson Dept. of Computer and Information Science Linköping University SE-581 83 Linköping, Sweden her@ida.liu.se Abstract. Document

More information

Automation of Semantic Web based Digital Library using Unified Modeling Language Minal Bhise 1 1

Automation of Semantic Web based Digital Library using Unified Modeling Language Minal Bhise 1 1 Automation of Semantic Web based Digital Library using Unified Modeling Language Minal Bhise 1 1 Dhirubhai Ambani Institute for Information and Communication Technology, Gandhinagar, Gujarat, India Email:

More information

RaDON Repair and Diagnosis in Ontology Networks

RaDON Repair and Diagnosis in Ontology Networks RaDON Repair and Diagnosis in Ontology Networks Qiu Ji, Peter Haase, Guilin Qi, Pascal Hitzler, and Steffen Stadtmüller Institute AIFB Universität Karlsruhe (TH), Germany {qiji,pha,gqi,phi}@aifb.uni-karlsruhe.de,

More information

Verification of Multiple Agent Knowledge-based Systems

Verification of Multiple Agent Knowledge-based Systems Verification of Multiple Agent Knowledge-based Systems From: AAAI Technical Report WS-97-01. Compilation copyright 1997, AAAI (www.aaai.org). All rights reserved. Daniel E. O Leary University of Southern

More information

Predicting and Learning Executability of Composite Web Services

Predicting and Learning Executability of Composite Web Services Predicting and Learning Executability of Composite Web Services Masahiro Tanaka and Toru Ishida Department of Social Informatics, Kyoto University Kyoto 606-8501 Japan mtanaka@ai.soc.i.kyoto-u.ac.jp, ishida@i.kyoto-u.ac.jp

More information

Lecture 20 : Trees DRAFT

Lecture 20 : Trees DRAFT CS/Math 240: Introduction to Discrete Mathematics 4/12/2011 Lecture 20 : Trees Instructor: Dieter van Melkebeek Scribe: Dalibor Zelený DRAFT Last time we discussed graphs. Today we continue this discussion,

More information

Incompatibility Dimensions and Integration of Atomic Commit Protocols

Incompatibility Dimensions and Integration of Atomic Commit Protocols The International Arab Journal of Information Technology, Vol. 5, No. 4, October 2008 381 Incompatibility Dimensions and Integration of Atomic Commit Protocols Yousef Al-Houmaily Department of Computer

More information

Time ontology with Reference Event based Temporal Relations (RETR)

Time ontology with Reference Event based Temporal Relations (RETR) Time ontology with Reference Event based Temporal Relations (RETR) M.Hemalatha 1, V. Uma 2 and Dr. G. Aghila 3 1 Department of Computer Science, Pondicherry University, India hemalathamohanraj@gmail.com

More information

Software Language Engineering of Architectural Viewpoints

Software Language Engineering of Architectural Viewpoints Software Language Engineering of Architectural Viewpoints Elif Demirli and Bedir Tekinerdogan Department of Computer Engineering, Bilkent University, Ankara 06800, Turkey {demirli,bedir}@cs.bilkent.edu.tr

More information

6.001 Notes: Section 8.1

6.001 Notes: Section 8.1 6.001 Notes: Section 8.1 Slide 8.1.1 In this lecture we are going to introduce a new data type, specifically to deal with symbols. This may sound a bit odd, but if you step back, you may realize that everything

More information

Knowledge Sharing and Reuse: Ontologies and Applications

Knowledge Sharing and Reuse: Ontologies and Applications Knowledge Sharing and Reuse: Ontologies and Applications Asunción Gómez-Pérez asun@fi.upm.es Laboratorio de Inteligencia Artificial Facultad de Informática Universidad Politécnica de Madrid Campus de Montegancedo

More information

A Model of Machine Learning Based on User Preference of Attributes

A Model of Machine Learning Based on User Preference of Attributes 1 A Model of Machine Learning Based on User Preference of Attributes Yiyu Yao 1, Yan Zhao 1, Jue Wang 2 and Suqing Han 2 1 Department of Computer Science, University of Regina, Regina, Saskatchewan, Canada

More information

Ontology Refinement and Evaluation based on is-a Hierarchy Similarity

Ontology Refinement and Evaluation based on is-a Hierarchy Similarity Ontology Refinement and Evaluation based on is-a Hierarchy Similarity Takeshi Masuda The Institute of Scientific and Industrial Research, Osaka University Abstract. Ontologies are constructed in fields

More information

An Evaluation of Geo-Ontology Representation Languages for Supporting Web Retrieval of Geographical Information

An Evaluation of Geo-Ontology Representation Languages for Supporting Web Retrieval of Geographical Information An Evaluation of Geo-Ontology Representation Languages for Supporting Web Retrieval of Geographical Information P. Smart, A.I. Abdelmoty and C.B. Jones School of Computer Science, Cardiff University, Cardiff,

More information

CITS5501 Software Testing and Quality Assurance Formal methods

CITS5501 Software Testing and Quality Assurance Formal methods CITS5501 Software Testing and Quality Assurance Formal methods Unit coordinator: Arran Stewart May 1, 2018 1 / 49 Sources Pressman, R., Software Engineering: A Practitioner s Approach, McGraw-Hill, 2005

More information

STABILITY AND PARADOX IN ALGORITHMIC LOGIC

STABILITY AND PARADOX IN ALGORITHMIC LOGIC STABILITY AND PARADOX IN ALGORITHMIC LOGIC WAYNE AITKEN, JEFFREY A. BARRETT Abstract. Algorithmic logic is the logic of basic statements concerning algorithms and the algorithmic rules of deduction between

More information

Ontology Matching with CIDER: Evaluation Report for the OAEI 2008

Ontology Matching with CIDER: Evaluation Report for the OAEI 2008 Ontology Matching with CIDER: Evaluation Report for the OAEI 2008 Jorge Gracia, Eduardo Mena IIS Department, University of Zaragoza, Spain {jogracia,emena}@unizar.es Abstract. Ontology matching, the task

More information

Modeling Systems Using Design Patterns

Modeling Systems Using Design Patterns Modeling Systems Using Design Patterns Jaroslav JAKUBÍK Slovak University of Technology Faculty of Informatics and Information Technologies Ilkovičova 3, 842 16 Bratislava, Slovakia jakubik@fiit.stuba.sk

More information

Annotation for the Semantic Web During Website Development

Annotation for the Semantic Web During Website Development Annotation for the Semantic Web During Website Development Peter Plessers and Olga De Troyer Vrije Universiteit Brussel, Department of Computer Science, WISE, Pleinlaan 2, 1050 Brussel, Belgium {Peter.Plessers,

More information

Java Learning Object Ontology

Java Learning Object Ontology Java Learning Object Ontology Ming-Che Lee, Ding Yen Ye & Tzone I Wang Laboratory of Intelligent Network Applications Department of Engineering Science National Chung Kung University Taiwan limingche@hotmail.com,

More information

Knowledge Representations. How else can we represent knowledge in addition to formal logic?

Knowledge Representations. How else can we represent knowledge in addition to formal logic? Knowledge Representations How else can we represent knowledge in addition to formal logic? 1 Common Knowledge Representations Formal Logic Production Rules Semantic Nets Schemata and Frames 2 Production

More information

1 Introduction. 3 Syntax

1 Introduction. 3 Syntax CS 6110 S18 Lecture 19 Typed λ-calculus 1 Introduction Type checking is a lightweight technique for proving simple properties of programs. Unlike theorem-proving techniques based on axiomatic semantics,

More information

Individual User Interfaces and. Model-based User Interface Software Tools. Egbert Schlungbaum

Individual User Interfaces and. Model-based User Interface Software Tools. Egbert Schlungbaum Individual User Interfaces and Model-based User Interface Software Tools by Egbert Schlungbaum GIT-GVU-96-28 November 1996 Graphics, Visualization & Usability Center Georgia Institute of Technology Atlanta,

More information

handled appropriately. The design of MILS/MSL systems guaranteed to perform correctly with respect to security considerations is a daunting challenge.

handled appropriately. The design of MILS/MSL systems guaranteed to perform correctly with respect to security considerations is a daunting challenge. A Separation Kernel Formal Security Policy David Greve, Matthew Wilding, and W. Mark Vanfleet Rockwell Collins Advanced Technology Center Cedar Rapids, IA 52498 USA fdagreve,mmwilding@rockwellcollins.com

More information

CS 161 Lecture 11 BFS, Dijkstra s algorithm Jessica Su (some parts copied from CLRS) 1 Review

CS 161 Lecture 11 BFS, Dijkstra s algorithm Jessica Su (some parts copied from CLRS) 1 Review 1 Review 1 Something I did not emphasize enough last time is that during the execution of depth-firstsearch, we construct depth-first-search trees. One graph may have multiple depth-firstsearch trees,

More information

Towards Ontology Mapping: DL View or Graph View?

Towards Ontology Mapping: DL View or Graph View? Towards Ontology Mapping: DL View or Graph View? Yongjian Huang, Nigel Shadbolt Intelligence, Agents and Multimedia Group School of Electronics and Computer Science University of Southampton November 27,

More information

Building Knowledge Models Using KSM

Building Knowledge Models Using KSM Building Knowledge Models Using KSM Jose Cuena, Martin Molina Department of Artificial Intelligence, Technical University of Madrid, Campus de Montegancedo S/N, Boadilla del Monte 28660, Madrid, SPAIN

More information

Axioms: Semantics Aspects of C++ Concepts

Axioms: Semantics Aspects of C++ Concepts Doc no: N2887=09-0077 Date: 2009-06-21 Project: ISO/IEC JTC1/SC22/WG21 Reply-To: Gabriel Dos Reis gdr@cs.tamu.edu Axioms: Semantics Aspects of C++ Concepts Gabriel Dos Reis Bjarne Stroustrup Alisdair Meredith

More information

The Bizarre Truth! Automating the Automation. Complicated & Confusing taxonomy of Model Based Testing approach A CONFORMIQ WHITEPAPER

The Bizarre Truth! Automating the Automation. Complicated & Confusing taxonomy of Model Based Testing approach A CONFORMIQ WHITEPAPER The Bizarre Truth! Complicated & Confusing taxonomy of Model Based Testing approach A CONFORMIQ WHITEPAPER By Kimmo Nupponen 1 TABLE OF CONTENTS 1. The context Introduction 2. The approach Know the difference

More information

Evolving Hierarchical and Recursive Teleo-reactive Programs through Genetic Programming

Evolving Hierarchical and Recursive Teleo-reactive Programs through Genetic Programming Evolving Hierarchical and Recursive Teleo-reactive Programs through Genetic Programming Mykel J. Kochenderfer Department of Computer Science Stanford University Stanford, California 94305 mykel@cs.stanford.edu

More information

SOFTWARE ENGINEERING DESIGN I

SOFTWARE ENGINEERING DESIGN I 2 SOFTWARE ENGINEERING DESIGN I 3. Schemas and Theories The aim of this course is to learn how to write formal specifications of computer systems, using classical logic. The key descriptional technique

More information

Advances in Databases and Information Systems 1997

Advances in Databases and Information Systems 1997 ELECTRONIC WORKSHOPS IN COMPUTING Series edited by Professor C.J. van Rijsbergen Rainer Manthey and Viacheslav Wolfengagen (Eds) Advances in Databases and Information Systems 1997 Proceedings of the First

More information

MetaData for Database Mining

MetaData for Database Mining MetaData for Database Mining John Cleary, Geoffrey Holmes, Sally Jo Cunningham, and Ian H. Witten Department of Computer Science University of Waikato Hamilton, New Zealand. Abstract: At present, a machine

More information

Distributed minimum spanning tree problem

Distributed minimum spanning tree problem Distributed minimum spanning tree problem Juho-Kustaa Kangas 24th November 2012 Abstract Given a connected weighted undirected graph, the minimum spanning tree problem asks for a spanning subtree with

More information

Category Theory in Ontology Research: Concrete Gain from an Abstract Approach

Category Theory in Ontology Research: Concrete Gain from an Abstract Approach Category Theory in Ontology Research: Concrete Gain from an Abstract Approach Markus Krötzsch Pascal Hitzler Marc Ehrig York Sure Institute AIFB, University of Karlsruhe, Germany; {mak,hitzler,ehrig,sure}@aifb.uni-karlsruhe.de

More information

CSC 501 Semantics of Programming Languages

CSC 501 Semantics of Programming Languages CSC 501 Semantics of Programming Languages Subtitle: An Introduction to Formal Methods. Instructor: Dr. Lutz Hamel Email: hamel@cs.uri.edu Office: Tyler, Rm 251 Books There are no required books in this

More information

Using formal methods for quality assurance of interlocking systems L.-H. Eriksson* & K. Johansson^

Using formal methods for quality assurance of interlocking systems L.-H. Eriksson* & K. Johansson^ Using formal methods for quality assurance of interlocking systems L.-H. Eriksson* & K. Johansson^ Email: lhe@l4i.se *6W%#jA AWm^^ Sweden. Email: kjell.johansson@hk. banverket.se Abstract "Formal methods"

More information

The Encoding Complexity of Network Coding

The Encoding Complexity of Network Coding The Encoding Complexity of Network Coding Michael Langberg Alexander Sprintson Jehoshua Bruck California Institute of Technology Email: mikel,spalex,bruck @caltech.edu Abstract In the multicast network

More information

Reading 1 : Introduction

Reading 1 : Introduction CS/Math 240: Introduction to Discrete Mathematics Fall 2015 Instructors: Beck Hasti and Gautam Prakriya Reading 1 : Introduction Welcome to CS 240, an introduction to discrete mathematics. This reading

More information

CS 6110 S11 Lecture 25 Typed λ-calculus 6 April 2011

CS 6110 S11 Lecture 25 Typed λ-calculus 6 April 2011 CS 6110 S11 Lecture 25 Typed λ-calculus 6 April 2011 1 Introduction Type checking is a lightweight technique for proving simple properties of programs. Unlike theorem-proving techniques based on axiomatic

More information

Software Quality. Chapter What is Quality?

Software Quality. Chapter What is Quality? Chapter 1 Software Quality 1.1 What is Quality? The purpose of software quality analysis, or software quality engineering, is to produce acceptable products at acceptable cost, where cost includes calendar

More information

CPS122 Lecture: From Python to Java last revised January 4, Objectives:

CPS122 Lecture: From Python to Java last revised January 4, Objectives: Objectives: CPS122 Lecture: From Python to Java last revised January 4, 2017 1. To introduce the notion of a compiled language 2. To introduce the notions of data type and a statically typed language 3.

More information

Winning Positions in Simplicial Nim

Winning Positions in Simplicial Nim Winning Positions in Simplicial Nim David Horrocks Department of Mathematics and Statistics University of Prince Edward Island Charlottetown, Prince Edward Island, Canada, C1A 4P3 dhorrocks@upei.ca Submitted:

More information

Chapter IV. Introduction

Chapter IV. Introduction 54 Chapter IV ULTRAMAN ARCHITECTURE Introduction In previous chapters, we have introduced and motivated the ideas of a transformational approach to generating user interfaces. Throughout this dissertation

More information

Introduction to Formal Methods

Introduction to Formal Methods 2008 Spring Software Special Development 1 Introduction to Formal Methods Part I : Formal Specification i JUNBEOM YOO jbyoo@knokuk.ac.kr Reference AS Specifier s Introduction to Formal lmethods Jeannette

More information

The table metaphor: A representation of a class and its instances

The table metaphor: A representation of a class and its instances The table metaphor: A representation of a class and its instances Jan Henke Digital Enterprise Research Institute (DERI) University of Innsbruck, Austria jan.henke@deri.org Abstract This paper describes

More information

Sample Query Generation: Joins and Projection. Jason Ganzhorn

Sample Query Generation: Joins and Projection. Jason Ganzhorn Sample Query Generation: Joins and Projection Jason Ganzhorn {ganzhj@cs.washington.edu} 11 March 2011 1 1 Introduction This paper presents a component in a simple query generation algorithm which is reliant

More information

Introducing MESSIA: A Methodology of Developing Software Architectures Supporting Implementation Independence

Introducing MESSIA: A Methodology of Developing Software Architectures Supporting Implementation Independence Introducing MESSIA: A Methodology of Developing Software Architectures Supporting Implementation Independence Ratko Orlandic Department of Computer Science and Applied Math Illinois Institute of Technology

More information

Chapter 9. Software Testing

Chapter 9. Software Testing Chapter 9. Software Testing Table of Contents Objectives... 1 Introduction to software testing... 1 The testers... 2 The developers... 2 An independent testing team... 2 The customer... 2 Principles of

More information

Context Ontology Construction For Cricket Video

Context Ontology Construction For Cricket Video Context Ontology Construction For Cricket Video Dr. Sunitha Abburu Professor& Director, Department of Computer Applications Adhiyamaan College of Engineering, Hosur, pin-635109, Tamilnadu, India Abstract

More information

A Labelling Based Justification Status of Arguments

A Labelling Based Justification Status of Arguments A Labelling Based Justification Status of Arguments Yining Wu Faculty of Sciences, Technology and Communication University of Luxembourg, Luxembourg Abstract. In this paper, we define a labelling based

More information

Ontology-Driven Information Systems: Challenges and Requirements

Ontology-Driven Information Systems: Challenges and Requirements Ontology-Driven Information Systems: Challenges and Requirements Burcu Yildiz 1 and Silvia Miksch 1,2 1 Institute for Software Technology and Interactive Systems, Vienna University of Technology, Vienna,

More information

SOME TYPES AND USES OF DATA MODELS

SOME TYPES AND USES OF DATA MODELS 3 SOME TYPES AND USES OF DATA MODELS CHAPTER OUTLINE 3.1 Different Types of Data Models 23 3.1.1 Physical Data Model 24 3.1.2 Logical Data Model 24 3.1.3 Conceptual Data Model 25 3.1.4 Canonical Data Model

More information

1: Introduction to Object (1)

1: Introduction to Object (1) 1: Introduction to Object (1) 김동원 2003.01.20 Overview (1) The progress of abstraction Smalltalk Class & Object Interface The hidden implementation Reusing the implementation Inheritance: Reusing the interface

More information

Developing an Ontology for Teaching Multimedia Design and Planning

Developing an Ontology for Teaching Multimedia Design and Planning Jakkilinki, Sharda, Georgievski 1 Abstract Developing an Ontology for Teaching Multimedia Design and Planning Roopa Jakkilinki, Nalin Sharda, Mladen Georgievski School of Computer Science and Mathematics

More information

Core Membership Computation for Succinct Representations of Coalitional Games

Core Membership Computation for Succinct Representations of Coalitional Games Core Membership Computation for Succinct Representations of Coalitional Games Xi Alice Gao May 11, 2009 Abstract In this paper, I compare and contrast two formal results on the computational complexity

More information

Operational Semantics

Operational Semantics 15-819K: Logic Programming Lecture 4 Operational Semantics Frank Pfenning September 7, 2006 In this lecture we begin in the quest to formally capture the operational semantics in order to prove properties

More information

An Evolution of Mathematical Tools

An Evolution of Mathematical Tools An Evolution of Mathematical Tools From Conceptualization to Formalization Here's what we do when we build a formal model (or do a computation): 0. Identify a collection of objects/events in the real world.

More information

CPSC 532L Project Development and Axiomatization of a Ranking System

CPSC 532L Project Development and Axiomatization of a Ranking System CPSC 532L Project Development and Axiomatization of a Ranking System Catherine Gamroth cgamroth@cs.ubc.ca Hammad Ali hammada@cs.ubc.ca April 22, 2009 Abstract Ranking systems are central to many internet

More information

A Small Interpreted Language

A Small Interpreted Language A Small Interpreted Language What would you need to build a small computing language based on mathematical principles? The language should be simple, Turing equivalent (i.e.: it can compute anything that

More information

Matching Algorithms. Proof. If a bipartite graph has a perfect matching, then it is easy to see that the right hand side is a necessary condition.

Matching Algorithms. Proof. If a bipartite graph has a perfect matching, then it is easy to see that the right hand side is a necessary condition. 18.433 Combinatorial Optimization Matching Algorithms September 9,14,16 Lecturer: Santosh Vempala Given a graph G = (V, E), a matching M is a set of edges with the property that no two of the edges have

More information

Chapter 3. Describing Syntax and Semantics

Chapter 3. Describing Syntax and Semantics Chapter 3 Describing Syntax and Semantics Chapter 3 Topics Introduction The General Problem of Describing Syntax Formal Methods of Describing Syntax Attribute Grammars Describing the Meanings of Programs:

More information

CPSC 536N: Randomized Algorithms Term 2. Lecture 5

CPSC 536N: Randomized Algorithms Term 2. Lecture 5 CPSC 536N: Randomized Algorithms 2011-12 Term 2 Prof. Nick Harvey Lecture 5 University of British Columbia In this lecture we continue to discuss applications of randomized algorithms in computer networking.

More information

Superficial the concepts

Superficial the concepts Superficial the concepts Superficial is a fresh approach to the design and coding of interactive applications, in particular those with graphical user interfaces (GUIs). Superficial provides a conceptual

More information

Contributions to the Study of Semantic Interoperability in Multi-Agent Environments - An Ontology Based Approach

Contributions to the Study of Semantic Interoperability in Multi-Agent Environments - An Ontology Based Approach Int. J. of Computers, Communications & Control, ISSN 1841-9836, E-ISSN 1841-9844 Vol. V (2010), No. 5, pp. 946-952 Contributions to the Study of Semantic Interoperability in Multi-Agent Environments -

More information

Domain-Driven Development with Ontologies and Aspects

Domain-Driven Development with Ontologies and Aspects Domain-Driven Development with Ontologies and Aspects Submitted for Domain-Specific Modeling workshop at OOPSLA 2005 Latest version of this paper can be downloaded from http://phruby.com Pavel Hruby Microsoft

More information

Extracting the Range of cps from Affine Typing

Extracting the Range of cps from Affine Typing Extracting the Range of cps from Affine Typing Extended Abstract Josh Berdine, Peter W. O Hearn Queen Mary, University of London {berdine, ohearn}@dcs.qmul.ac.uk Hayo Thielecke The University of Birmingham

More information

INFORMATICS RESEARCH PROPOSAL REALTING LCC TO SEMANTIC WEB STANDARDS. Nor Amizam Jusoh (S ) Supervisor: Dave Robertson

INFORMATICS RESEARCH PROPOSAL REALTING LCC TO SEMANTIC WEB STANDARDS. Nor Amizam Jusoh (S ) Supervisor: Dave Robertson INFORMATICS RESEARCH PROPOSAL REALTING LCC TO SEMANTIC WEB STANDARDS Nor Amizam Jusoh (S0456223) Supervisor: Dave Robertson Abstract: OWL-S as one of the web services standards has become widely used by

More information

CS103 Spring 2018 Mathematical Vocabulary

CS103 Spring 2018 Mathematical Vocabulary CS103 Spring 2018 Mathematical Vocabulary You keep using that word. I do not think it means what you think it means. - Inigo Montoya, from The Princess Bride Consider the humble while loop in most programming

More information

Rule Formats for Nominal Modal Transition Systems

Rule Formats for Nominal Modal Transition Systems Rule Formats for Nominal Modal Transition Systems Anke Stüber Universitet Uppsala, Uppsala, Sweden anke.stuber@it.uu.se Abstract. Modal transition systems are specification languages that allow the expression

More information

Object-Oriented Theories for Model Driven Architecture

Object-Oriented Theories for Model Driven Architecture Object-Oriented Theories for Model Driven Architecture Tony Clark 1, Andy Evans 2, Robert France 3 1 King s College London, UK, anclark@dcs.kcl.ac.uk, 2 University of York, UK, andye@cs.york.ac.uk, 3 University

More information

Semantic Web. Ontology Engineering and Evaluation. Morteza Amini. Sharif University of Technology Fall 93-94

Semantic Web. Ontology Engineering and Evaluation. Morteza Amini. Sharif University of Technology Fall 93-94 ه عا ی Semantic Web Ontology Engineering and Evaluation Morteza Amini Sharif University of Technology Fall 93-94 Outline Ontology Engineering Class and Class Hierarchy Ontology Evaluation 2 Outline Ontology

More information

Guidelines to Study Differences in Expressiveness between Ontology Specification Languages: A Case Of Study

Guidelines to Study Differences in Expressiveness between Ontology Specification Languages: A Case Of Study Guidelines to Study Differences in Expressiveness between Ontology Specification Languages: A Case Of Study ABSTRACT Oscar Corcho, Asunción Gómez-Pérez Facultad de Informática Universidad Politécnica de

More information

Cover Page. The handle holds various files of this Leiden University dissertation

Cover Page. The handle   holds various files of this Leiden University dissertation Cover Page The handle http://hdl.handle.net/1887/22891 holds various files of this Leiden University dissertation Author: Gouw, Stijn de Title: Combining monitoring with run-time assertion checking Issue

More information

Business Rules in the Semantic Web, are there any or are they different?

Business Rules in the Semantic Web, are there any or are they different? Business Rules in the Semantic Web, are there any or are they different? Silvie Spreeuwenberg, Rik Gerrits LibRT, Silodam 364, 1013 AW Amsterdam, Netherlands {silvie@librt.com, Rik@LibRT.com} http://www.librt.com

More information

3 No-Wait Job Shops with Variable Processing Times

3 No-Wait Job Shops with Variable Processing Times 3 No-Wait Job Shops with Variable Processing Times In this chapter we assume that, on top of the classical no-wait job shop setting, we are given a set of processing times for each operation. We may select

More information

Ontology Construction -An Iterative and Dynamic Task

Ontology Construction -An Iterative and Dynamic Task From: FLAIRS-02 Proceedings. Copyright 2002, AAAI (www.aaai.org). All rights reserved. Ontology Construction -An Iterative and Dynamic Task Holger Wache, Ubbo Visser & Thorsten Scholz Center for Computing

More information

Knowledge Management Using MODEL-ECS

Knowledge Management Using MODEL-ECS From: AAAI Technical Report SS-97-01. Compilation copyright 1997, AAAI (www.aaai.org). All rights reserved. Knowledge Management Using MODEL-ECS Dickson Lukose Distributed Artificial Intelligence Centre

More information

1 The range query problem

1 The range query problem CS268: Geometric Algorithms Handout #12 Design and Analysis Original Handout #12 Stanford University Thursday, 19 May 1994 Original Lecture #12: Thursday, May 19, 1994 Topics: Range Searching with Partition

More information

is easing the creation of new ontologies by promoting the reuse of existing ones and automating, as much as possible, the entire ontology

is easing the creation of new ontologies by promoting the reuse of existing ones and automating, as much as possible, the entire ontology Preface The idea of improving software quality through reuse is not new. After all, if software works and is needed, just reuse it. What is new and evolving is the idea of relative validation through testing

More information

Knowledge Engineering with Semantic Web Technologies

Knowledge Engineering with Semantic Web Technologies This file is licensed under the Creative Commons Attribution-NonCommercial 3.0 (CC BY-NC 3.0) Knowledge Engineering with Semantic Web Technologies Lecture 3: Ontologies and Logic 01- Ontologies Basics

More information

Instances and Classes. SOFTWARE ENGINEERING Christopher A. Welty David A. Ferrucci. 24 Summer 1999 intelligence

Instances and Classes. SOFTWARE ENGINEERING Christopher A. Welty David A. Ferrucci. 24 Summer 1999 intelligence Instances and Classes in SOFTWARE ENGINEERING Christopher A. Welty David A. Ferrucci 24 Summer 1999 intelligence Software Engineering Over the past decade or so, one of the many areas that artificial intelligence

More information

System Models. 2.1 Introduction 2.2 Architectural Models 2.3 Fundamental Models. Nicola Dragoni Embedded Systems Engineering DTU Informatics

System Models. 2.1 Introduction 2.2 Architectural Models 2.3 Fundamental Models. Nicola Dragoni Embedded Systems Engineering DTU Informatics System Models Nicola Dragoni Embedded Systems Engineering DTU Informatics 2.1 Introduction 2.2 Architectural Models 2.3 Fundamental Models Architectural vs Fundamental Models Systems that are intended

More information

Foundations of AI. 9. Predicate Logic. Syntax and Semantics, Normal Forms, Herbrand Expansion, Resolution

Foundations of AI. 9. Predicate Logic. Syntax and Semantics, Normal Forms, Herbrand Expansion, Resolution Foundations of AI 9. Predicate Logic Syntax and Semantics, Normal Forms, Herbrand Expansion, Resolution Wolfram Burgard, Andreas Karwath, Bernhard Nebel, and Martin Riedmiller 09/1 Contents Motivation

More information

Topic 1: What is HoTT and why?

Topic 1: What is HoTT and why? Topic 1: What is HoTT and why? May 5, 2014 Introduction Homotopy type theory (HoTT) is a newly emerging field of mathematics which is currently being developed as a foundation of mathematics which is in

More information

Implementation Techniques

Implementation Techniques V Implementation Techniques 34 Efficient Evaluation of the Valid-Time Natural Join 35 Efficient Differential Timeslice Computation 36 R-Tree Based Indexing of Now-Relative Bitemporal Data 37 Light-Weight

More information

3.4 Deduction and Evaluation: Tools Conditional-Equational Logic

3.4 Deduction and Evaluation: Tools Conditional-Equational Logic 3.4 Deduction and Evaluation: Tools 3.4.1 Conditional-Equational Logic The general definition of a formal specification from above was based on the existence of a precisely defined semantics for the syntax

More information

A Tool for Storing OWL Using Database Technology

A Tool for Storing OWL Using Database Technology A Tool for Storing OWL Using Database Technology Maria del Mar Roldan-Garcia and Jose F. Aldana-Montes University of Malaga, Computer Languages and Computing Science Department Malaga 29071, Spain, (mmar,jfam)@lcc.uma.es,

More information

3.4 Data-Centric workflow

3.4 Data-Centric workflow 3.4 Data-Centric workflow One of the most important activities in a S-DWH environment is represented by data integration of different and heterogeneous sources. The process of extract, transform, and load

More information

Incompatibility Dimensions and Integration of Atomic Commit Protocols

Incompatibility Dimensions and Integration of Atomic Commit Protocols Preprint Incompatibility Dimensions and Integration of Atomic Protocols, Yousef J. Al-Houmaily, International Arab Journal of Information Technology, Vol. 5, No. 4, pp. 381-392, October 2008. Incompatibility

More information

CS 4100 // artificial intelligence

CS 4100 // artificial intelligence CS 4100 // artificial intelligence instructor: byron wallace Constraint Satisfaction Problems Attribution: many of these slides are modified versions of those distributed with the UC Berkeley CS188 materials

More information