-
Notifications
You must be signed in to change notification settings - Fork 73
/
QoSontology.kif
2364 lines (1982 loc) · 90.7 KB
/
QoSontology.kif
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
;; 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 ?CLASS)
(and
(instance ?PROC ComputerProcess)
(instance ?PROC ?CLASS)
(not
(instance ?PROC RestoringData))
(holdsDuring
(ImmediateFutureFn
(WhenFn ?X))
(capability ?CLASS 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 ?CLASS)
(and
(instance ?DEL DeletingData)
(instance ?DATA DigitalData)
(patient ?X ?DATA)
(patient ?DEL ?DATA)
(earlier
(WhenFn ?DEL)
(WhenFn ?X))
(instance ?PROC ComputerProcess)
(instance ?PROC ?CLASS)
(holdsDuring
(ImmediateFutureFn
(WhenFn ?X))
(capability ?CLASS 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 BinaryPredicate)
(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 with its current configuration of installed software.")
(=>
(and
(programRunning ?Process ?Program)
(computerRunning ?Process ?Computer))
(runsOn ?Program ?Computer))
(instance canRunOn BinaryPredicate)
(instance canRunOn AsymmetricRelation)
(domainSubclass canRunOn 1 ComputerProgram)
(domainSubclass canRunOn 2 Computer)
(documentation canRunOn EnglishLanguage "A weaker relation than &%runOn that
says merely that a properly configured computer should be able to run the
given software.")
(=>
(and
(programRunning ?Process ?Program)
(instance ?Program ?PC)
(instance ?Computer ?CC)
(computerRunning ?Process ?Computer))
(canRunOn ?PC ?CC))
(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)
(instance environmentAttributes BinaryPredicate)
(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 ComputerOutputDevice ComputerHardware)
(documentation ComputerOutputDevice EnglishLanguage "Any peripheral that presents
output from the computer, such as a screen or printer.")
(subclass ThreeDPrinter ComputerOutputDevice)
(documentation ThreeDPrinter EnglishLanguage "A &%ThreeDPrinter is a &%ComputerOutputDevice
for the construction of a three-dimensional &%Object from a Computer-Aided Design (CAD)
model or a digital 3D model. Three-dimensional models represent a physical body using
a collection of points in 3D space, connected by various geometric entities such as
triangles, lines, curved surface etc. In a 3D printing process, material is deposited,
joined or solidified under computer control, with the material being added together
(such as plastics, liquids or powder grains being fused), typically layer by layer. [Wikipedia]")
(=>
(instance ?X ThreeDPrinter)
(hasPurpose ?X
(exists (?P)
(and
(instance ?P ThreeDPrinting)
(instrument ?P ?X)))))
(subclass ThreeDPrinting Making)
(documentation ThreeDPrinting EnglishLanguage "&%ThreeDPrinting is the &%Making
of a three-dimensional &%Object from a Computer-Aided Design (CAD) 3D
model or a digital 3D model.[Wikipedia]")
(=>
(instance ?P ThreeDPrinting)
(exists (?X ?A)
(and
(instance ?X DigitalData)
(represents ?X ?A)
(instance ?A Artifact)
(result ?P ?A))))
(=>
(and
(instance ?P ThreeDPrinting)
(instance ?X Substance)
(resource ?P ?X))
(exists (?R)
(and
(instance ?R Reservoir)
(part ?R ?P)
(origin ?P ?R)
(located ?X ?R))))
(=>
(and
(instance ?P ThreeDPrinting)
(instance ?X CompoundSubstance)
(patient ?P ?X))
(exists (?SC)
(and
(instance ?SC ShapeChange)
(subProcess ?SC ?P)
(patient ?SC ?X))))
(=>
(and
(instance ?P ThreeDPrinting)
(instance ?O Artifact)
(result ?P ?O))
(exists (?A ?X ?B ?Y)
(and
(instance ?A Making)
(subProcess ?A ?P)
(instance ?X SelfConnectedObject)
(part ?X ?O)
(result ?A ?X)
(instance ?B Making)
(subProcess ?B ?P)
(instance ?Y SelfConnectedObject)
(part ?Y ?O)
(overlapsSpatially ?X ?Y)
(orientation ?X ?Y Below)
(during
(WhenFn ?A)
(WhenFn ?P))
(during
(WhenFn ?B)
(WhenFn ?P))
(earlier
(WhenFn ?A)
(WhenFn ?B)))))
(subclass Metallic3DPrinter ThreeDPrinter)
(documentation Metallic3DPrinter EnglishLanguage "A &%Metallic3DPrinter is
&%3DPrinter using &%Metals as printing material.")
(=>
(and
(instance ?P ThreeDPrinting)
(instance ?X Metal)
(resource ?P ?X)
(instrument ?P ?I))
(instance ?I Metallic3DPrinter))
(subclass PlasticPrinter ThreeDPrinter)
(documentation Plastic3DPrinter EnglishLanguage "A &%Plastic3DPrinter is
&%3DPrinter using &%Plastic as printing material.")
(=>
(and
(instance ?P ThreeDPrinting)
(instance ?X Plastic)
(resource ?P ?X)
(instrument ?P ?I))
(instance ?I PlasticPrinter))
(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)
(instance standardInputDevice BinaryPredicate)
(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)
(instance standardOutputDevice BinaryPredicate)
(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)
(instance standardErrorDevice BinaryPredicate)
(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 RMStartApplication ComputerProgram)
(documentation RMStartApplication EnglishLanguage "A program started by a Resource
Management program, which determines if and where to start the
application.")
(=>
(instance ?RM RMStartApplication)
(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 rMProgramOf BinaryPredicate)
(domain rMProgramOf 1 ResourceManagementProgram)
(domain rMProgramOf 2 SoftwareSystem)
(documentation rMProgramOf EnglishLanguage "(&%rMProgramOf ?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" .
(=>
(rMProgramOf ?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))
(duration ?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 ?Send)
(and
(rMProgramOf ?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)
(instance status BinaryPredicate)
(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))))