|
This page describes an implementation of
MR POTATOHEAD in Protege-OWL. You need not
be proficient in agent-based models of land use and cover change
(ABM-LUCC) or ontology to benefit from this page, although it helps
if you have had an encounter or two with either ABM-LUCC or
ontology. If you prefer gentle introductions to daring forays when
dealing with new research methods or software, please read the
following brief descriptions of MR POTATOHEAD and ontology before
installing Protege-OWL on your machine. If you are an ABM-LUCC
modeler interested in ontologizing ABM-LUCC through MR POTATOHEAD, you
might want to spend some time on Protege-OWL before downloading the
ontologized version of MR POTATOHEAD.
MR POTATOHEAD
ABM-LUCC enable modelers to
focus on processes rather than results of interaction among purposive
agents. While results of agent interactions are often captured
in variables that are amenable to mathematical and statistical modeling,
creating agents and the rules of interaction among them requires computer
code written in a variety of languages and simulation toolkits.
Therefore, ABM-LUCC lack a unified, standardized language for
model communication and comparison. To remedy this shortcoming of
ABM-LUCC, one can use a conceptual design pattern (CDP), a fancy name
for a framework that describes the conceptual design of a
model. CDPs can be procedural, ontological or possibly a
mixture of both. A procedural CDP focuses on model building, model
execution or model processes. For example, "Overview, Design
concepts and Details" (ODD) examines a model from a
procedural vantage point. An ontological CDP focuses on the
structure of the model itself. One such CDP is MR POTATOHEAD: Model
Representing Potential Objects That Appear in The Ontology of
Human-Environmental Actions and Decisions. MR POTATOHEAD is an
ontological CDP; it focuses on classes of concepts used in ABM-LUCC, their
properties and the relations among them by dividing ABM-LUCC into
component classes. MR POTATOHEAD classes derive from one another in
two ways:
- A class is either parent or child to another class. A member
of the child class is definitely a member of the parent
class. That is why this inheritance relation is called an
is-a relation. For example, computers are
either laptops, mainframes or desktops. Therefore, as a class
Computer has a few children or subclasses: Laptop,
Mainframe, and Desktop. Any laptop, mainframe or
desktop is a computer. So Laptop is-a
Computer; Mainframe is-a Computer;
and Desktop is-a Computer.
- A class is made up of other classes or primitives. Any
component of a class that is not another class is a primitive. For
example, numbers are often considered primitives. We call the
components of a class its properties. A class has properties, so
we call this inclusion relation has-a
relation. Going back to our computer example, every computer has
memory. Every memory belongs to the class Memory.
Therefore, as a class Computer has Memory. Now
because Laptop, Mainframe, and Desktop are
subclasses of Computer, each has Memory.
Protege- OWL
Protege-OWL is
an application for creating ontology based on the mark-up language
Web
Ontology Language (OWL). In order to
use MR POTATOHEAD 1.0, you need to install Protege-OWL on your
machine:
- Visit the download page.
- Although you do not need to register
to download Protege-OWL, you would benefit from registration,
because Protege-OWL is under active development. If you don't like
to register proceed, otherwise follow the
links in the registration page.
- Under Protege 3.3.1 choose full
Protege. This is important because visualizing ontology
requires the full version of Protege-OWL.
- Choose the proper download based on your operating
system. If you are using a Mac the rest is automatic. For
other operating systems choose the version that includes Java VM, unless
you are comfortable with Java and can locate the Java VM on your machine
yourself.
- Choose the default values offered by the installer
for the rest of the steps.
Now that you have Protege-OWL installed on your
machine you need an ontology visualization
application:
- You can find a list of Protege-OWL
plug-ins here.
- Under Topics choose Visualization. You will
see quite a few visualization applications here. We generated our
graphs using OntoViz. To run OntoViz you will need to install
GraphViz first.
- GraphViz installation packages are specific to the
operating system you use. If you use a Mac, you can find the
installer here. For other operating
systems visit the GraphViz download
page. Remember where you install
GraphViz, because you may need to return to it later to activate
OntoViz.
- Once you have downloaded GraphViz, start
Protege-OWL. Open any of the Protege-OWL files included in the
installation, for example newspaper.pprj. Once in Protege, click
on Project and choose Configure. Find the OntoVizTab checkbox in
Tab Widgets, check it, and click OK. You should now see the
Ontoviz tab at the rightmost side of the tabs. If you
don't find the OntoVizTab checkbox or don't see the Ontoviz tab after
checking the OntoVizTab checkbox, you need to modify a file in
Protege-OWL: Find the installation directory for Protege-OWL. If
you use Windows the default installation directory is C:\Program
Files. In the Protege 3.3.1 directory, find the
plugins subdirectory. Within
plugins there is another subdirectory
called dfki.protege.ontoviz.
There you will see a few files. One file is called
protege. Open it with a text editor. Here
is where you need to know the GraphViz installation directory. Add
the following line to the file:
dot.command="[Graphviz installation
directory]\\bin\\dot.exe"
Under Windows the default
installation directory is C:\\Program Files\\Graphviz2.16. So you
should add
dot.command="C:\\Program
Files\\Graphviz2.16.\\bin\\dot.exe" save and close the
file.
This is a good place to start experimenting with
Protege-OWL before you download MR POTATOHEAD code. Open any
one of the files that comes with the standard installation of Protege-OWL,
preferably pizza.pprj. On the Help menu click on Protege-OWL
Tutorial. This opens a page of support material. Download a
copy of Protege-OWL
Tutorial. This de facto standard introduction to Protege-OWL is
accessible to beginners; it is written clearly and provides numerous
examples on how to use Protege-OWL functionalities. Spending a few
hours on this tutorial will provide you with enough ontology building
skills as to be able to frame an ABM-LUCC in MR POTATOHEAD. You can
also try your hand at more advanced features of Protege-OWL such
as logical reasoning and inference once you are comfortable with the
basics of Protege-OWL.
MR
POTATOHEAD OWL 1.0
Now that you have Protege-OWL and OntoViz on your
machine, you can download MR POTATOHEAD OWL 1.0, the first rendition of MR POTATOHEAD in Protege-OWL.
MR POTATOHEAD OWL 1.0 comes in a zip file that includes:
- Protege-OWL code for MR POTATOHEAD. This
file is called LUCC and should be opened with
Protege-OWL.
- A Java-style documentation folder for LUCC
called Documentation. This folder contains all MR
POTATOHEAD classes and properties.
Once you open LUCC in
Protege-OWL, click on OWL Classes tab. This will show you all the
classes used to make LUCC. Click on class LUCC. Each class has
two views: the Logic View and the Properties View. You can change
views by clicking the radio buttons on the lower right corner of the
frame. The default view is Logic View where you see is-a relations
of a class. The Properties View gives you the list of properties for
each class. If you change the view for LUCC you will see
seven properties of LUCC: hasDemographics, hasEnvironment, ....
To visualize the properties of LUCC click on the OntoViz tab.
Below tabs, on the upper left hand side of the frame you will see
Config. In front of config you will see a few icons. Under
Config, you will notice nine small boxes: frame, sub, sup, slx, isx,
.... Highlight lucc. Click on the first icon in front of
Config: . This means add (+) a
class (c) to the visualization frame. LUCC should appear in the
panel. Check slx, isx, and sle boxes and press the rightmost button
in front of Config . The meaning of each of
the checkboxes is explained in OntoViz help. However, after a few
hits and misses you will realize what each checkbox means. For
example, sup means superclass, sub means subclass and ins means
instance. To save click on Op. Click on the
general tab. Once in general, check
"save as gif". This will save your graph in the .gif format in
the LUCC directory with the default file name of LUCC. Warning:
OntoViz saves the last graph it has created, throwing away previous
ones. So save the graphs, preferably in a different directory with
more expressive names, before you create new ones. Here
is our graph showing the top level structure of a
LUCC:

As another example, here is the top level graph for
the Landscape class:

This graph clearly shows that Landscape is a component of Environment,
which is in turn a component of LUCC. We can extend this
has-a relation to the lower level classes: Each Landscape
has GISLayers and SpatialDataStructures and so on.
Graphs
can also show is-a relations. For example, the following graph shows
the different types of agents in a LUCC:

You can find more complex graphs that include
multiple is-a and has-a relations here.
Feedback
MR POTATOHEAD is a work in
progress. We are instantiating a few ABM-LUCC in MR POTATOHEAD at
the moment to test the robustness of the framework. We would like
you to try it and tell us where you find it wanting. Quieries,
comments and suggestions about the design of MR POTATOHEAD are especially
welcome. MR POTATOHEAD OWL is developed by Dawn Parker and Gary
Polhill. This site was developed by Seyed Rizi, Center for
Social Complexity, George Mason University.
|