Permalink
Find file
Fetching contributors…
Cannot retrieve contributors at this time
2216 lines (1842 sloc) 86.8 KB
;; Access to and use of these products is governed by the GNU General Public
;; License <http://www.gnu.org/copyleft/gpl.html>.
;; By using these products, you agree to be bound by the terms
;; of the GPL.
;; We ask that people using or referencing this work cite our primary paper:
;; Niles, I., and Pease, A. 2001. Towards a Standard Upper Ontology. In
;; Proceedings of the 2nd International Conference on Formal Ontology in
;; Information Systems (FOIS-2001), Chris Welty and Barry Smith, eds,
;; Ogunquit, Maine, October 17-19, 2001. See also http://www.ontologyportal.org
(instance productModel AsymmetricRelation)
(subrelation productModel represents)
(domain productModel 1 SymbolicString)
(domainSubclass productModel 2 Product)
(documentation productModel EnglishLanguage "(productModel ?Model ?Product) means that
?Model represents the type of the Product ?Product")
(subclass ComputationalSystem Product)
(documentation ComputationalSystem EnglishLanguage "Instances of &%ComputationalSystems
include instances of &%SoftwareSystems, &%HardwareSystems, and
&%ComputerNetworks.")
(subclass Computer ElectricDevice)
(documentation Computer EnglishLanguage "A general-purpose machine that processes
data according to a set of instructions that are stored internally
either temporarily or permanently.")
(subclass ComputerNetwork ComputationalSystem)
(documentation ComputerNetwork EnglishLanguage "The network includes the network
operating system in the client and server machines, the cables
connecting them and all supporting hardware in between such as
bridges, routers and switches.")
(subclass LAN ComputerNetwork)
(disjointDecomposition LAN BusNetwork StarNetwork RingNetwork)
(documentation LAN EnglishLanguage "A computer network that spans a relatively small
area. Most LANs are confined to a single building or group of buildings.
However, one LAN can be connected to other LANs over any distance via
telephone lines and radio waves.")
(subclass BusNetwork LAN)
(documentation BusNetwork EnglishLanguage "A network in which all nodes are connected
to a single wire (the bus) that has two endpoints. Ethernet 10Base-2
and 10Base-5 networks, for example, are bus networks. Other common
network types include &%StarNetworks and &%RingNetworks.")
(subclass StarNetwork LAN)
(documentation StarNetwork EnglishLanguage "A local-area network (LAN) that uses a star
topology in which all nodes are connected to a central computer.")
(subclass RingNetwork LAN)
(documentation RingNetwork EnglishLanguage "A local-area network (LAN) whose topology is a ring.
That is, all of the nodes are connected in a closed loop. Messages
travel around the ring, with each node reading those messages addressed
to it.")
(subclass ComputerHardware Product)
(documentation ComputerHardware EnglishLanguage "The hardware is the physical part of
a computer system.")
(<=>
(instance ?Hardware ComputerHardware)
(exists (?Computer)
(and
(instance ?Computer Computer)
(component ?Hardware ?Computer))))
(subclass ComputerMemory ComputerComponent)
(documentation ComputerMemory EnglishLanguage "The computer's workspace
(physically, a collection of RAM chips). It is an important resource,
since it determines the size and number of programs that can be run at
the same time, as well as the amount of data that can be processed instantly.")
(subclass HardDiskDrive ComputerComponent)
(subclass HardDiskDrive DigitalDataStorageDevice)
(documentation HardDiskDrive EnglishLanguage "The primary computer storage medium, which
is made of one or more aluminum or glass platters, coated with a
ferromagnetic material. Most hard disks are fixed disks, which are
permanently sealed in the drive.")
(subclass CPU ComputerComponent)
(documentation CPU EnglishLanguage "CPU (Central Processing Unit) is the computing part
of the computer.")
(=>
(instance ?CPU CPU)
(unitMeasuringPerformance ?CPU InstructionsPerSecond))
(subclass DataTransfer ComputerProcess)
(documentation DataTransfer EnglishLanguage "A subclass of &%ComputerProcesses which
send data over a computer channel or bus.")
(=>
(instance ?Transfer DataTransfer)
(exists (?Origin ?Destination ?System ?Data)
(and
(origin ?Transfer ?Origin)
(destination ?Transfer ?Destination)
(instrument ?Transfer ?System)
(patient ?Transfer ?Data)
(instance ?Data DigitalData)
(instance ?System HardwareSystem)
(instance ?Origin HardwareSystem)
(instance ?Destination ComputationalSystem))))
;;DeletingData
(subclass DeletingData ComputerProcess)
(documentation DeletingData EnglishLanguage "A &%ComputerProcess that makes some &%DigitalData unusable for any other &%ComputerProcess.")
(=>
(instance ?X DeletingData)
(and
(exists (?DATA)
(and
(instance ?DATA DigitalData)
(patient ?X ?DATA)))
(not
(exists (?PROC)
(and
(instance ?PROC ComputerProcess)
(not
(instance ?PROC RestoringData))
(holdsDuring
(ImmediateFutureFn
(WhenFn ?X))
(capability ?PROC patient ?DATA)))))))
;;RestoringData
(subclass RestoringData ComputerProcess)
(documentation RestoringData EnglishLanguage "A &%ComputerProcess that makes &%DigitalData that has been deleted, again accessible for other &%ComputerProcess")
(=>
(instance ?X RestoringData)
(exists (?DEL ?PROC ?DATA)
(and
(instance ?DEL DeletingData)
(instance ?DATA DigitalData)
(patient ?X ?DATA)
(patient ?DEL ?DATA)
(earlier
(WhenFn ?DEL)
(WhenFn ?X))
(instance ?PROC ComputerProcess)
(holdsDuring
(ImmediateFutureFn
(WhenFn ?X))
(capability ?PROC patient ?DATA)))))
(subclass ComputerProcess InternalChange)
(documentation ComputerProcess EnglishLanguage "An instance of &%ComputerProcess is a
process which manipulates data in the computer.")
(=>
(instance ?Process ComputerProcess)
(exists (?Computer ?Program)
(and
(instance ?Computer Computer)
(computerRunning ?Process ?Computer)
(instance ?Program ComputerProgram)
(programRunning ?Process ?Program))))
(=>
(programRunning ?Process ?Program)
(exists (?Computer)
(runningOn ?Program ?Computer)))
(subclass ComputerFile DigitalData)
(documentation ComputerFile EnglishLanguage "A collection of bytes stored as an
individual entity. All data on disk is stored as a file with an
assigned file name that is unique within the folder (directory)
it resides in.")
(subclass ComputerDirectory ComputerFile)
(documentation ComputerDirectory EnglishLanguage "This is the class of catalogs that
identify and locate instances of &%ComputerFiles. The catalog's entries
consist of at least &%ComputerFile names and a physical address on a memory
device of the &%ComputerFile or an index (e.g., file descriptor) into a
table of &%ComputerFile physical addresses. &%ComputerDirectories are thus
collections of data elements and must be named and stored on memory devices,
hence, &%ComputerDirectory is a subset of &%ComputerFile.")
(instance runningOn BinaryPredicate)
(domain runningOn 1 ComputerProgram)
(domain runningOn 2 Computer)
(documentation runningOn EnglishLanguage "(runningOn ?Program ?Computer) holds if the
&%ComputerProgram ?Program is being executed on ?Computer.")
(=>
(runningOn ?Program ?Computer)
(exists (?Process)
(and
(programRunning ?Process ?Program)
(computerRunning ?Process ?Computer))))
(subrelation computerRunning instrument)
(instance computerRunning CaseRole)
(domain computerRunning 1 ComputerProcess)
(domain computerRunning 2 Computer)
(documentation computerRunning EnglishLanguage "(&%computerRunning ?Process ?Computer)
means that the ComputerProcess ?Process is running on ?Computer.")
(instance programRunning BinaryPredicate)
(domain programRunning 1 ComputerProcess)
(domain programRunning 2 ComputerProgram)
(documentation programRunning EnglishLanguage "(&%programRunning ?Process ?Program)
means that the &%ComputerProcess ?Process is executing the
&%ComputerProgram ?Program.")
(instance directoryOf BinaryPredicate)
(domain directoryOf 1 ComputerFile)
(domain directoryOf 2 ComputerDirectory)
(subclass PhysicalAddress SymbolicString)
(documentation PhysicalAddress EnglishLanguage "The collection of all addresses which
identify a location of a &%ComputerFile.")
(instance AddressFn UnaryFunction)
(domain AddressFn 1 ComputerFile)
(range AddressFn PhysicalAddress)
(documentation AddressFn EnglishLanguage "(&%AddressFn ?FILE) returns as its value the
physical address of the &%ComputerFile ?FILE.")
;; "ComputerDirectories contain information about the physical addresses
;; of ComputerFiles which are listed in these directories" .
(=>
(and
(instance ?Directory ComputerDirectory)
(instance ?File ComputerFile)
(directoryOf ?File ?Directory))
(refers (AddressFn ?File) ?Directory))
(instance BitsPerSecond CompositeUnitOfMeasure)
(documentation BitsPerSecond EnglishLanguage "The measurement of the speed of data
transfer in a communications system.")
(=>
(equal ?MEASURE (MeasureFn ?NUMBER BitsPerSecond))
(instance ?MEASURE TimeDependentQuantity))
(instance PacketsPerSecond CompositeUnitOfMeasure)
(documentation PacketsPerSecond EnglishLanguage "The rate or speed of &%Packet-Networks
transferred in a second.")
(=>
(equal ?MEASURE (MeasureFn ?NUMBER PacketsPerSecond))
(instance ?MEASURE TimeDependentQuantity))
(instance InstructionsPerSecond CompositeUnitOfMeasure)
(documentation InstructionsPerSecond EnglishLanguage "The measure of the processing
speed of a &%Computer's &%CPU.")
(=>
(equal ?MEASURE (MeasureFn ?NUMBER InstructionsPerSecond))
(instance ?MEASURE TimeDependentQuantity))
(subclass Packet DigitalData)
(documentation Packet EnglishLanguage "A block of &%DigitalData used for transmission in packet
switched systems.")
;; The following constants are specific to the Quite project
(subclass SoftwareSystem ComputerProgram)
(documentation SoftwareSystem EnglishLanguage "This is the class of mutually supportive
groups of instances of &%ComputerProgram for a single general purpose.
For example, a database management system is a collection of many instances
of &%ComputerProgram that work together to store, retrieve, modify, and
delete data.")
;; "A software system is a group of computer programs for a single
;; general purpose" .
(=>
(instance ?System SoftwareSystem)
(forall (?Program ?Process)
(=>
(and
(part ?Program ?System)
(programRunning ?Process ?Program))
(exists (?Purpose)
(hasPurpose ?Process ?Purpose)))))
(subclass HardwareSystem ComputerHardware)
(subclass HardwareSystem ComputationalSystem)
(documentation HardwareSystem EnglishLanguage "The class of hardware systems is the
connection of three types of physical modules: instances of
&%ComputerProcessor(s), &%ComputerMemory, and &%ComputerNetwork.
&%ComputerProcessors execute instructions from &%ComputerPrograms,
which usually include instructions to read and write data from
memory, and send data via instances of &%ComputerNetworks.")
;; "A software system requires a hardware system to execute" .
(=>
(and
(instance ?Software SoftwareSystem)
(instance ?Process ComputerProcess)
(programRunning ?Process ?Software))
(exists (?Hardware)
(and
(instance ?Hardware HardwareSystem)
(computerRunning ?Process ?Hardware))))
;; "A hardware system consists of three physical modules: processors,
;; memory, and networks" .
(=>
(instance ?System HardwareSystem)
(exists (?Processor ?Memory ?Network)
(and
(instance ?Processor CPU)
(component ?System ?Processor)
(instance ?Memory ComputerMemory)
(component ?System ?Memory)
(instance ?Network ComputerNetwork)
(component ?System ?Network))))
;; "When the data is sent from HardwareSystems, it is send via
;; ComputerNetworks" .
(=>
(and
(instance ?System ?HardwareSystem)
(component ?Network ?System)
(instance ?Event DataTransfer)
(origin ?Event ?System))
(and
(instance ?Network ComputerNetwork)
(instrument ?Event ?Network)))
(instance runsOn BinaryPredicate)
(instance runsOn AsymmetricRelation)
(domain runsOn 1 ComputerProgram)
(domain runsOn 2 Computer)
(documentation runsOn EnglishLanguage "(runsOn ?Program ?Computer) means that ?Program
is capable of running on ?Computer.")
(=>
(exists (?Process)
(and
(programRunning ?Process ?Program)
(computerRunning ?Process ?Computer)))
(runsOn ?Program ?Computer))
(subclass StartupBlock ComputerProgram)
(documentation StartupBlock EnglishLanguage "A typically small instance of &%ComputerProgram
(a sequence of instructions that will run on a computer) whose function is
to load and initialize a typically larger instance of &%ComputerProgram
and start it running.")
(instance startupOf BinaryPredicate)
(domain startupOf 1 StartupBlock)
(domain startupOf 2 ComputerProgram)
(documentation startupOf EnglishLanguage "(&%startupOf ?STARTUP ?PROGRAM) holds just in
case an instance of &%StartupBlock ?STARTUP specifies a set of instructions
to start the ?PROGRAM.")
;; "Each StartupBlock is a startup of some program" .
(=>
(instance ?Startup StartupBlock)
(exists (?Application)
(startupOf ?Startup ?Application)))
;; "The startupBlock of an application starts the application" .
(=>
(and
(startupOf ?Startup ?Application)
(instance ?Process1 ComputerProcess)
(programRunning ?Process1 ?Startup)
(equal (WhenFn ?Process1) ?Time1))
(exists (?Process2 ?Time2)
(and
(instance ?Process2 ComputerProcess)
(programRunning ?Process2 ?Application)
(equal (WhenFn ?Process2) ?Time2)
(meetsTemporally ?Time1 ?Time2))))
(instance StartupFn UnaryFunction)
(domain StartupFn 1 ComputerProgram)
(range StartupFn StartupBlock)
(documentation StartupFn EnglishLanguage "(&%StartupFn ?Program) returns an instance of
&%StartupBlock which contains the instructions to start the ?Program.")
(subclass ShutdownBlock ComputerProgram)
(documentation ShutdownBlock EnglishLanguage "A typically small instance of
&%ComputerProgram whose function is to end a typically larger
instance of &%ComputerProgram.")
(instance shutdownOf BinaryPredicate)
(domain shutdownOf 1 ShutdownBlock)
(domain shutdownOf 2 ComputerProgram)
(documentation shutdownOf EnglishLanguage "(&%shutdownOf ?SHUTDOWN ?PROGRAM) holds just
in case an instance of &%ShutdownBlock ?SHUTDOWN specifies a set of
instructions to end ?PROGRAM.")
;; "ShutdownBlock is a shutdown of an application"
(=>
(instance ?Shutdown ShutdownBlock)
(exists (?Application)
(shutdownOf ?Shutdown ?Application)))
;; "ShutdownBlock of an application ends the running version of the application"
(=>
(and
(shutdownOf ?Shutdown ?Application)
(instance ?Process1 ComputerProcess)
(programRunning ?Process1 ?Shutdown)
(equal (WhenFn ?Process1) ?Time1))
(exists (?Process2 ?Time2)
(and
(instance ?Process2 ComputerProcess)
(programRunning ?Process2 ?Application)
(equal (WhenFn ?Process2) ?Time2)
(meetsTemporally ?Time2 ?Time1))))
(instance ShutdownFn UnaryFunction)
(domain ShutdownFn 1 ComputerProgram)
(range ShutdownFn ShutdownBlock)
(documentation ShutdownFn EnglishLanguage "(&%ShutdownFn ?Program) returns an instance of
&%ShutdownBlock which contains the instructions to end ?PROGRAM.")
(subclass EnvironmentSoftwareAttribute RelationalAttribute)
(documentation EnvironmentSoftwareAttribute EnglishLanguage "The class of attributes which
correspond to environment variables. Environment variables are defined
outside of a &%ComputerProgram, unlike ordinary variables that are
defined in the source code of the &%ComputerProgram. Typically, the
environment variable stores some value that many if not all
&%ComputerProgams will need when they execute. An example is the
environment variable PATH under Unix-like operating systems that stores
the &%ComputerDirectories where executable &%ComputerPrograms can be found.
Another example is the environment variable CLASSPATH for Java programs,
which stores the directory where Java class files can be found that will be
needed by any &%ComputerProgram written in Java.")
(subrelation environmentAttributes property)
(domain environmentAttributes 1 ComputerProgram)
(domain environmentAttributes 2 EnvironmentSoftwareAttribute)
(documentation environmentAttributes EnglishLanguage "(&%environmentAttributes ?Program
?Attribute) holds if ?Attribute is an &%EnvironmentSoftwareAttribute
which describes the &%ComputerProgram ?Program.")
(subclass ComputerInputDevice ComputerHardware)
(documentation ComputerInputDevice EnglishLanguage "A peripheral device that generates
input for the computer such as a keyboard, scanner, or mouse.")
(subclass ComputerKeyboard ComputerInputDevice)
(documentation ComputerKeyboard EnglishLanguage "A &%ComputerInputDevice containing a set of
keys and used to input different characters.")
(lexicon ComputerKeyboard LexNoun "keyboard")
(subclass ComputerMouse ComputerInputDevice)
(documentation ComputerMouse EnglishLanguage "A &%ComputerInputDevice working on
a flat surface and used to move the cursor in graphical user interface and
perform clicking actions.")
(lexicon ComputerMouse LexNoun "mouse")
(=>
(instance ?PROCESS
(OperatingFn ComputerMouse))
(exists (?SURFACE)
(and
(instance ?SURFACE Object)
(attribute ?SURFACE Flat)
(eventLocated ?PROCESS ?SURFACE))))
(subclass ComputerOutputDevice ComputerHardware)
(documentation ComputerOutputDevice EnglishLanguage "Any peripheral that presents
output from the computer, such as a screen or printer.")
(subclass TouchScreen ComputerInputDevice)
(subclass TouchScreen ComputerOutputDevice)
(subclass TouchScreen VideoDisplay)
(documentation TouchScreen EnglishLanguage "A display screen that also functions
as a pointing device by letting users touch on it")
(=>
(instance ?TOUCHSCREEN TouchScreen)
(attribute ?TOUCHSCREEN Flat))
(subclass ComputerTerminal ComputerOutputDevice)
(subclass ComputerTerminal DataDisplayDevice)
(documentation ComputerTerminal EnglishLanguage "A &%ComputerOutputDevice for displaying
information on some sort of screen or other reusable output surface. This
is contrasted with a &%Printer, which places a substance on a surface
that is for practical purposes, permanent.")
(subrelation standardInputDevice instrument)
(instance standardInputDevice CaseRole)
(domain standardInputDevice 1 ComputerProcess)
(domain standardInputDevice 2 ComputerInputDevice)
(documentation standardInputDevice EnglishLanguage "(&%standardInputDevice ?PROCESS
?DEVICE) holds just in case the DEVICE is the predefined input channel
with which the running version of the program PROCESS is initialised.")
(=>
(programRunning ?Process ?Program)
(exists (?Device)
(standardInputDevice ?Process ?Device)))
(subrelation standardOutputDevice instrument)
(instance standardOutputDevice CaseRole)
(domain standardOutputDevice 1 ComputerProcess)
(domain standardOutputDevice 2 ComputerOutputDevice)
(documentation standardOutputDevice EnglishLanguage "(&%standardOutputDevice ?PROGRAM
?DEVICE) holds just in case the DEVICE is the predefined output channel
with which the running version of this program is initialised.")
;; "The program of the process contains information about the standard
;; output device of the process"
(=>
(programRunning ?Process ?Program)
(exists (?Device)
(standardOutputDevice ?Process ?Device)))
(subrelation standardErrorDevice instrument)
(instance standardErrorDevice CaseRole)
(domain standardErrorDevice 1 ComputerProcess)
(domain standardErrorDevice 2 ComputerOutputDevice)
(documentation standardErrorDevice EnglishLanguage "(&%standardErrorDevice ?PROGRAM
?DEVICE) holds just in case the DEVICE is the predefined error channel
with which the running version of this program is initialised.")
;; "The program of the process contains information about the standard
;; error device of the process"
(=>
(programRunning ?Process ?Program)
(exists (?Device)
(standardErrorDevice ?Process ?Device)))
(instance hostOf BinaryPredicate)
(domain hostOf 1 ComputationalSystem)
(domain hostOf 2 Computer)
(documentation hostOf EnglishLanguage "(hostOf ?SYSTEM ?COMPUTER) means that ?COMPUTER
is the host of the computational system ?SYSTEM.")
(subclass ProcessState ContentBearingObject)
(documentation ProcessState EnglishLanguage "The class of all the information required
for a &%ComputerProgram to run on a processor. It is a vector that
contains a pointer to the next program instruction to be executed as well
as the values of all intermediate and defined variables, the state of the
processor executing the program, and the allocated address space among
other data.")
(=>
(instance ?State ProcessState)
(exists (?Program)
(and
(instance ?Program ComputerProgram)
(forall (?Process)
(=>
(programRunning ?Process ?Program)
(represents ?State ?Process))))))
(instance stateOfProcess BinaryPredicate)
(domain stateOfProcess 1 ComputerProcess)
(domain stateOfProcess 2 ProcessState)
(documentation stateOfProcess EnglishLanguage "(&%stateOfProcess ?PROCESS ?STATE) says
that ?STATE is a state of the &%ComputerProcess ?PROCESS.")
(subclass AutomaticApplication ComputerProgram)
(documentation AutomaticApplication EnglishLanguage "A program which is started
automatically, as opposed to an application started in response to
some condition becoming true.")
;; "If an application is an automatic application, it is started when
;; the software system is started".
(=>
(and
(instance ?Application AutomaticApplication)
(instance ?System SoftwareSystem)
(part ?Application ?System))
(part (StartupFn ?Application) (StartupFn ?System)))
(subclass RM-StartApplication ComputerProgram)
(documentation RM-StartApplication EnglishLanguage "A program started by a Resource
Management program, which determines if and where to start the
application.")
(=>
(instance ?RM RM-StartApplication)
(exists (?Application ?Process ?RMCopy)
(and
(instance ?Application ComputerProgram)
(programCopy ?RMCopy ?RM)
(programRunning ?Process (StartupFn ?Application))
(agent ?Process ?RMCopy))))
(subclass ConsoleApplication ComputerProgram)
(documentation ConsoleApplication EnglishLanguage "A Program which is started inside
an Xterm or other console.")
(subclass ResourceManagementProgram ComputerProgram)
(documentation ResourceManagementProgram EnglishLanguage "The class of resource
management programs.")
(instance rMProgram-of BinaryPredicate)
(domain rMProgram-of 1 ResourceManagementProgram)
(domain rMProgram-of 2 SoftwareSystem)
(documentation rMProgram-of EnglishLanguage "(&%rMProgram-of ?RM ?SYSTEM) means that
?RM is the resource management program of the &%SoftwareSystem ?SYSTEM.")
;; "The resource management program of a software system controls
;; applications in this system" .
(=>
(rMProgram-of ?RM ?System)
(exists (?Application ?Process ?RMCopy)
(and
(part ?Application ?System)
(programCopy ?RMCopy ?RM)
(programRunning ?Process ?Application)
(agent ?Process ?RMCopy))))
(instance programCopy AsymmetricRelation)
(subrelation programCopy containsInformation)
(domain programCopy 1 ComputerFile)
(domain programCopy 2 ComputerProgram)
(documentation programCopy EnglishLanguage "(&%programCopy ?File ?Program) means that
the &%ComputerFile ?File is one of the copies of the &%ComputerProgram
?Program.")
(instance criticalityLevel BinaryPredicate)
(domain criticalityLevel 1 ComputerProgram)
(domain criticalityLevel 2 Integer)
(documentation criticalityLevel EnglishLanguage "(&%criticalityLevel ?PROGRAM ?INTEGER)
holds just in case ?INTEGER indicates the relative priority of ?PROGRAM
with respect to other applications within the &%SoftwareSystem.")
(instance startupTimeDelay BinaryPredicate)
(domain startupTimeDelay 1 ComputerProgram)
(domain startupTimeDelay 2 TimeDuration)
(documentation startupTimeDelay EnglishLanguage "(&%startupTimeDelay ?PROGRAM ?TIME)
says that ?TIME is the time to delay after the previous application
was started before starting the application ?PROGRAM.")
;; "If an application has a startupTimeDelay of n seconds, then
;; any process which runs after this application has a starting point
;; n seconds later than the startup of this application."
(=>
(and
(startupTimeDelay ?Application ?Delay)
(instance ?Process1 ComputerProcess)
(programRunning ?Process1 ?Application)
(equal (WhenFn ?Process1) ?Time1)
(instance ?Process2 ComputerProcess)
(equal (WhenFn ?Process2) ?Time2)
(meetsTemporally ?Time1 ?Time)
(meetsTemporally ?Time ?Time2))
(measure ?Time ?Delay))
(subclass Feedback ContentBearingObject)
(documentation Feedback EnglishLanguage "The class of all messages to a resource
management program from one of its processes.")
(<=>
(instance ?Feedback Feedback)
(exists (?RM ?Process ?Program)
(and
(rMProgram-of ?RM ?Program)
(programRunning ?Process ?Program)
(instance ?Send DataTransfer)
(patient ?Send ?Feedback)
(destination ?Send ?RM))))
(instance processList Predicate)
(instance processList VariableArityRelation)
(documentation processList EnglishLanguage "The arguments of this relation are data
structures, each of which contains the information necessary for the
process already loaded by the operating system to execute on a processor.")
;; "The processes in the list are ordered by the start time" .
(=>
(and
(processList @ROW)
(inList ?Process1 (ListFn @ROW))
(inList ?Process2 (ListFn @ROW))
(equal (ListOrderFn (ListFn @ROW) ?Number1) ?Process1)
(equal (ListOrderFn (ListFn @ROW) ?Number2) ?Process2)
(lessThan ?Number1 ?Number2))
(earlier (WhenFn ?Process1) (WhenFn ?Process2)))
(instance settlingTime BinaryPredicate)
(domain settlingTime 1 ComputerProgram)
(domain settlingTime 2 TimeDuration)
(documentation settlingTime EnglishLanguage "(&%settlingTime ?PROGRAM ?TIME) says that
?TIME represents seconds to delay after an action was taken with respect
to QoS.")
(instance minimumReplications BinaryPredicate)
(domain minimumReplications 1 ComputerProgram)
(domain minimumReplications 2 PositiveInteger)
(documentation minimumReplications EnglishLanguage "(&%minimumReplications ?PROGRAM
?INTEGER) means that ?INTEGER represents the minimum copies of the
application ?PROGRAM required to be survivable, where a program is
survivable if the failure of one or more resources does not result
in the failure of the program. Either long MTTF for the system as a
whole or short MTTR when failure occurs would improve the survivability
of a program.")
;; "MinimumReplications is the mininum number of copies of the application
;; involved in a running process".
(=>
(minimumReplications ?Application ?MinCopies)
(greaterThanOrEqualTo
(CardinalityFn
(KappaFn ?Copy
(programRunning ?Copy ?Application))) ?MinCopies))
(instance maximumReplications BinaryPredicate)
(domain maximumReplications 1 ComputerProgram)
(domain maximumReplications 2 PositiveInteger)
(documentation maximumReplications EnglishLanguage "(&%maximumReplications ?PROGRAM ?INTEGER) means that
?INTEGER represents the maximum number of copies of this application which can be run
during a process.")
;; "MaximumReplications is the maximum number of copies of the application
;; allowed to run during a process".
(=>
(maximumReplications ?Application ?MaxCopies)
(greaterThanOrEqualTo ?MaxCopies
(CardinalityFn
(KappaFn ?Copy
(programRunning ?Copy ?Application)))))
(subclass IPAddress PhysicalAddress)
(documentation IPAddress EnglishLanguage "The Internet Protocol address, a numeric address such as 123.231.32.2 that
the domain name server translates into a domain name.")
(instance ipAddressOf BinaryPredicate)
(domain ipAddressOf 1 Computer)
(domain ipAddressOf 2 IPAddress)
(documentation ipAddressOf EnglishLanguage "(&%ipAddressOf ?HOST ?ADDRESS) holds if ?ADDRESS is the &%IPAddress of
the computer ?HOST.")
(instance portNumber BinaryPredicate)
(domain portNumber 1 ComputerProgram)
(domain portNumber 2 PositiveInteger)
(documentation portNumber EnglishLanguage "(&%portNumber ?PROGRAM ?NUMBER) holds if ?NUMBER identifies a protocol
port, i.e. a TCP-IP software abstraction used to distinguish different applications providing
services within a single destination computer. The different ports on a host are identified by a
positive 16-bit number.")
(instance processID BinaryPredicate)
(domain processID 1 ComputerProcess)
(domain processID 2 PositiveInteger)
(documentation processID EnglishLanguage "(&%processID ?PROCESS ?NUMBER) holds if ?NUMBER is a unique number
generated by the operating system and used to refer to the &%ComputerProcess ?PROCESS. There
is usually no significance to the numbers as they are reused as old processes die and new processes
are created.")
(subclass ProcessStatus RelationalAttribute)
(documentation ProcessStatus EnglishLanguage "A class of attributes. Each instance of &%ProcessStatus describes a
status of a &%Process, such as &%ProcessFailure, &%ProcessSuccess, etc.")
(instance ProcessFailure ProcessStatus)
(documentation ProcessFailure EnglishLanguage "An attribute that denotes the failure of the &%Process to achieve
its goal.")
(instance ProcessSuccess ProcessStatus)
(contraryAttribute ProcessSuccess ProcessFailure)
(documentation ProcessSuccess EnglishLanguage "An attribute that denotes the success of the &%Process to achieve
its goal.")
(subrelation status property)
(domain status 1 ComputerProcess)
(domain status 2 ProcessStatus)
(documentation status EnglishLanguage "(&%status ?PROCESS ?STATUS) holds if ?STATUS is the current status of ?PROCESS.")
(=>
(and
(status ?Process ProcessFailure)
(hasPurpose ?Process ?Purpose))
(not (holdsDuring (ImmediatePastFn (WhenFn ?Process)) ?Purpose)))
(subclass ComputerComponent ComputerHardware)
(documentation ComputerComponent EnglishLanguage "An instance of &%ComputerComponent is a
piece of computer hardware that has measurable performance characteristics
in terms of different units. Components include hard drives, the performance
of which can be measured in terms of &%BitsPerSecond required to transfer data
to and from the drive, network adapters, the performance of which can be
measured by &%PacketsPerSecond units of data transfered to and from the adapter,
and other common components like &%ComputerMemory and &%CentralProcessingUnit.")
(=>
(instance ?Component ComputerComponent)
(exists (?Unit)
(unitMeasuringPerformance ?Component ?Unit)))
(subclass NetworkAdapter ComputerComponent)
(documentation NetworkAdapter EnglishLanguage "A network adapter, also known as a Network
Interface Card or NIC, is a physical device installed in a computer on its
system bus. Its purpose is to connect to a specific type of network,
usually an ethernet or a token ring network.")
(=>
(instance ?NA NetworkAdapter)
(exists (?Net)
(and
(instance ?Net ComputerNetwork)
(connected ?NA ?Net))))
(instance unitMeasuringPerformance BinaryPredicate)
(domain unitMeasuringPerformance 1 ComputerComponent)
(domain unitMeasuringPerformance 2 UnitOfMeasure)
(documentation unitMeasuringPerformance EnglishLanguage "(&%unitMeasuringPerformance ?COMPONENT
?UNIT) holds in case ?UNIT is an instance of &%UnitOfMeasure which is used to
measure the performance of ?COMPONENT.")
;; "The performance of Hard Drives is measured in BitsPerSecond" .
(=>
(instance ?HardDrive HardDiskDrive)
(unitMeasuringPerformance ?HardDrive BitsPerSecond))
;; "The performance of network adapters is measured by packets/second" .
(=>
(instance ?NA NetworkAdapter)
(unitMeasuringPerformance ?NA PacketsPerSecond))
(subclass MonitoringProgram ComputerProgram)
(documentation MonitoringProgram EnglishLanguage "A program which monitors performance
of an application, a component, etc.")
(=>
(instance ?Monitor MonitoringProgram)
(exists (?System ?Event ?MonitorCopy)
(and
(systemMeasured ?Event ?System)
(programCopy ?MonitorCopy ?Monitor)
(agent ?Event ?MonitorCopy))))
(instance systemMeasured BinaryPredicate)
(instance systemMeasured AsymmetricRelation)
(domain systemMeasured 1 MeasuringPerformance)
(domain systemMeasured 2 ComputationalSystem)
(documentation systemMeasured EnglishLanguage "(&%systemMeasured ?Event ?System) means that
?Event is an event of measuring the performance of the &%ComputationalSystem
?System.")
(instance dataID BinaryPredicate)
(domain dataID 1 MonitoringProgram)
(domain dataID 2 SymbolicString)
(documentation dataID EnglishLanguage "(&%dataID ?PROGRAM ?NUMBER) holds if ?NUMBER is a small
number associated with an instance of &%MonitoringProgram.")
(subclass MeasuringPerformance ComputerProcess)
(documentation MeasuringPerformance EnglishLanguage "Each element of &%MeasuringPerformance
is an event of measuring the performance of an instance of &%ComputerComponent,
performed by a &%MonitoringProgram.")
(=>
(instance ?Event MeasuringPerformance)
(exists (?Program ?Copy)
(and
(instance ?Program MonitoringProgram)
(programCopy ?Copy ?Program)
(agent ?Event ?Copy))))
(instance componentDataID QuintaryPredicate)
(domain componentDataID 1 TimePosition)
(domainSubclass componentDataID 2 ComputerComponent)
(domain componentDataID 3 ComputerComponent)
(domain componentDataID 4 UnitOfMeasure)
(domain componentDataID 5 SymbolicString)
(documentation componentDataID EnglishLanguage "(&%componentDataID ?TIME ?COMPONENT ?INSTANCE
?UNIT ?NUMBER) holds if ?INSTANCE is an instance of ?COMPONENT, identified by
&%IDNumber ?NUMBER, and whose performance is measured by a &%UnitOfMeasure-ComputerPerformance ?UNIT. The timestamp ?TIME identifies the time when this
information was created.")
(=>
(componentDataID ?Time ?Component ?Instance ?Unit ?Number)
(instance ?Instance ?Component))
(=>
(componentDataID ?Time ?Component ?Instance ?Unit ?Number)
(unitMeasuringPerformance ?Instance ?Unit))
(=>
(componentDataID ?Time ?Component ?Instance ?Unit ?Number)
(refers ?Number ?Instance))
(subrelation heartBeatRate frequency)
(domain heartBeatRate 1 ComputerProgram)
(domain heartBeatRate 2 TimeDuration)
(documentation heartBeatRate EnglishLanguage "(&%heartBeatRate ?Program ?Period) holds if
?Period is the period at which the ComputerProgram ?Program sends its heartbeat
to a monitoring process.")
(subclass MonitorConnectivityCmd MonitoringProgram)
(documentation MonitorConnectivityCmd EnglishLanguage "This is the command to get a list
of applications periodically.")
(subclass MonitorApplicationCmd MonitoringProgram)
(documentation MonitorApplicationCmd EnglishLanguage "This command is to change the monitoring
for any component for which a &%componentDataID was sent on initial connection.")
(subclass MonitorComponentCmd MonitoringProgram)
(documentation MonitorComponentCmd EnglishLanguage "This is the command to monitor any of the
generic components - hard drive, network, cpu, memory, etc." )
(instance performanceResult TernaryPredicate)
(domain performanceResult 1 MeasuringPerformance)
(domain performanceResult 2 ComputerComponent)
(domain performanceResult 3 RealNumber)
(documentation performanceResult EnglishLanguage "(&%performanceResult ?EVENT ?COMPONENT
?NUMBER) holds if the performance of ?COMPONENT has a value ?NUMBER,
measured by ?EVENT, an instance of &%MeasuringPerformance.")
(instance monitorComponentData TernaryPredicate)
(domain monitorComponentData 1 TimePosition)
(domain monitorComponentData 2 SymbolicString)
(domain monitorComponentData 3 RealNumber)
(documentation monitorComponentData EnglishLanguage "(&%monitorComponentData ?TIME ?ID
?NUMBER) holds if at time ?TIME, a component with the &%IDNumber ?ID
has a performance of a value ?NUMBER.")
(=>
(and
(monitorComponentData ?Time1 ?ID ?Number)
(componentDataID ?Time2 ?Component ?Instance ?Unit ?ID))
(exists (?Event)
(and
(instance ?Event MeasuringPerformance)
(unitMeasuringPerformance ?Instance ?Unit)
(time ?Event ?Time1)
(performanceResult ?Event ?Instance ?Number))))
(instance monitorConnectivityData BinaryPredicate)
(domain monitorConnectivityData 1 TimePosition)
(domain monitorConnectivityData 2 IPAddress)
(documentation monitorConnectivityData EnglishLanguage "(&%monitorConnectivityData ?TIME
?IPADDRESS) is a relation between a timestamp ?TIME and an ?IP address.")
(instance monitorApplicationData BinaryPredicate)
(domain monitorApplicationData 1 TimePosition)
(domain monitorApplicationData 2 ComputerProgram)
(documentation monitorApplicationData EnglishLanguage "(&%monitorApplicationData ?TIME
?APPLICATION) holds if the time stamp ?TIME specifies the time at which
?APPLICATION is running.")
(=>
(monitorApplicationData ?Time ?Application)
(exists (?Process)
(and
(programRunning ?Process ?Application)
(time ?Process ?Time))))
(instance Executable RelationalAttribute)
(documentation Executable EnglishLanguage "Able to be run in its current format.")
(<=>
(exists (?Process)
(programRunning ?Process ?Program))
(property ?Program Executable))
(subclass OperatingSystem SoftwareSystem)
(documentation OperatingSystem EnglishLanguage "The master control program that runs the
computer. It is the first program loaded when the computer is turned on,
and its main part, called the kernel, resides in memory at all times. It
may be developed by the vendor of the computer it's running in or by a
third party.")
(instance defaultNetwork BinaryPredicate)
(domain defaultNetwork 1 HardwareSystem)
(domain defaultNetwork 2 ComputerNetwork)
(documentation defaultNetwork EnglishLanguage "(&%defaultNetwork ?SYSTEM ?NET) holds if
?NET is the default network of the &%HardwareSystem ?SYSTEM.")
(subclass Solaris OperatingSystem)
(documentation Solaris EnglishLanguage "The class of all instances of Solaris , a
unix-based operating system for Sun SPARC computers. It includes the
Open Look and Motif graphical user interfaces, OpenWindows (the Sun
version of X Windows), DOS and Windows Emulation, and ONC networking.")
(instance numberOfCPUs BinaryPredicate)
(domain numberOfCPUs 1 Computer)
(domain numberOfCPUs 2 PositiveInteger)
(documentation numberOfCPUs EnglishLanguage "(&%numberOfCPUs ?COMPUTER ?INTEGER) means
that the number of CPUs for the host ?COMPUTER is equal to INTEGER.")
(subrelation hardwareType represents)
(domain hardwareType 1 SymbolicString)
(domain hardwareType 2 Computer)
(documentation hardwareType EnglishLanguage "(&%hardwareType ?TYPE ?COMPUTER) means that
TYPE represents the computer vendor model name, as well as the version
of the product.")
(=>
(and
(hardwareType ?Type ?Computer)
(productModel ?Model ?Computer))
(subsumesContentInstance ?Type ?Model))
(=>
(and
(hardwareType ?Type ?Computer)
(version ?Version ?Computer))
(subsumesContentInstance ?Type ?Version))
(instance thresholdOf BinaryPredicate)
(domain thresholdOf 1 Computer)
(domain thresholdOf 2 PositiveRealNumber)
(instance benchmarkPerformance TernaryPredicate)
(domain benchmarkPerformance 1 ComputationalSystem)
(domain benchmarkPerformance 2 MonitoringProgram)
(domain benchmarkPerformance 3 Quantity)
(documentation benchmarkPerformance EnglishLanguage "(&%benchmarkPerformance ?SYSTEM
?TEST ?NUMBER) holds if ?NUMBER is a benchmark for measuring the performance
of an instance of a &%ComputationalSystem.")
(=>
(benchmarkPerformance ?System ?Test ?Number)
(exists (?Event)
(and
(instance ?Event MeasuringPerformance)
(performanceResult ?Event ?System ?Number))))
(instance bandwidthOf BinaryPredicate)
(domain bandwidthOf 1 ComputerNetwork)
(domain bandwidthOf 2 BitsPerSecond)
(documentation bandwidthOf EnglishLanguage "(&%bandwidthOf ?NET ?BANDWIDTH) holds if
?BANDWIDTH is the amount of data which can be sent through an instance
of a &%ComputerNetwork ?NET, measured in bits per second.")
(instance priority BinaryPredicate)
(domain priority 1 ComputationalSystem)
(domain priority 2 PriorityAttribute)
(documentation priority EnglishLanguage "(&%priority ?SYSTEM ?QUANTITY) means that the
priority of the ?SYSTEM is characterized by a &%PriorityAttribute, such
as &%HighPriority or &%LowPriority.")
(subclass PriorityAttribute RelationalAttribute)
(documentation PriorityAttribute EnglishLanguage "A class of attributes which describe
priorities of &%ComputationalSystems.")
(instance HighPriority PriorityAttribute)
(documentation HighPriority EnglishLanguage "Used to indicate that a &%ComputationalSystem
has a high priority.")
(instance LowPriority PriorityAttribute)
(documentation LowPriority EnglishLanguage "Used to indicate that a &%ComputationalSystem
has a low priority.")
(subclass ComputerPath DigitalData)
(documentation ComputerPath EnglishLanguage "An instance of &%ComputerPath is a series
of programs that connects input devices, typically sensors, to output
devices, typically actuators.")
(instance softwarePath BinaryPredicate)
(domain softwarePath 1 SoftwareSystem)
(domain softwarePath 2 ComputerPath)
(documentation softwarePath EnglishLanguage "(&%softwarePath ?SYSTEM ?PATH) means that
?PATH is a computer path for the instance of &%SoftwareSystem ?SYSTEM.")
(subclass SoftwareAttribute RelationalAttribute)
(documentation SoftwareAttribute EnglishLanguage "The class of all attributes that are
specific to &%SoftwareSystems.")
(subclass ComputerPathAttribute SoftwareAttribute)
(documentation ComputerPathAttribute EnglishLanguage "The class of all attributes that are
specific to &%ComputerPaths.")
(=>
(instance ?Attribute ComputerPathAttribute)
(exists (?Path)
(and
(instance ?Path ComputerPath)
(property ?Path ?Attribute))))
(instance PathImportanceFunction ComputerPathAttribute)
(documentation PathImportanceFunction EnglishLanguage "The attribute which denotes that
the path importance is defined by the dynamic library procedure
&%pathImportanceFunction. This functions passes arguments for priority
and current time and returns an integer that represents importance.")
(subclass Scalable ComputerPathAttribute)
(documentation Scalable EnglishLanguage "The attribute which denotes that the path is
scalable, i.e. the applications in the path can be replicated to meet
realtime QoS requirements.")
(subclass DynamicDataStream ComputerPathAttribute)
(documentation DynamicDataStream EnglishLanguage "The attribute which denotes that the
path data stream type is dynamic, i.e. the time changes but the data
stream follows a pattern.")
(subclass StochasticDataStream ComputerPathAttribute)
(documentation StochasticDataStream EnglishLanguage "The attribute which denotes that
the time between data or groups of data changes according to no
discernible pattern.")
(subclass DeterministicDataStream ComputerPathAttribute)
(documentation DeterministicDataStream EnglishLanguage "The attribute which denotes that
the data stream is conceived as a stream of one datum after another, and
each datum or identifiable group of data is separated by a constant of
time.")
(=>
(and
(instance ?Path ComputerPath)
(property ?Path DynamicDataStream))
(not (property ?Path StochasticDataStream)))
(=>
(and
(instance ?Path ComputerPath)
(property ?Path DynamicDataStream))
(not (property ?Path DeterministicDataStream)))
(subclass ContinuousPath ComputerPathAttribute)
(documentation ContinuousPath EnglishLanguage "The attribute which denotes that the
path type is continuous, as opposed to transient or quasicontinuous
paths. A continuous path handles a stream of data arriving at a comment
of rate.")
(subclass TransientPath ComputerPathAttribute)
(documentation TransientPath EnglishLanguage "An attribute which applies to computer
paths which handle random events.")
(subclass QuasicontinuousPath ComputerPathAttribute)
(documentation QuasicontinuousPath EnglishLanguage "An attribute which applies to
computer paths which handle random events, which initiate a bounded
stream of data arriving at a comment of rate, which the path must
process.")
(=>
(and
(instance ?Path ComputerPath)
(property ?Path ContinuousPath))
(not (property ?Path TransientPath)))
(=>
(and
(instance ?Path ComputerPath)
(property ?Path ContinuousPath))
(not (property ?Path QuasicontinuousPath)))
(instance simpleDeadline BinaryPredicate)
(domain simpleDeadline 1 ComputerPath)
(domain simpleDeadline 2 TimeDuration)
(documentation simpleDeadline EnglishLanguage "(&%simpleDeadline ?PATH ?TIME)holds if
?TIME is the maximum end-to-end path latency during a cycle of a
continuous or quasicontinuous path or during the activation of a transient
path.")
(instance batchLatency BinaryPredicate)
(domain batchLatency 1 ComputerPath)
(domain batchLatency 2 TimeDuration)
(documentation batchLatency EnglishLanguage "(&%batchLatency ?PATH ?TIME)holds if ?TIME
is the maximum allowed latency for all cycles of a quasicontinuous path.")
(instance batchInterArrival BinaryPredicate)
(domain batchInterArrival 1 ComputerPath)
(domain batchInterArrival 2 TimeDuration)
(documentation batchInterArrival EnglishLanguage "(&%batchInterArrival ?PATH ?TIME)
holds if ?TIME is the maximum allowable time between processing of a
particular element of a continuous or quasicontinuous path's data
stream in successive cycles.")
(instance qoSSlack TernaryRelation)
(domain qoSSlack 1 ComputerPath)
(domain qoSSlack 2 ConstantQuantity)
(domain qoSSlack 3 ConstantQuantity)
(documentation qoSSlack EnglishLanguage "(&%qoSSlack ?PATH ?MIN ?MAX) holds if ?PATH
has a realtime QoS maximum slack percentage of ?MAX and minimum of
?MIN.")
(instance slidingWindowSize BinaryPredicate)
(domain slidingWindowSize 1 ComputerPath)
(domain slidingWindowSize 2 PositiveInteger)
(documentation slidingWindowSize EnglishLanguage "(&%slidingWindowSize ?PATH ?N) holds
if PATH has a realtime QoS sliding window size of ?N measured samples.")
(instance dataStreamSlack BinaryPredicate)
(domain dataStreamSlack 1 ComputerPath)
(domain dataStreamSlack 2 PositiveInteger)
(documentation dataStreamSlack EnglishLanguage "(&%dataStreamSlack ?PATH ?N) means that
a continuous or quasicontinuous path ?PATH should be able to process ?N
additional data items at any time.")
(=>
(dataStreamSlack ?Path ?Number)
(or
(property ?Path ContinuousPath)
(property ?Path QuasicontinuousPath)))
(instance dependencyType BinaryPredicate)
(domain dependencyType 1 ComputerProgram)
(domainSubclass dependencyType 2 ComputerProgram)
(documentation dependencyType EnglishLanguage "(&%dependencyType ?PROGRAM ?TYPE) means
that ?PROGRAM has a dependency type ?TYPE, where ?TYPE can be either
&%StartupBlock or &%ShutdownBlock.")
(=>
(dependencyType ?Program ?Type)
(or
(equal ?Type StartupBlock)
(equal ?Type ShutdownBlock)))
(instance Restartable SoftwareAttribute)
(documentation Restartable EnglishLanguage "The attribute which denotes that a program
can be restarted.")
(instance hasDependency BinaryPredicate)
(domain hasDependency 1 ComputerProgram)
(domain hasDependency 2 ComputerProgram)
(documentation hasDependency EnglishLanguage "(&%hasDependency ?PROGRAM1 ?PROGRAM2)
holds if ?PROGRAM1 is dependent on the application ?PROGRAM2.")
(instance dependencyDelay BinaryPredicate)
(domain dependencyDelay 1 ComputerProgram)
(domain dependencyDelay 2 TimeDuration)
(documentation dependencyDelay EnglishLanguage "if the dependency type is &%StartupBlock,
then (&%dependencyDelay ?PROGRAM ?TIME) means that the application
?PROGRAM can only be started after a dependency delay of ?TIME after the
startup of the application. If the dependency type is &%ShutdownBlock, then
(&%dependencyDelay ?PROGRAM ?TIME) means that the application ?PROGRAM can
only be stopped after a dependency delay of ?TIME after the application
is stopped.")
(=>
(exists (?Time1 ?Time2)
(and
(dependencyDelay ?Program1 ?Delay)
(dependencyType ?Program1 StartupBlock)
(hasDependency ?Program1 ?Program2)
(instance ?Process1 ComputerProcess)
(programRunning ?Process1 ?Program1)
(instance ?Process2 ComputerProcess)
(programRunning ?Process2 ?Program2)
(equal (WhenFn ?Process2) ?Time2)
(starts ?Time2 ?Time)
(equal (WhenFn ?Process1) ?Time1)
(equal (EndFn ?Time) (BeginFn ?Time1))))
(duration ?Time ?Delay))
(=>
(exists (?Time1 ?Time2)
(and
(dependencyDelay ?Program1 ?Delay)
(dependencyType ?Program1 ShutdownBlock)
(hasDependency ?Program1 ?Program2)
(instance ?Process1 ComputerProcess)
(programRunning ?Process1 ?Program1)
(instance ?Process2 ComputerProcess)
(programRunning ?Process2 ?Program2)
(equal (WhenFn ?Process2) ?Time2)
(finishes ?Time ?Time1)
(equal (WhenFn ?Process2) ?Time2)
(equal (BeginFn ?Time) (EndFn ?Time2))))
(duration ?Time ?Delay))
(instance ReplicationsOnSameHostOK SoftwareAttribute)
(documentation ReplicationsOnSameHostOK EnglishLanguage "The attribute which denotes that
a program can be restarted on the same host.")
(=>
(property ?Program ReplicationsOnSameHostOK)
(property ?Program Restartable))
(instance commandLineArguments BinaryPredicate)
(domain commandLineArguments 1 ComputerProgram)
(domain commandLineArguments 2 List)
(documentation commandLineArguments EnglishLanguage "(&%commandLineArguments ?PROGRAM
?LIST) means that the application ?PROGRAM requires command line
arguments, as specified in ?LIST.")
(instance ScalabilityCombining SoftwareAttribute)
(documentation ScalabilityCombining EnglishLanguage "The attribute which denotes that
an application can combine its input stream from different preceding
applications or devices for greater scalability.")
(instance ScalabilitySplitting SoftwareAttribute)
(documentation ScalabilitySplitting EnglishLanguage "The attribute which denotes that
a program can split its output stream to different succeeding
applications or devices for greater scalability.")
(instance InitialProfileFn UnaryFunction)
(domain InitialProfileFn 1 ComputerProgram)
(range InitialProfileFn ProcessState) ;; RAP - added, but not sure if this is what was intended
(documentation InitialProfileFn EnglishLanguage "The function which returns as its value
the initial profile of the program, i.e. a report of its execution
characteristics.")
(instance CPUUtilizationFn UnaryFunction)
(domain CPUUtilizationFn 1 ComputerProgram)
(range CPUUtilizationFn ConstantQuantity)
(documentation CPUUtilizationFn EnglishLanguage "(&%CPUUtilizationFn ?PROGRAM) refers to
the percentage of time the CPU is used by an application ?PROGRAM.")
(subclass RealtimeSystem ComputationalSystem)
(documentation RealtimeSystem EnglishLanguage "An computer-controlled system, the
correct operation of which depends on meeting specified timing
constraints.")
(subclass HardwareSystem RealtimeSystem)
(subclass ComputerNetwork RealtimeSystem)
(subclass RealtimeSystemAttribute RelationalAttribute)
(documentation RealtimeSystemAttribute EnglishLanguage "The class of &%Attributes which
describe instances of the class &%RealtimeSystem.")
(subclass SystemBehaviorAttribute RealtimeSystemAttribute)
(documentation SystemBehaviorAttribute EnglishLanguage "A subclass of
&%RealtimeSystemAttribute, which includes the following &%Attributes:
&%Periodic-SystemBehavior, &%Transient-SystemBehavior, and
&%Hybrid-SystemBehavior.")
(subrelation systemBehavior property)
(domain systemBehavior 1 RealtimeSystem)
(domain systemBehavior 2 SystemBehaviorAttribute)
(documentation systemBehavior EnglishLanguage "(&%systemBehavior ?System ?Attribute)
holds if ?Attribute is a SystemBehaviorAttribute which describes the
&%RealtimeSystem ?System.")
(subclass Periodic-SystemBehavior SystemBehaviorAttribute)
(documentation Periodic-SystemBehavior EnglishLanguage "An instance of the class
&%RealtimeSystem is described as a system with &%Periodic-SystemBehavior
when it is activated at regular intervals.")
(subclass Transient-SystemBehavior SystemBehaviorAttribute)
(documentation Transient-SystemBehavior EnglishLanguage "An instance of the class
&%RealtimeSystem shows &%Transient-SystemBehavior when it is
activated by sporadic events.")
(subclass Hybrid-SystemBehavior SystemBehaviorAttribute)
(subAttribute Hybrid-SystemBehavior Transient-SystemBehavior)
(subAttribute Hybrid-SystemBehavior Periodic-SystemBehavior)
(documentation Hybrid-SystemBehavior EnglishLanguage "An instance of the class
&%RealtimeSystem shows &%Hybrid-SystemBehavior if it is
activated by transient events, i.e. it is executed at regular
intervals when activated, and is deactivated by action completion.")
(subclass DesignPatternAttribute RealtimeSystemAttribute)
(documentation DesignPatternAttribute EnglishLanguage "This is a subclass of
&%RealtimeSystemAttribute, which includes &%Guidance-DesignPattern,
&%Initiation-DesignPattern, and &%Assessment-DesignPattern.")
(subrelation designPattern property)
(domain designPattern 1 RealtimeSystem)
(domain designPattern 2 DesignPatternAttribute)
(documentation designPattern EnglishLanguage "(&%designPattern ?System ?Attribute) holds
if ?Attribute is a &%DesignPatternAttribute which describes the
&%RealtimeSystem ?System.")
(subclass Guidance-DesignPattern DesignPatternAttribute)
(documentation Guidance-DesignPattern EnglishLanguage "Instances of &%RealtimeSystems
are described as systems with &%Guidance-DesignPattern if they consist
of sensors connected to a software module that filters data from the
sensors and sends the filtered data to a software module that evaluates
the filtered data and sends instructions to a software module that
commands actuators. The design pattern is an event source that produces
events and a data source that produces data, both executing in parallel
and handled by a single event-driven periodic data handler. The two
separate input streams have fundamentally different characteristics.
The event stream is necessarily asychronous, or transient. Once an
event is sensed, the handler accepts data from the data stream, which
has an invariant cycle time. There are two deadlines for a real-time
guidance system. The period deadline is the time to process all elements
in the data stream once and generate an actuator command. The action
completion deadline is the time to guide the actuator to completion of
the action.")
(=>
(designPattern ?System Guidance-DesignPattern)
(systemBehavior ?System Transient-SystemBehavior))
(subclass Initiation-DesignPattern DesignPatternAttribute)
(documentation Initiation-DesignPattern EnglishLanguage "An instance of the class
&%RealtimeSystem has &%Initiation-DesignPattern if it consists of
one software module and the actuators it commands. The design pattern
is an event source which produces events for an event handler. The
event source is typically an evaluate-and-decide software module.
The event stream is necessarily asychronous, or transient. The arrival
rate of events may vary and is unbounded. Events may be either
homogeneous or heterogeneous. The workload per event for homogeneous
events is constant. The workload per event for heterogeneous events
is a function of each event type. There is one deadline for real-time
action initiation systems. It is the upper bound on the time to
generate a command for the actuator.")
(=>
(designPattern ?System Initiation-DesignPattern)
(systemBehavior ?System Transient-SystemBehavior))
(subclass Assessment-DesignPattern DesignPatternAttribute)
(documentation Assessment-DesignPattern EnglishLanguage "An instance of the class
&%RealtimeSystem has &%Initiation-DesignPattern if it consists of
sensors connected to a software module that filters data from the
sensors and sends the filtered data to another software module that
evaluates the filtered data and sends decisions to a subsystem.
The design pattern is a data source that produces a data stream for
a data handler. The data source is typically a periodically sampled
collection of sensors. The data stream's size may vary and is
unbounded. Data may be either homogeneous or heterogeneous. The
workload per data element for homogeneous data is constant. The
workload per data element for heterogeneous data is a function of
each element type. There is one deadline for real-time situation
assessment systems. It is the upper bound on the time to process
all elements in the data stream once.")
(subclass TaskRelationAttribute RealtimeSystemAttribute)
(documentation TaskRelationAttribute EnglishLanguage "This is a subclass of
&%RealtimeSystemAttribute, which includes &%Independent-TaskRelation
and &%Dependent-TaskRelation.")
(subrelation taskRelation property)
(domain taskRelation 1 RealtimeSystem)
(domain taskRelation 2 TaskRelationAttribute)
(documentation taskRelation EnglishLanguage "(&%taskRelation ?System ?Attribute) holds
if ?Attribute is a &%TaskRelationAttribute which describes the
&%RealtimeSystem ?System.")
(subclass Independent-TaskRelation TaskRelationAttribute)
(documentation Independent-TaskRelation EnglishLanguage "An instance of &%RealtimeSystem
is described as &%Independent-TaskRelation if its correct execution
does not depend on the inputs from any other function, the execution state
of any other function, or the acceptance of its outputs by any other
function.")
(instance Dependent-TaskRelation TaskRelationAttribute)
(documentation Dependent-TaskRelation EnglishLanguage "An instance of &%RealtimeSystem
is described as &%Dependent-TaskRelation if it depends on at least one
other function in the system, that is, its correct execution depends on
the input from another function, the execution state of another function,
or the acceptance of its outputs by another function.")
(subclass FormOfAdaptationAttribute RealtimeSystemAttribute)
(documentation FormOfAdaptationAttribute EnglishLanguage "A subclass of
&%RealtimeSystemAttribute, which includes &%Precision-FormOfAdaptation,
&%Slack-FormOfAdaptation, &%Concurrency-FormOfAdaptation, and
&%ResourceAllocation-FormOfAdaptation.")
(subrelation formOfAdaptation property)
(domain formOfAdaptation 1 RealtimeSystem)
(domain formOfAdaptation 2 FormOfAdaptationAttribute )
(documentation formOfAdaptation EnglishLanguage "(&%formOfAdaptation ?System ?Attribute)
holds if ?Attribute is a &%FormOfAdaptationAttribute which describes the
&%RealtimeSystem ?System.")
(subclass Precision-FormOfAdaptation FormOfAdaptationAttribute)
(subclass Slack-FormOfAdaptation FormOfAdaptationAttribute)
(documentation Slack-FormOfAdaptation EnglishLanguage "The attribute &%Slack-FormOfAdaptation
applies to real-time systems that are designed and implemented with enough
resource overhead that the system can always adapt by utilizing the overhead
without complicated decision making.")
(subclass Concurrency-FormOfAdaptation FormOfAdaptationAttribute)
(documentation Concurrency-FormOfAdaptation EnglishLanguage "This attribute applies to
real-time systems that are designed and implemented so that the system
can adapt by replicating the system components and executing them
concurrently.")
(subclass ResourceAllocation-FormOfAdaptation FormOfAdaptationAttribute)
(documentation ResourceAllocation-FormOfAdaptation EnglishLanguage "This attribute applies
to real-time systems that are designed and implemented so that the system
can adapt under the control of a resource allocation manager like Desiderata.")
(subclass TimingRequirementAttribute RealtimeSystemAttribute)
(documentation TimingRequirementAttribute EnglishLanguage "A subclass of
&%RealtimeSystemAttribute which includes &%ComplexityAttribute,
&%StrictnessAttribute, and &%AbstractionLevelAttribute.")
(instance granularity BinaryPredicate)
(domain granularity 1 RealtimeSystem)
(domain granularity 2 TimeDuration)
(documentation granularity EnglishLanguage "Granularity is a sub-property of the
timing requirements property of real-time systems. Granularity is
defined by how a timing requirement is specified in units of time.")
(subclass ComplexityAttribute TimingRequirementAttribute)
(documentation ComplexityAttribute EnglishLanguage "A subclass of
&%TimingRequirementAttribute, which includes
&%MultipleRequirement-Complexity and &%SingleRequirement-Complexity.")
(subrelation complexity property)
(domain complexity 1 RealtimeSystem)
(domain complexity 2 TimingRequirementAttribute)
(documentation complexity EnglishLanguage "(&%complexity ?System ?Attribute) holds if
?Attribute is a &%TimingRequirementAttribute which describes the
&%RealtimeSystem ?System.")
(subclass SingleRequirement-Complexity ComplexityAttribute)
(documentation SingleRequirement-Complexity EnglishLanguage "An attribute that describes
instances of &%RealtimeSystems which require a single timing requirement,
either a bound for completion time for systems with
&%Transient-SystemBehavior or cycle deadline for systems with
&%Periodic-SystemBehavior.")
(=>
(systemBehavior ?System Transient-SystemBehavior)
(complexity ?System SingleRequirement-Complexity))
(=>
(systemBehavior ?System Periodic-SystemBehavior)
(complexity ?System SingleRequirement-Complexity))
(subclass MultipleRequirement-Complexity ComplexityAttribute)
(documentation MultipleRequirement-Complexity EnglishLanguage "An attribute that describes
instances of &%RealtimeSystems which require multiple timing requirements,
both a bound for completion time for its transient behavior and a cycle
deadline for its periodic behavior.")
(=>
(systemBehavior ?System Hybrid-SystemBehavior)
(complexity ?System MultipleRequirement-Complexity))
(subclass StrictnessAttribute TimingRequirementAttribute)
(documentation StrictnessAttribute EnglishLanguage "This is a subclass of
&%TimingRequirementAttribute, which includes &%Hard-Strictness,
&%Firm-Strictness, &%Soft-Strictness, &%Importance-Strictness,
&%Utility-Strictness, and &%Hybrid-Strictness")
(subrelation strictness property)
(domain strictness 1 RealtimeSystem)
(domain strictness 2 StrictnessAttribute)
(documentation strictness EnglishLanguage "(&%strictness ?System ?Attribute) holds if
the &%StrictnessAttribute ?Attribute describes the &%RealtimeSystem
?System.")
(subclass Hard-Strictness StrictnessAttribute)
(documentation Hard-Strictness EnglishLanguage "An attribute that applies to a
&%RealtimeSystem just in case all deadlines are met.")
(subclass Firm-Strictness StrictnessAttribute)
(documentation Firm-Strictness EnglishLanguage "An attribute that applies to a
&%RealtimeSystem just in case a fixed percentage of requirements
is met.")
(subclass Soft-Strictness StrictnessAttribute)
(documentation Soft-Strictness EnglishLanguage "An attribute that applies to a
&%RealtimeSystem just in case it maximizes the number of timing
requirements like deadlines that are met but does not guarantee that
all such requirements will be met or any fixed percentage of
requirements will be met.")
(subclass Importance-Strictness StrictnessAttribute)
(documentation Importance-Strictness EnglishLanguage "An attribute that applies to a
&%RealtimeSystem just in case it is designed and implemented to meet
the more important requirements first.")
(subclass Utility-Strictness StrictnessAttribute)
(documentation Utility-Strictness EnglishLanguage "An attribute that applies to a
&%RealtimeSystem just in case it is designed and implemented to use
a utility-computing function, which is applied to competing timing
requirements to determine which should be met because meeting the
requirement produces higher utility as defined by the function.")
(subclass Hybrid-Strictness StrictnessAttribute)
(documentation Hybrid-Strictness EnglishLanguage "An attribute that applies to a
&%RealtimeSystem just in case the strictness of the system is a
combination of &%Hard/Firm/Soft-Strictness with &%Importance-Strictness
or a combination of &%Utility-Strictness with &%Importance-Strictness.")
(=>
(strictness ?System Hybrid-Strictness)
(or
(and
(strictness ?System Importance-Strictness)
(strictness ?System Utility-Strictness))
(and
(strictness ?System Importance-Strictness)
(strictness ?System Hard-Strictness))
(and
(strictness ?System Importance-Strictness)
(strictness ?System Firm-Strictness))
(and
(strictness ?System Importance-Strictness)
(strictness ?System Soft-Strictness))))
(subclass AbstractionLevelAttribute TimingRequirementAttribute)
(documentation AbstractionLevelAttribute EnglishLanguage "This is a subclass of
&%TimingRequirementAttribute, which includes &%Instrument-AbstractionLevel,
&%Method-AbstractionLevel, &%Object-AbstractionLevel, &%Task-AbstractionLevel,
and &%TaskGroup-AbstractionLevel.")
(subrelation abstractionLevel property)
(instance abstractionLevel BinaryPredicate)
(domain abstractionLevel 1 RealtimeSystem)
(domain abstractionLevel 2 AbstractionLevelAttribute)
(subclass Instrument-AbstractionLevel AbstractionLevelAttribute)
(documentation Instrument-AbstractionLevel EnglishLanguage "The attribute
&%Instrument-AbstractionLevel is the lowest level of abstraction,
which can be used to describe a real-time system or subsystem.")
(subclass Method-AbstractionLevel AbstractionLevelAttribute)
(documentation Method-AbstractionLevel EnglishLanguage "The attribute
&%Method-AbstractionLevel is the next to the lowest level of
abstraction that can be used to describe a real-time system or
subsystem. This is at the level of describing every callable
function (or method in an object-oriented language) implemented
in software.")
(subclass Object-AbstractionLevel AbstractionLevelAttribute)
(documentation Object-AbstractionLevel EnglishLanguage "The attribute
&%Object-AbstractionLevel is immediately above the attribute
&%Method-AbstractionLevel and can be used to describe a real-time
system or subsystem. This is at the level of describing every software
object that can be created from a class together with its data structures
and methods (which define the interface for manipulating the object).")
(subclass Task-AbstractionLevel AbstractionLevelAttribute)
(documentation Task-AbstractionLevel EnglishLanguage "The attribute
&%Task-AbstractionLevel is immediately above the attribute
&%Object-AbstractionLevel and can be used to describe a real-time
system or subsystem. This is at the level of describing the major
tasks that are carried out by the real-time systems and are typically
executable as individual processes. The description of a task would
consist of listing all the software objects used to perform the task.")
(subclass TaskGroup-AbstractionLevel AbstractionLevelAttribute)
(documentation TaskGroup-AbstractionLevel EnglishLanguage "The attribute
&%TaskGroup-AbstractionLevel is immediately above the attribute
&%Task-AbstractionLevel and can be used to describe a real-time
system or subsystem This is at the level of describing groups of
tasks which are related or connected by the real-time systems and
are typically part of a concurrently executing path.")
(subrelation memorySize measure)
(domain memorySize 1 ComputationalSystem)
(domain memorySize 2 ConstantQuantity)
(documentation memorySize EnglishLanguage "(&%memorySize ?System ?Size) holds if
?Size is the required memory size for the &%ComputationalSystem
?System.")
(subclass Sensor ComputerHardware)
(documentation Sensor EnglishLanguage "&%Sensors include software that measures any
attribute of executing computer programs or collections of executing
programs, such as CPU utilization, aka load, memory utilization, I/O,
overall task performance, network load and latency, etc.")
(subclass UniformResourceIdentifier ContentBearingObject)
(exhaustiveDecomposition UniformResourceIdentifier UniformResourceLocator UniformResourceName)
(documentation UniformResourceIdentifier EnglishLanguage "A &%UniformResourceIdentifier
(URI) is a compact string of characters for identifying an abstract or
physical resource. A URI can be further classified as a locator, a name,
or both (source: http://www.ietf.org/rfc/rfc2396.txt).")
(=>
(instance ?URI UniformResourceIdentifier)
(exists (?Resource)
(and
(instance ?Resource DigitalData)
(refers ?URI ?Resource))))
(subclass UniformResourceLocator UniformResourceIdentifier)
(documentation UniformResourceLocator EnglishLanguage "The term &%UniformResourceLocator
(URL) refers to the subset of URI that identify resources via a
representation of their primary access mechanism (e.g., their network
location), rather than identifying the resource by name or by some other
attribute(s) of that resource (source: http://www.ietf.org/rfc/rfc2396.txt).")
(=>
(instance ?URL UniformResourceLocator)
(exists (?Address)
(and
(instance ?Address IPAddress)
(represents ?URL ?Address))))
(subclass UniformResourceName UniformResourceIdentifier)
(documentation UniformResourceName EnglishLanguage "The term UniformResourceName (URN)
refers to the subset of URI that are required to remain globally unique
and persistent even when the resource ceases to exist or becomes
unavailable (source: http://www.ietf.org/rfc/rfc2396.txt).")
(subclass DataSink ComputerInputDevice)
(documentation DataSink EnglishLanguage "A device or part of the computer that
receives data.")
(=>
(instance ?Sink DataSink)
(exists (?Transfer)
(and
(instance ?Transfer DataTransfer)
(destination ?Transfer ?Sink))))
(subclass ComputerUser CognitiveAgent)
(documentation ComputerUser EnglishLanguage "Any individual who interacts with a
computer.")
(=>
(instance ?User ComputerUser)
(exists (?Computer)
(and
(instance ?Computer Computer)
(uses ?User ?Computer))))
(subclass UserRequest ComputerProcess)
(documentation UserRequest EnglishLanguage "A request made by a &%ComputerUser, such as
looking up a customer record.")
(=>
(instance ?Request UserRequest)
(exists (?User)
(and
(instance ?User ComputerUser)
(agent ?Request ?User))))
(subclass ComputerResponse ComputerProcess)
(documentation ComputerResponse EnglishLanguage "A &%ComputerProcess which attempts to
comply with a user's request.")
(instance computerResponseTo BinaryPredicate)
(domain computerResponseTo 1 ComputerResponse)
(domain computerResponseTo 2 UserRequest)
(documentation computerResponseTo EnglishLanguage "(&%computerResponseTo ?Response ?Request) means that
?Response is a &%ComputerResponse to the &%UserRequest ?Request.")
;;definition of responseTime
(instance responseTime BinaryPredicate)
(domain responseTime 1 UserRequest)
(domain responseTime 2 TimeDuration)
(documentation responseTime EnglishLanguage "The time it takes for the computer to comply
with a user's request, such as looking up a customer record.")
(=>
(and
(responseTime ?Request ?Time)
(computerResponseTo ?Response ?Request))
(duration (WhenFn ?Response) ?Time))
(subrelation responseRate frequency)
(domain responseRate 1 ComputerResponse)
(domain responseRate 2 TimeDuration)
(documentation responseRate EnglishLanguage "(&%responseRate ?Response ?Period) means
that ?Period is the period at which the computer sends its ?Response.")
(subrelation requestRate frequency)
(domain requestRate 1 UserRequest)
(domain requestRate 2 TimeDuration)
(documentation requestRate EnglishLanguage "(&%requestRate ?Request ?Period) means that
?Period is the period at which the user sends its ?Request.")
(subclass Multitasking ComputerProcess)
(documentation Multitasking EnglishLanguage "The running of two or more programs in one
computer at the same time. The number of programs that can be effectively
multitasked depends on the type of multitasking performed (preemptive vs
cooperative), CPU speed and memory and disk capacity.")
(=>
(instance ?Process Multitasking)
(exists (?Program1 ?Program2)
(and
(programRunning ?Process ?Program1)
(programRunning ?Process ?Program2)
(not (equal ?Program1 ?Program2)))))
(subclass ComputerTask ComputerProcess)
(documentation ComputerTask EnglishLanguage "In a multitasking environment, an
independently running program or subprogram. Each task is assigned
a task number.")
(=>
(instance ?Task ComputerTask)
(exists (?Program ?Process)
(and
(part ?Task ?Process)
(instance ?Process Multitasking)
(programRunning ?Task ?Program))))
(subclass ComputerResource ComputationalSystem)
(documentation ComputerResource EnglishLanguage "One element of hardware, software or data
that is part of a larger system. For example, network resources are the
available servers and printers in the network. Software resources can be
programs, utilities or even smaller elements within a program. Data
resources are the files and databases that can be accessed.")
(=>
(instance ?Resource ComputerResource)
(exists (?System)
(and
(instance ?System ComputationalSystem)
(part ?Resource ?System))))
(subclass NetworkResource ComputerResource)
(documentation NetworkResource EnglishLanguage "Network resources are the available
servers and printers in the network.")
(=>
(instance ?Resource NetworkResource)
(or
(instance ?Resource Server)
(instance ?Resource Printer)))
(subclass Printer ComputerOutputDevice)
(documentation Printer EnglishLanguage "A device that converts computer output into
printed images.")
(subclass Server ComputationalSystem)
(documentation Server EnglishLanguage "A computer in a network shared by multiple users.
The term may refer to both the hardware and software or just the software
that performs the service.")
(subrelation load measure)
(domain load 1 ComputerComponent)
(domain load 2 ConstantQuantity)
(documentation load EnglishLanguage "In performance measurement, the current use of a
system as a percentage of total capacity.")
(=>
(load ?System ?Load)
(exists (?Event)
(performanceResult ?Event ?System ?Load)))
(subclass DigitalData SymbolicString)
(documentation DigitalData EnglishLanguage "This term refers to any data that is
recorded, displayed, or stored as a string of &%BinaryNumbers.")
(=>
(instance ?DATA DigitalData)
(exists (?DEVICE)
(and
(instance ?DEVICE DigitalDataStorageDevice)
(located ?DATA ?DEVICE))))
(subclass ImageFile DigitalData)
(documentation ImageFile EnglishLanguage "A picture (graphic) stored in a particular
coding scheme and stored as a file. Note that this can include vector as
well as raster images. Raster images will entail a particular number of
horizontal and vertical pixels. Vector images will not entail a
particular size or resolution.")
(subclass Database DigitalData)
(documentation Database EnglishLanguage "A database is an organized collection of
Data that is used for one or more purposes. It is usually managed by some sort of
Database Management System (DBMS).")
(subrelation dataProcessed patient)
(instance dataProcessed CaseRole)
(domain dataProcessed 1 ComputerProcess)
(domain dataProcessed 2 DigitalData)
(documentation dataProcessed EnglishLanguage "The data being processed during a
&%ComputerProcess.")
(subclass Abort ComputerProcess)
(documentation Abort EnglishLanguage "To exit a function or application without saving
any data that has been changed.")
(instance processAborted BinaryPredicate)
(instance processAborted AsymmetricRelation)
(domain processAborted 1 Abort)
(domain processAborted 2 ComputerProcess)
(documentation processAborted EnglishLanguage "(&%processAborted ?Abort ?Process) means
that the &%ComputerProcess ?Process is aborted as the result of ?Abort.")
(=>
(and
(processAborted ?Abort ?Process)
(dataProcessed ?Process ?Data))
(not (exists (?Save)
(and
(instance ?Save DataSaving)
(dataProcessed ?Save ?Data)))))
(subclass DataSaving ComputerProcess)
(documentation DataSaving EnglishLanguage "A process of copying the document, record or
image being worked on onto a storage medium. Saving updates the file by
writing the data that currently resides in memory (RAM) onto disk or tape.
Most applications prompt the user to save data upon exiting.")
(=>
(instance ?Save DataSaving)
(exists (?Data)
(dataProcessed ?Save ?Data)))
(=>
(instance ?DSAVE DataSaving)
(exists (?DSTORE)
(and
(instance ?DSTORE DataStorageDevice)
(resource ?DSAVE ?DSTORE))))
(subclass DataCompression ComputerProcess)
(documentation DataCompression EnglishLanguage "Encoding data to take up less storage
space.")
(=>
(and
(instance ?Compression DataCompression)
(dataProcessed ?Compression ?Data)
(holdsDuring (ImmediatePastFn (WhenFn ?Compression))
(memorySize ?Data (MeasureFn ?Memory ?Measure)))
(holdsDuring (ImmediateFutureFn (WhenFn ?Compression))
(memorySize ?Data (MeasureFn ?NewMemory ?Measure))))
(lessThan ?NewMemory ?Memory))
(subclass ProcessTask Abstract)
(documentation ProcessTask EnglishLanguage "A function to be performed.")
(=>
(instance ?Task ProcessTask)
(exists (?Process)
(task ?Process ?Task)))
(instance task BinaryPredicate)
(instance task AsymmetricRelation)
(domain task 1 ComputerProcess)
(domain task 2 ProcessTask)
(documentation task EnglishLanguage "(&%task ?Process ?Task) means that ?Task is a function to
be performed by the &%ComputerProcess ?Process.")
(subclass UsingAResource ComputerProcess)
(documentation UsingAResource EnglishLanguage "A &%ComputerProcess which requires access to a
&%ComputerResource.")
(=>
(instance ?Using UsingAResource)
(exists (?Resource)
(resourceUsed ?Using ?Resource)))
(=>
(and
(instance ?Using UsingAResource)
(resourceUsed ?Using ?Resource)
(agent ?Using ?Agent))
(uses ?Agent ?Resource))
(subclass ReusingAResource ComputerProcess)
(documentation ReusingAResource EnglishLanguage "To use the same resource again.")
(=>
(instance ?Using ReusingAResource)
(exists (?Resource)
(resourceUsed ?Using ?Resource)))
(=>
(and
(instance ?Reusing ReusingAResource)
(resourceUsed ?Reusing ?Resource))
(exists (?Using)
(and
(instance ?Using UsingAResource)
(resourceUsed ?Using ?Resource)
(earlier (WhenFn ?Using) (WhenFn ?Reusing)))))
(subrelation resourceUsed patient)
(instance resourceUsed CaseRole)
(domain resourceUsed 1 ComputerProcess)
(domain resourceUsed 2 ComputerResource)
(documentation resourceUsed EnglishLanguage "(&%resourceUsed ?Process ?Resource) means that the
&%ComputerProcess ?Process has access to the &%ComputerResource ?Resource.")
(instance imageResolution BinaryPredicate)
(domain imageResolution 1 ImageFile)
(domain imageResolution 2 PhysicalQuantity)
(documentation imageResolution EnglishLanguage "The degree of sharpness of a displayed or printed
image.")
;; Optimization
(subclass Optimization ProcessTask)
(disjoint Optimization SatisfyingRequirements)
(documentation Optimization EnglishLanguage "Optimization means finding the best solution according
to a set of criteria. For a computer program, an optimal solution would be the
fastest program (according to some benchmark) or the smallest program.")
;; definition of SatisfyingRequirements
(subclass SatisfyingRequirements ProcessTask)
(documentation SatisfyingRequirements EnglishLanguage "&%SatisfyingRequirements covers cases of
finding a solution that satisfies necessary conditions.")
;; Utility
(subclass Utility ComputerProgram)
(documentation Utility EnglishLanguage "A program that performs a specific task related to the
management of computer functions, resources, or files. Utility programs range
from the simple to the sophisticated, and many programmers specialize in producing
and distributing them as shareware. There are utilities that perform file and
directory management, data compression, disk defragmentation and repair, system
diagnostics, graphics viewing, and system security, for example. Many utilities
are written as memory-resident programs meant to serve as adjuncts to operating
systems. Many operating systems incorporate such popular utility functions as
undeleting, password protection, memory management, virus protection, and file
compression.")
;; UserAccount
(subclass UserAccount ContentBearingObject)
(documentation UserAccount EnglishLanguage "An established relationship between a user and a
computer, network or information service. User accounts require a username and
password, and new user accounts are given a default set of permissions.")
(=>
(instance ?Account UserAccount)
(exists (?User)
(hasAccount ?User ?Account)))
;; UserName
(subclass UserName SymbolicString)
(documentation UserName EnglishLanguage "The name a person uses to identify himself or herself
when logging onto a computer system or online service.")
(=>
(hasAccount ?User ?Account)
(exists (?Name)
(userName ?User ?Name)))
;; userName
(subrelation userName names)
(instance userName AsymmetricRelation)
(domain userName 1 ComputerUser)
(domain userName 2 UserName)
(documentation userName EnglishLanguage "(&%userName ?Name ?User) means that ?Name is the name
the &%ComputerUser uses to identify himself or herself when logging onto a
computer system.")
;; hasAccount
(subrelation hasAccount possesses)
(instance hasAccount AsymmetricRelation)
(domain hasAccount 1 ComputerUser)
(domain hasAccount 2 UserAccount)
(documentation hasAccount EnglishLanguage "(&%hasAccount ?User ?Account) holds if ?User is
assigned the &%UserAccount ?Account.")
;; ComputerPassword
(subclass ComputerPassword SymbolicString)
(documentation ComputerPassword EnglishLanguage "A word or code used to serve as a security
measure against unauthorized access to data. It is normally managed by the
operating system or DBMS.")
(=>
(hasAccount ?User ?Account)
(exists (?Password)
(password ?Password ?User)))
;; password
(subrelation password names)
(instance password AsymmetricRelation)
(domain password 2 ComputerUser)
(domain password 1 ComputerPassword)
(documentation password EnglishLanguage "(&%password ?Password ?User) means that ?Password is
the password the &%ComputerUser uses while logging onto a computer system.")
(subclass ComputerReport DigitalData)
(documentation ComputerReport EnglishLanguage "A collection of data, presented in a preformatted
manner.")
(subrelation hostStatus attribute)
(domain hostStatus 1 Computer)
(domain hostStatus 2 ComputerStatus)
(documentation hostStatus EnglishLanguage "(&%hostStatus ?Computer ?Status) means that ?Status
describes the status of the Computer, such as &%HostDown, &%HostReady.")
(subclass ComputerStatus RelationalAttribute)
(documentation ComputerStatus EnglishLanguage "An attribute which describes status of the
&%Computer, such as &%HostDown, &%HostReady.")
(instance HostDown ComputerStatus)
(documentation HostDown EnglishLanguage "An attribute which applies to a computer that ceases to
operate due to hardware or software failure.")
(instance HostReady ComputerStatus)
(documentation HostReady EnglishLanguage "An attribute which applies to a computer that is
functional, operating properly, and ready to receive work requests.")
(instance hostJitter BinaryPredicate)
(domain hostJitter 1 Computer)
(domain hostJitter 2 ConstantQuantity)
(documentation hostJitter EnglishLanguage "Interference on an analog line caused by a variation
of a signal from its reference timing slots. Jitter can cause problems in the receipt
of data and any subsequent processing of that data.")
(subclass Epoch TimePoint)
(documentation Epoch EnglishLanguage "An instant in time that is arbitrarily selected as a point
of reference.")
(instance UnixEpoch Epoch)
(documentation UnixEpoch EnglishLanguage "The Unix epoch or point of reference is 00:00:00 UTC,
January 1, 1970.")
(equal UnixEpoch (SecondFn 0 (MinuteFn 0 (HourFn 0 (DayFn 1 (MonthFn 1 (YearFn 1970)))))))
(subrelation collectRate frequency)
(instance collectRate BinaryPredicate)
(domain collectRate 1 ComputationalSystem)
(domain collectRate 2 TimeDuration)
(documentation collectRate EnglishLanguage "(&%collectRate ?System ?Period) holds if ?Period is
the period at which &%ComputationalSystem ?System collects data.")
(subrelation sendRate frequency)
(domain sendRate 1 ComputationalSystem)
(domain sendRate 2 TimeDuration)
(documentation sendRate EnglishLanguage "(&%sendRate ?Program ?Period) holds if ?Period is the
period at which the &%ComputationalSystem ?System sends data reports.")
(subclass BerkeleySoftwareDistribution OperatingSystem)
(documentation BerkeleySoftwareDistribution EnglishLanguage "Berkeley Software Distribution (UNIX),
a version of Unix distributed by the University of California at Berkeley. Widely
used as a standard for early versions of Unix and Unix software libraries.")
(subclass CodingScheme Procedure)
(documentation CodingScheme EnglishLanguage "A &%Procedure for &%Encoding and/or &%Decoding
information. A coding scheme is often implemented as a &%ComputerProgram.
Some examples of coding schemes include MPEG, WAV, and pig-latin.")
(=>
(and
(instance ?P Encoding)
(agent ?P ?A))
(exists (?CODE)
(or
(knows ?P ?CODE)
(exists (?OBJ)
(and
(instrument ?P ?OBJ)
(containsInformation ?OBJ ?CODE))))))
(=>
(and
(instance ?P Decoding)
(agent ?P ?A))
(exists (?CODE)
(or
(knows ?P ?CODE)
(exists (?OBJ)
(and
(instrument ?P ?OBJ)
(containsInformation ?OBJ ?CODE))))))
(instance coding BinaryPredicate)
(instance coding PartialValuedRelation)
(documentation coding EnglishLanguage "A relation between a &%ContentBearingObject and a
&%CodingScheme that specifies how the content is expressed. Typically,
this will be used either for encoded secret communications or computer
files that might be coded simply for data compression instead of
information security.")
(domain coding 1 ContentBearingObject)
(domain coding 2 CodingScheme)
(instance filename BinaryPredicate)
(instance filename PartialValuedRelation)
(subrelation filename names)
(domain filename 1 SymbolicString)
(domain filename 2 DigitalData)
(documentation filename EnglishLanguage "A relation between a &%SymbolicString and an
instance of &%DigitalData that specified the filename of the data on a
particular computer file system. This relation is for a fully qualified
filename including a device specification such as a drive letter or name,
a directory, and a name. This can include names that are aliases for a
different physical file location. It does not include the specification
of a particular machine on a network, such as an internet domain name,
although it may reference a device specification that ultimately resolves
to a storage device on a network.")
(relatedInternalConcept filename directoryOf)
; documentation from QoSOntology.txt changed
(documentation directoryOf EnglishLanguage "(directoryOf ?FILE ?DIRECTORY) means that the
ComputerFile ?FILE is in the ComputerDirectory ?DIRECTORY. Note that the
directory of a file is a component of the fully qualified name specification
given to the relation &%filename. Note also that the directory does not
include the specification of a machine location on the Internet. See
&%filename for more information.")
; Note this is just a "sketch" of the definitions of Mime types, which would
; need to be axiomatized
(subclass MimeEncodingScheme CodingScheme)
(documentation MimeEncodingScheme EnglishLanguage "A coding scheme and designator for
coding Internet messages, usually for consumption by web browsers. The
scheme designator should conform to IETF RFC 2045.")
(subclass MimeText MimeEncodingScheme)
(subclass MimeEnrichedText MimeText)
; many other subtypes should follow...
(subclass MimeImage MimeEncodingScheme)
(subclass MimeAudio MimeEncodingScheme)
(subclass MimeVideo MimeEncodingScheme)
(subclass MimeApplication MimeEncodingScheme)
(subclass MimeMessage MimeEncodingScheme)
(subclass MimeMultipart MimeEncodingScheme)
(instance mimeType BinaryPredicate)
(instance mimeType PartialValuedRelation)
(subrelation mimeType coding)
(domain mimeType 2 MimeEncodingScheme)
(documentation mimeType EnglishLanguage "A relation between &%ComputerData and the
MIME type it is coded in, with respect to IETF RFC 2045.")
(subclass EncodingProcedure Procedure)
(documentation EncodingProcedure EnglishLanguage "A &%Procedure for performing an
&%Encoding.")