Download This page is for indexing purposes and will not be... the conference proceedings book.

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Database wikipedia , lookup

Clusterpoint wikipedia , lookup

Relational model wikipedia , lookup

Functional Database Model wikipedia , lookup

Database model wikipedia , lookup

Transcript
This page is for indexing purposes and will not be printed in
the conference proceedings book.
The text area is 29 × 45 picas (~12.3 cm × 19 cm) to fit in the printed
proceedings book without reduction. When printed on letter paper
there will be wide margins.
Author(s)
First Name
Howard
Middle Name
W
Surname
Beck
Role
First Author
Affiliation
Organization
Agricultural and Biological
Engineering Department,
University of Florida
URL
http://orb.at.ufl.edu/ObjectEditor
Email
[email protected]
Author(s)
First Name
Kelly
Middle Name
Surname
Morgan
Role
Second Author
Affiliation
Organization
Soil and Water Science Department, University of
Florida
URL
(optional)
Email
Author(s)
First Name
Johannes
Middle Name
Surname
Scholberg
Role
Third Author
Affiliation
Organization
Agronomy Department, University of Florida
URL
(optional)
Email
Author(s)
First Name
Sabine
Middle Name
Surname
Grunwald
Role
Forth Author
Affiliation
Organization
Soil and Water Science Department, University of
Florida
URL
(optional)
Email
Author(s)
First Name
Middle Name
Surname
Role
Affiliation
Organization
URL
(optional)
Email
Publication Information
Pub ID
ASABE will
complete
Pub Name
Computers in Agriculture 2006 (24-26 July, Lake Buena
Vista, Florida, USA).
Pub Date
Pub. Date July
2006
Implementation of In-Season Irrigation and Nutrient Tools
for Minimizing Environmental Impacts of Citrus and
Sugarcane Production
Howard W. Beck1, Kelly Morgan3, Johannes Scholberg2, Sabine Grunwald3
1. Agricultural and Biological Engineering Department, University of Florida, [email protected]
2. Agronomy Department, University of Florida
3. Soil and Water Science Department, University of Florida
Abstract. A Nutrient Management Plan Support System (NUMAPS) that assists growers in selection
and application of best management practices (BMPs) related to water and nutrition management in citrus
and sugarcane is being developed. NUMAPS combines expert systems with record keeping, database
management, and computer simulation to offer growers the best advice on water and nutrient management
using a Web-based software environment that can be readily integrated into their day-to-day production
operation management. BMPs in the form of rules are compiled into a database and displayed in the
software as appropriate for on-site decision making. Computer simulations of plant growth, soil moisture,
and nutrient uptake enhance rule-based BMPs by providing more accurate assessments of water and nutrient
utilization and potential losses via leaching and/or runoff. The system is designed to optimize yields in an
economically effective manner while greatly reducing the environmental impacts associated with excess
fertilizer and water applications. A new environment for developing computer simulations, created as part of
a more comprehensive set of decision support system development (authoring) tools, is used in this project.
This environment utilizes ontology-based simulation to design, develop, document, and deploy simulations.
The environment consists of several on-line authoring tools that can be accessed through standard Web
browsers. These on-line tools include a simulation component editor, an equation editor, and a symbol
dictionary. Models are specified at a high level using diagrams, equations, and symbols. Computer code
(Java) to run a simulation is generated automatically from the high level specification. MathML (eXtensible
Markup Language - XML for mathematics) can also be generated from the model specification.
Simulations are compiled and run on-line.
Keywords. decision support system, simulation, ontology-based simulation, citrus, sugarcane.
Introduction
This paper describes the software environment for building and deploying the NUMAPS decision
support system. Details of water and nutrient modeling are presented in a companion paper (Morgan et al.,
2006). The software environment includes an ontology management system called Lyra, a generic database
system for storing structured objects. Lyra includes authoring tools for visualizing and editing objects (the
SimulationEditor and EquationEditor are examples of these tools). The system deploys to various
environments including a stand-alone version of specific tools as well as a comprehensive decision support
system integrating many different tools. These software systems are presented in the following sections.
Development Environment
Ontology-Based Simulation
An ontology is a collection of concepts and their relationships within a particular domain. Specifically,
an ontology takes the form of an object-oriented data model consisting of objects called individuals that
represent specific concepts. Individuals have properties which can be primitive data values such as
numbers, or relationships to other individuals. Individuals with similar properties are grouped into generic
concepts called classes. OWL (Web Ontology Language) is a W3 standard language for creating concept
descriptions (OWL, 2004). The ontology acts as a general purpose database management system for
organizing all knowledge within a domain. In the case of NUMAPS, the domain is a crop environment
(citrus or sugarcane), and basic concepts in that domain include soil, plant (citrus tree or sugarcane plant),
nutrients, and management practices.
4TH WORLD CONGRESS ON COMPUTERS IN AGRICULTURE
Lyra is a database environment based entirely on ontologies. Lyra was developed at the University of
Florida, and is currently being used to build many different types of applications, including agricultural
decision support systems. The main components of Lyra include:
•
•
•
•
•
A data modeling language based on OWL for representing concepts
A physical storage management system optimized for rapid retrieval of ontology objects
Reasoning facilities (including query processing) for manipulating ontology objects
A set of Web-based authoring tools enabling experts to work directly with ontology objects.
Presentation generation software for automatically generating user interfaces from ontology objects.
NUMAPS includes several simulation components. Specifically it contains a soil water balance model
and nutrient transformation, movement, and uptake model. Lyra was used as the platform for model
implementation, and thus offers a new approach to simulation development which we call ontology-based
simulation (Beck et al., 2006). Traditionally agricultural system simulations are implemented by first
designing the model and then implementing the model by directly coding the model equations in a
programming language such as FORTRAN, C++, or Java. This creates several problems. For one, models
implemented directly in such languages are not transparent and thus it is not clear how the model works
(one cannot clearly see how the details of water balance or nutrient movement are represented in the model)
except by looking directly at the source code. the model documentation is separate from the model code
making it difficult to compare the structure of two similar yet slightly different models (i.e. compare two
different irrigation models). In ontology-based simulation, the model is specified directly by creating
ontology objects representing the model structure and the model behavior (no coding is involved). The
design, development, documentation, and deployment of the model are closely integrated processes.
Automatic reasoners that operate on ontology objects have the potential to compare the structure of two
different models (though this possibility has not yet been fully explored). Since the ontology is also a
database, the ontology can be used to build a model base containing many different models and model
components and can describe how they are interrelated. With these capabilities in mind, we implemented
the NUMAP simulations in Lyra. One immediate benefit has been a simplification of the model
development process by eliminating the need to treat modeling as a programming process. Modeling is not a
software development process, it is an abstract design process. By eliminating programming and software
engineering constraints, it is much easier and faster to develop models, and the models are easier to modify.
Modelers can also quickly develop and test different sets of equations used in model subsystems.
Furthermore, the model is fully documented as part of the design process, and more easily examined by
others wanting to know how the model works.
Simulation Editor – Model Structure
Most experts are not familiar with ontology modeling languages such as OWL, and even if they were,
building models by creating ontology objects directly would be tedious. Therefore, we have developed a
series of authoring tools that enable experts including agronomists and hydrologist to create objects in ways
that are more familiar to them. This necessarily requires many such authoring tools as they are domain
specific. However, a major advantage of using domain specific authoring tools is that they are tailored to the
needs of and provide direct access to experts. Furthermore, these authoring tools are on-line, meaning
anyone in the world can access them using a standard Web browser (requires the Java plug-in), and
inspect/review/edit models on-line (provided that they have been granted access which is controlled by a
security management system).
One such tool is the SimulationEditor (Figure 1). The SimulationEditor is used to describe model
structure using familiar source/storage/sink/flow notation. Each element in Figure 1 is internally stored as
an ontology object. For example, “soil profile” is an individual that has properties relating it to “soil cell” (a
soil cell contains many profiles) via a “part of” relationship (shown by the arrow). Likewise “soil layer” is
part of “soil profile”, and “root distribution” is part of all three. Experts create structure diagrams on-line
using the features shown in the toolbar of the SimulationEditor.
4TH WORLD CONGRESS ON COMPUTERS IN AGRICULTURE
Figure 1. SimulationEditor is an on-line tool for specifying model structure. Shown here is the water
balance model used in NUMAPS.
EquationEditor - Model Behavior
Using declarative languages to describe behavior (in NUMAPS, the time-varying behavior of water and
nutrient flow) is a challenge. Ontologies in particular do not offer a direct way to represent behavior.
However, ontologies can represent mathematical equations used to model behavior. The EquationEditor is
an authoring tool used to create equations and which represents equations using the underlying ontology.
An equation is a data structure containing a syntactic structure and symbols. For example “x = y + z” is an
equation containing a structure (=) with two arguments, one of which is a symbol (x) and the other another
structure (+). The + structure in turn has two arguments (y and z). The ontology contains an object for each
symbol and each structure element. Using ontology objects enables a precise definition for each symbol and
structure in each equation.
Although the EquationEditor (Figure 2) looks much like conventional equation editors (thus experts can
easily relate to the interface), the equations are stored internally using an ontology. Furthermore, unlike
most conventional equation editors, the symbols are all clearly defined within a symbol dictionary. The
dictionary is structured using an ontology which shows the relationships among symbols. Each symbol is
defined not only by the signature used in the equations, but also by a concise yet complete language
expression (multilingual expressions including English and Spanish), and formally by logical relationships
with other symbols.
4TH WORLD CONGRESS ON COMPUTERS IN AGRICULTURE
Figure 2. EquationEditor enables direct input of model equations using standard mathematical notation.
Shown here is one of the evapotranspiration equations used in the water balance and nutrient model.
Automatic Code Generation
The simulation design process is completed once the model structure and behavior are specified using
the SimulationEditor and EquationEditor. The process of building and running a simulation are automated
once the structure and behavior have been specified. To accomplish this, automatic code generators are
employed which can convert ontology objects to source code files. In theory the code generator can
produce code in any one of several different languages (FORTRAN, C++, Java), but to date we have only
developed code generators for Java. Essentially each equation becomes a Java method. Methods are
grouped into classes based on the entities in the model structure diagram which modularize the generated
program. Generated source code files are automatically compiled and run within the SimulationEditor
environment. Tables and graphing tools are used to display simulation results.
In the EquationEditor, equations are normalized with one symbol on the left side and an expression
needed to determine the value of that symbol on the right side. The symbols appearing on the right side of
an equation in turn can get their value from other equations, from a database, or they are constant values
stored in the symbol dictionary. This leads to a controller-free approach to solving equations. The
simulation is initiated by requesting the value for a particular symbol. Then the methods needed to find that
value automatically chain recursively to solve for the requested symbol value. Equations are normalized
(left side contains a single symbol) when they are entered into the EquationEditor. In the future, nonnormalized equations could be supported, and symbolic equation analysis software could automatically put
them into normalized form. The system currently supports difference and differential equations, in the latter
case numerical integration libraries needed to solve differential equations are automatically linked into the
environment.
4TH WORLD CONGRESS ON COMPUTERS IN AGRICULTURE
In addition to source code, it is highly desirable to produce the model in XML so that the model can be
made available in a non-proprietary format. MathML (2006), an XML standard for equations, is created
automatically by the EquationEditor. The tree-link object structure in which the equations are stored in the
database makes it easy to generate MathML. XML generators merely traverse the equation tree. Similarly
MathML can (in the future) be used as a way to import equations into Lyra, thus two-way exchange of
content between Lyra and other simulation environments is possible using XML as the exchange medium.
Database Connection
Simulations require many inputs in order to run. NUMAPS requires weather (daily summaries), soil
parameters, and grove/block geometry information. These inputs are stored conveniently in a relational
database. While Lyra is also a database management system (and thus could be used to store this
information), we developed an interface for relational databases in order to maintain compatibility with
existing and widely used database technology.
No matter what database is used, connecting a simulation to a database has historically been a tedious
process. Typically the database was created independently from the model, usually by different developers.
A disadvantage of this approach is that the interface programmer requires expertise in both the database and
the model in order to build a connection. In the end, structured query language (SQL) statements must be
written to query the database and generate tables suitable for input to the model.
In Lyra we have established the first database connection by manually creating a link between symbols
in the ontology and attributes in the relational database. Thus, when an equation needs the value for a
symbol, and that symbol is a value in the database, the connection is called to query the database and
retrieve the value. In the future it would be possible to automate this process even further. If the database
was also specified using an ontology, then every attribute in the database would be fully described by an
ontology object. Objects in the simulation could automatically match with objects in the database (using
ontology reasoning), thus automating the process of establishing the model to database connection.
Grower Interface
The software described in the previous section is the development environment. Deployment can be
accomplished in three ways:
•
•
•
Integrated with the development environment
Stand-alone module
Integrated with a decision support system
The simulations can be run on-line entirely within the development environment using tables and graphs
to plot simulation results. We have not yet provided a run-time only version on-line for growers. That
would require allocating data storage space on a server to each potential user.
In contrast, growers seem to prefer keeping there data locally because they have concerns about putting
sensitive business data on-line in spite of security measure used to keep them private. Based on this, we
have developed a stand-alone version of the decision-support model. Figure 3 shows a grower interface to
the irrigation module in NUMAPS. The code generated by the development environment is linked into a
custom made graphic user interface (in the future we hope to automate development of that particular
interface, but for now it was developed manually using visual programming tools). The interface contains a
minimal record keeping system used to record information required to run the model, including block
description, rainfall, irrigation, and fertilizer applications. The most pertinent model results are displayed
in a table which tells the farm manager when and how long to run irrigation pumps as shown in the figure.
Since keeping records is also a tedious process, it is best if the record keeping system support many
decision modules, rather than requiring customized data entry and recording facilities for specific modules.
The third option of deploying NUMAPS is to incorporate the auto-generated decision modules inside of a
4TH WORLD CONGRESS ON COMPUTERS IN AGRICULTURE
comprehensive decision support system. We are doing this for DISC (Decision Information System for
Citrus, Beck and Albrigo, 2004), a DSS for citrus that includes centralized (local) common record keeping
facilities for a complete citrus production operation. Modules in DISC include bloom prediction and
management, rootstock selection, copper residue prediction for disease control, a grove observation (pest
scouting) program utilizing PDAs, and the NUMAPS irrigation and nutrient management program.
Figure 3. Grower interface for the stand-alone version of the irrigation and nutrient management model. On
the left is a record keeping system used to support the model. Recommendations are shown on the right.
Conclusion
The software environment described in this paper is fully operational for supporting NUMAPS, though
additional work is needed to complete the DISC interface. The potential for ontology-based simulation has
been demonstrated in this working environment, but many additional benefits to the ontology-based
modeling approach are still to be implemented. Such benefits include the ability to store, recycle, and
manage many similar but different models and model components. The ontology reasoner, a facility for
automatically comparing the structure of ontology objects and drawing conclusions, will enable automatic
clustering of similar models, and location and retrieval of models and model components meeting certain
specifications (a query processor for locating models). The database connection can also be developed to the
point where highly distributed models and databases can to some extent automatically locate and attach to
each other using web service technology.
Acknowledgements: The authors wish to thank Yunchul Jung and Jin Zhong Wu for their valuable
assistance in providing software development and modeling support for the NUMAPS project. This work
was supported in part by the Florida Department of Environmental Protection.
References
Beck, H.W., L.G. Albrigo, and S. Kim. 2004. DISC Citrus Planning and Scheduling Program. Proc. 7th
International Symposium on Computer Modeling in Fruit Research and Orchard Management.
International Society for Horticultural Science. Copenhagen, Denmark.
Beck, H.W., R. Badal, and Y. Jung. 2006 (In Publication). Ontology-based Simulation in Agriculture and
Natural Resources. CRC Handbook of Dynamic System Modeling. Paul A. Fishwick (ed). CRC Press.
MathML Standard. 2006. http://www.w3.org/Math
Morgan, K.T., H.W. Beck, J.M.S. Scholberg, and S. Grunwald. 2006. In-Season Irrigation and Nutrient
Decision Support System for Citrus Production. Computers in Agriculture 2006 (24-26 July, Lake
Buena Vista, Florida, USA).
OWL Standard. 2004. http://www.w3.org/2004/OWL.
4TH WORLD CONGRESS ON COMPUTERS IN AGRICULTURE