The methodology hence proposes to obtain the
target ontology (power network control and monitor-
ing with a temporal) through a semi-automatic pro-
cess of assembling. The concept DO.Device.Breaker
will be linked with TO.TemporalEntity, while the
property DO.Device.Breaker.triggering will be linked
with TO.Process. In this way the instances of
DO.Device.Breaker concept will have a time span
of use. Instances of DO.Device.Breaker.triggering
process have a time span in which they occur
and additionally the user will be asked to assem-
ble the events that define the beginning and end-
ing of this process (e.g., DO.Device.Breaker.opening
and DO.Device.Breaker.closing). After this step,
related concepts, properties and axioms are pro-
posed for assembling, through a cascade process:
e.g. sibling concepts of DO.Device.Breaker such
as DO.Device.Line or DO.Device.Transformer will be
proposed for the assembly process; properties and
axioms related to DO.Device.Breaker.triggering like
. . . .triggering.monophasic or . . . .triggering.triphasic
would be proposed for assembly depending on their
characteristic event sequence.
Protg Plug-in. In order to support the iterative and in-
teractive process used in FONTE, a Protg plug-in was
developed. An assembly task consists of the defini-
tion of the actions to be performed in the target on-
tology after the performance of an assembly action
(e.g., creation of a relation isA between a domain and
a temporal concept). Due to the characteristics of the
platform (Protg), two types of tasks were defined:
Internal Tasks, which allow basic operations to ma-
nipulate the ontologies to be performed (e.g., create,
delete and modify classes or properties), and provide
access to the API functionalities of the Protg platform
in a transparent mode;
External Tasks. (also called assembly rules), which
are procedures written in a pseudo-code language
that includes common program language instructions
(e.g., if, then, else) and special keywords (e.g., do,
propose, check) whose semantics has been previously
provided. In order to facilitate the edition/creation of
these tasks, a specific tool supported in a graphic in-
terface was developed (see below).
The FONTE plug-in architecture (see Fig. 3) has
different abstraction levels which present several ad-
vantages for the knowledge engineer: i) the knowl-
edge engineer does not need to know the specifics
of the Protg API to manipulate the ontologies. In
addition, the Internal Tasks provide an abstraction
level between External Tasks and Protg API assur-
ing independency between the External Tasks and the
Protg API version; ii) the External Tasks may be cre-
ated/edited during the execution time and do not re-
quire the alteration of the application and consequent
compilation; iii) Different rules set (stored in distinct
files) allow different temporal/spatial theories in the
assembly process to be used in a flexible way.
Internal Task
Task
isA
External Task
uses
isA
Protégé API
uses
FONTE plug-in
provides
Rule Editor
create/edit
Figure 3: FONTE plug-in architecture.
The plug-in provides a set of functionalities, such
as: linking concepts of the domain and tempo-
ral/spatial ontology; accepting, rejecting or even de-
laying the execution of a task; and visualising statis-
tics of the assembly process. As depicted in Fig. 4,
the plug-in has two panels for the manipulation of on-
tologies (on the left-hand side) and a list of propos-
als (on the right-hand side). The panel further to the
left contains the domain ontology (DFault, which is
timeless and spaceless); from this panel it is possible
to access the classes and properties hierarchies. The
other panel contains the temporal/spatial ontologies
to be used as construction blocks for the production
of the target ontology. The list of proposals contains
the records of the task instances generated by the sys-
tem. Details of this list are presented below.
To promote the assembly process the knowledge
engineer needs to select the ontologies that will par-
ticipate in the assembly process as well as the files
containing the assembly rules for each ontology;
these can be selected using the setup window (trig-
gered by the setup button shown in Fig. 4).
All the tasks that are successfully performed (ei-
ther triggered manually by user-driven action or auto-
matically by the structural analysis module) are added
to a list containing the instance tasks historic. Associ-
ated with each task instance proposal there is: a trig-
ger list (the elements that triggered the proposal); the
task weight (an indication of the importance of each
proposal, which influences the likelhood of proposal
acceptance during the assembly process); and a ques-
tion in natural language (a phrase that summarises
the proposal objective, instantiated with the elements
contained in the instance task).
As the assembly process progresses, more propos-
als are generated. If different concepts happen to pro-
pose the same task instance, all the elements that have
triggered that proposal are included in the trigger list
and the proposal weight is increased.
All the proposed task instances are stored in the
list of proposals, which can be sorted by different
criteria (e.g., id, trigger or weight). The user can
then accept, reject, or even delay for later analysis,
ENGINEERING TIME IN AN ONTOLOGY FOR POWER SYSTEMS THROUGH THE ASSEMBLING OF MODULAR
ONTOLOGIES
257