ASPL User Guide v 1.00
© 2025 Bassem W. Jamaleddine
This appendix contains miscellaneous notes explaining how to interpret the output on operations carried out in ASPL on differential group variables.
■ Explaining Output of Changes in a Process
Condiser the differential group variable P that we need to list its historical:
The differential group operator that shows the changing states in P. To find the unchanged states in P, we repeat the operation however with tick with
`ks=
To find the unchanged states in P, we repeat the operation however with tick with
`ks=
State Changes in Differential Group Variable Representing a Process Explained
Rate of Changes in a Process Explained
Similarity in the States of a Differential Group Variable Representing a Process Explained
Rate of Changes in the Dissimilarity of a Process Explained
■ Explaining Output of Changes in a UNIX Directory
The script monitordir.aspl is run to monitor the directory /tmp/testdir1. The changes in the directory are recorded in the differential group variable mydir. Here we show the changes in the directory by using various ASPL operations.
State Changes in Differential Group Variable Representing a Directory Explained
Rate of Changes in Differential Group Variable Representing a Directory Explained
Playop on the Differences in a Directory Continuously 1st Explained
Playop on the Differences in a Directory Continuously 2nd Explained
■ Explaining Output of System Interrupts
To find the changed states in UNIX system interrupts ints, we use the command verb playchanges on the differential group variable ints.
Once the command playchanges terminates execution, it displays the rate of changes in UNIX system interrupts represented by ints.
Since the ints identifier represents a differential group variable (where we recorded the changes in state of the system interrupts), it is possible to use the command verb playop on the set operator displaying the union of these recorded datasets. The following figure shows the operation
aspl> playop fU,`ks~ ints
`ks~ to contrast the changes in the interrupts.
The coder of the ggsysinterrupts.pm has coded the ggsysinterrupts() to return a GADg whose elements are the CPU numbers, and the interrupts are part of the additional attributes (see the metagrouping command for creating the corresponding element grouping class). Looking insider the ggsysinterrupts() function, one can locate the following assignments
${ $gadGrps->{$glabel}->{'Core'}->{$CPUno} } {mtime} = $time;
${ $gadGrps->{$glabel}->{'Core'}->{$CPUno} } {$INTno} = $C->[$i]->[$j];
Once a GG-function is put in place by the function coder, ASPL users can use it transparently and they do not need to bother with the internals of the function.
What is to be considered a subgroup or an element is left to the coder of the GG-function. ASPL set operations are coherent, and they perform their algorithmic operations based on the shape of the set variable, and on the layout of the subgroups and the elements within the set variable.