ASPL User Guide v 1.00
© 2025 Bassem W. Jamaleddine


15. 3
   Differential Group Variables

 

Use the operator @ to display a differential group variable

      @   G       where G is a set variable

Interrogating a set variable iteratively with delay may create a differential group variable

      ?5,1   G       interrogate G looping 5 times with 1 second delay

Prefix the variable with @ to treat it as a differential group variable

      ,gU`ks~   @G       applying the set operation ,gU`ks~ on @G

The set operation ,gU`ks~ is to get the labinated group union ticked with the predicate ks~

Similarity operation on a differential group variable

      sim`fflz   @G       applying the similarity operation sim`fflz on @G

The operation sim`fflz is to display the simialrity on the matching containment names in the differential group variable

Differential Group Variables

●  Differential Group Variables are Prefixed with @ Symbol

In ASPL, variables are called set variables. A set variable, whose internal subgroups and elements changed over time, is termed a differential group variable. To display such a varaible, you will use the operator @

aspl> @ G
    this displays the differential group variable G along its historical

To apply a set operator on the differential group variable G, you will prefix it with @

aspl> ,gU`ks~ @G
    this applies the operation on the differential group variable G



In the following example, we start ASPL by loading the sample workspace DGV_RANDBIT, we set the display mode to 5, then print the differential group variable G.
#  aspl -wsname DGV_RANDBIT -groupingclass BITGROUP

      ______  ____    ______  __
     / __  / / ___\  / __  / / /
    / /_/ /  \ \    / ____/ / /
   / __  /  __  \  / /     / /
  / / / /  / __ / / /     / /____
 /_/ /_/   \___/ /_/     /______/


  STARTING ASPL SESSION WITH WORKSPACE:  DGV_RANDBIT
  NAMED GROUP:  BITGROUP
     last saved 2025-03-14 00:58:53.155592

1:28:6 root@mm01 /opt/ASPLv1.00/test~/PlayFinal  aspl:1 > dm 5

  DISPLAY MODE SET TO 5

1:28:11 root@mm01 /opt/ASPLv1.00/test~/PlayFinal  aspl:2 > @ G

     VARIABLES ARC TYPE 1: G has 3 arc's

@1     1/4  vlb=G ndx=0
              G  TyP_GADsop    ggfunc            
                 Src:    ggbitsubgS(gstart,1,gcount,1,dmin,2,dmax,4,scount,3, ...
                 Lop:    g_
                 Lvr:    G
                 Lgn:    g1
                 #31/1, ch#(1,1,1) chk(31=31,0=0)
                 User:   (1)root
                 Time:   2025-03-14 00:54:12.383584
                 L.S.T:           1741928052                   0                   0
                         2025-03-14 00:54:12 1969-12-31 19:00:00 1969-12-31 19:00:00
                 TTL.BT  0,0
@2     2/4  vlb=G ndx=1
              G  TyP_GADsop    ggfunc            
                 Src:    ggbitsubgS(gstart,1,gcount,1,dmin,2,dmax,4,scount,3, ...
                 Lop:    g_
                 Lvr:    G
                 Lgn:    g1
                 #31/1, ch#(1,1,1) chk(31=31,0=0)
                 User:   (2)root
                 Time:   2025-03-14 00:54:38.487167
                 L.S.T:           1741928078                   0                   0
                         2025-03-14 00:54:38 1969-12-31 19:00:00 1969-12-31 19:00:00
                 TTL.BT  0,0
@3     3/4  vlb=G ndx=2
              G  TyP_GADsop    ggfunc            
                 Src:    ggbitsubgS(gstart,1,gcount,1,dmin,2,dmax,4,scount,3, ...
                 Lop:    g_
                 Lvr:    G
                 Lgn:    g1
                 #31/1, ch#(1,1,1) chk(31=31,0=0)
                 User:   (3)root
                 Time:   2025-03-14 00:54:39.496371
                 L.S.T:           1741928079                   0                   0
                         2025-03-14 00:54:39 1969-12-31 19:00:00 1969-12-31 19:00:00
                 TTL.BT  0,0
*         vlb=G ndx=3
              G  TyP_GADsop    ggfunc            
                 Src:    ggbitsubgS(gstart,1,gcount,1,dmin,2,dmax,4,scount,3, ...
                 Lop:    g_
                 Lvr:    G
                 Lgn:    g1
                 #31/1, ch#(1,1,1) chk(31=31,0=0)
                 User:   (4)root
                 Time:   2025-03-14 00:54:40.505757
                 L.S.T:           1741928080                   0                   0
                         2025-03-14 00:54:40 1969-12-31 19:00:00 1969-12-31 19:00:00
                 TTL.BT  0,0


Notice the lines starting with Src: showing the source function that created the variable. The differential group variable G has been created by sourcing the function ggbitsubgS(), and you can view this function by typing ggls ggbitsubgS() at the ASPL prompt. This function creates random number of groups, subgroups, and elements. Calling this function at different time will result with different datasets. In ASPL, temporal changes in a set variable are being recorded within the variable itself, hence turning the set variable into a differential group variable.

The symbol @ is adopted as the command to display a differential group variable.
To apply a set operation on a differential group variable, you will prefix the variable with @

For more explanation on how to interpret the output on operations carried out in ASPL on differential group variables, refer to the appendix ASPL Differential Group Operations Output Explained in ASPL User Guide.

In the following example we load the sample workspace DGV_RANDBIT to show the basic operations on creating a differential group variable named G.

①  aspl> G = ggbitsubgS(gstart,1,gcount,1,dmin,2,dmax,4,scount,3,smin,2,smax,4,sfcount,2,sfmin,2,sfmax,4,fcount,2,fmin,2,fmax,4,mix,1)
    (interrogate the variable G in a loop, iterating three times with a delay of one second between each iteration)

②  aspl> ?3,1 G
    (interrogate the v1 set variable updating it)

③  aspl> v
    (display the symbol table)

④  aspl> v sorted
    (display the symbol table showing the archived variables)

⑤  aspl> @ G
    (print G and its archived historical data)

⑥  aspl> ,gU @G
    (display the group union of the differential group variable G)

⑦  aspl> ,f&`ks= @G
    (display the elements intersection where ks is the same)

⑧  aspl> ,fD`ks~ @G
    (display the elements symmetric difference where ks is different)

⑨  aspl> ,fD @G
    (display the elements symmetric difference)

⑩  aspl> sim @G
    (display the similarity in the differential group variable G)

⑪  aspl> sim'`fflz @G
    (display the similarity where elements are different in G)



This example is shown in the following terminal.
viewme

 -TC- Display. 15.3.1   [UG-DGV_RANDBIT-Sample-links]
Sample workspace DGV_RANDBIT


The variable internals can be revealed in more details by setting the display mode to 5: dm 5, for instance the following figure show the the differential group variable G after setting dm to 5.
full view

Image File

 -FG- Fig. 15.3.1   [Display the Differential Group Variable G: @ G]
ASPL (C) 2025 Bassem Jamaleddine