Code_Aster ®
Version
4.0
Titrate:
Documentation of development and maintenance of the manager
Date: 28/01/1999
Author (S):
J.P. LEFEBVRE
Key:
D9.02.02-A
Page:
1/50
Organization: EDF/IMA/MN
Handbook of Descriptif Informatique
D9.02 booklet:
D9.02.02 document
Documentation of development and maintenance
of the manager of memory JEVEUX for Code_Aster
1 Introduction

Code_Aster was developed in FORTRAN 77, this language does not have dynamic management
memory and does not allow a very strong structuring of the types. The manager of memory
JEVEUX made it possible to mitigate part of these disadvantages by offering the following possibilities:
· dynamic management of the zone memory allocated at the beginning of work,
· management of the overflows report on file, with filing of the results in end of
work,
· structuring of the data of Code_Aster, with access by name to the handled objects and
standardization of types FORTRAN used.
This document is intended for the documentation and the maintenance of the routines of the manager of
memory JEVEUX prefixed by JJ, I or JX, routines JX call upon functions in general not
portables. Thereafter, we will indicate this whole of routines under the term “the software”. One
precise description of the operation and the internal organization of the software is detailed there. The reader
will be able to refer to the documentation [D6.02.01] Gestion Mémoire JEVEUX which describes the interface of
routines “user” I…. .
Handbook of Descriptif Informatique
D9.02 booklet:
HI-75/97/010 - Ind A

Code_Aster ®
Version
4.0
Titrate:
Documentation of development and maintenance of the manager
Date: 28/01/1999
Author (S):
J.P. LEFEBVRE
Key:
D9.02.02-A
Page:
2/50
2
Organization of the segmentation memory
JEVEUX manages dynamically a zone memory allocated at the beginning of work according to
parameters of execution provided to the main program of Code_Aster by the interface. This allowance
initial is carried out by routine JXALLM in routine JEDEBU.
On CRAY, the allowance of the zone memory is realized dynamically using the routine system
HPALLOC. This zone is seen in the software through the table of the whole type (INTEGER * 8 ISZON)
of length LISZON and an address of beginning JISZON. It is stored in the commun run/IZONJE/. One
will use in the continuation of the document the term “word” to indicate the unit of addressing. On CRAY the word has
for length 8 bytes and corresponds to length of type INTEGER * 8.
The zone is managed word by word in unit of the type INTEGER (unit of addressing), the segments of
values associated with objects JEVEUX are chained ahead and behind. Each segment of values
is framed by 8 words containing, in this order, following information:
1) the address measured compared to JISZON of the following segment;
2) the value of a shift used to align the segments of the type length higher than
the unit of addressing. On CRAY, this value is always null for the segments of values
associated objects of the type INTEGER and REAL * 8. It is worth 8 (bytes) sometimes for
segments of the values associated with objects of the type COMPLEX * 16: indeed it happens that it
beginning of the segment of value (position 5) cannot coincide with a position in the table
of reference ZK16, it is then necessary to move of a word (8 bytes). It is even more frequent
with type CHARACTER when it is worth 16, 32 or 80!
3) the whole identifier associated the simple objects or the collections;
4) the statute of the segment of values which can take value X or U;
5) the state of the segment of values which can take value X, A or D;
6) the whole identifier associated the objects of collection;
7) the code of the class associated with object JEVEUX;
8) the address measured compared to JISZON of the preceding segment.
The management of the zone memory with type INTEGER does not make it possible to be aligned correctly with
types of length higher than this unit of addressing. Although command EQUIVALENCE present
in the software allows to align the initial address of the various variables (tables) of reference
ZI, ZR, ZC, ZL, ZK8, ZK16, ZK24, ZK32 and ZK80, the positioning of an associated segment of values
with an object of the type ZK32 has little chance to be aligned with a “multiple” of 4 of table ISZON on
CRAY, from where need for managing a shift among the descriptors.
The values making it possible to code the statute and the state of the segment of values are obtained in order to it
that the representation does not correspond to any type used within the segment of values and this in order to
to detect possible crushings of these descriptors. This role deals with the routine JJLIRS which
is called mainly at the time of the requests of setting in memory of the segment of values. The emission
of an error message of type “ECRASEMENT AMONT POSSIBLE…” indicate that the identifier (3) or
the statute (4) were crushed, the emission of an error message of type “ECRASEMENT AVAL
POSSIBLE… “ indicate that the state (5) or classifies it (7) were crushed.
On CRAY, the values used have the following octal representation:
Handbook of Descriptif Informatique
D9.02 booklet:
HI-75/97/010 - Ind A

Code_Aster ®
Version
4.0
Titrate:
Documentation of development and maintenance of the manager
Date: 28/01/1999
Author (S):
J.P. LEFEBVRE
Key:
D9.02.02-A
Page:
3/50
0100000000000000000000
for X,
0300000000000000000000
for A,
0200000000000000000000
for U,
0400000000000000000000
for D.
Handbook of Descriptif Informatique
D9.02 booklet:
HI-75/97/010 - Ind A

Code_Aster ®
Version
4.0
Titrate:
Documentation of development and maintenance of the manager
Date: 28/01/1999
Author (S):
J.P. LEFEBVRE
Key:
D9.02.02-A
Page:
4/50
At the time of the call to routine JEDEBU, one creates a segment of values “X X " occupying the whole of
zone with 8 words framing it, 4 words on both sides are added to ensure the compatibility of
chainings before and back. Value 0 is deposited in end of the managed zone. The memory is released
at the end of the work at the time of the call to routine JXLIBM, controls of integrity are carried out with this
occasion (on CRAY, exploitation of the codes return of utilities HPCHECK and HPDEALLC).
Use of the segments of values
The couple state/statute makes it possible to know the use of a segment of values in memory:
· XX indicates that the segment of values is free, this position is directly usable,
· UA indicates that the segment of values is used in reading (its image disc will not be
brought up to date after release),
· UD indicates that the segment of values is used in writing (its image disc will be
brought up to date after release),
· XD indicates that the segment of values was released, but that its contents will have to be
discharged on disc,
· TESTSTEMXÀ indicates that the segment of values was released, this position is directly usable.
3
Management of the segmentation memory
A request of access in reading or writing on the segment of values associated with an object JEVEUX
cause, if it does not appear there already, a loading in memory of the contents of the segment of values
associated. The address memory of an object JEVEUX corresponds to its relative position in the table
ISZON. Au préalable, it is necessary to carry out a search, using routine JJALLS in
traversing the segmentation memory to find a position to insert the segment of values. One
use for this purpose the chaining before coded among the descriptors preceding each segment by
values. The algorithm used is held in the following way:
1) one examines whether a free zone is available at the end of the zone memory,
2) one considers then spaces made up by agglomerating the free zones (XX) and them
removable segments of values (TESTSTEMXÀ),
3) finally one carries out search among spaces made up by agglomerating the free zones
(XX), removable segments of values (TESTSTEMXÀ) and segments of values déchargeables (XD).
Search begins starting from the position chosen at the time of the last request thanks to the value
stored in the commun run/IXADJE/. This mechanism can involve accesses disc when
zones associated with segments with values déchargeables are re-used. The new segment of
values is allocated with a tolerance of 8 entireties which correspond to minimum space associated with one
segment of values (1 entirety by descriptor). When the search for place memory fails, one
cause a stop of the application in error <S> (stop by the supervisor with backup of
concepts created).
A call to the function system LOC through routine JXLOCS makes it possible to obtain the relative address of
beginning of the segment of values compared to table ISZON by using the value of the position of
reference of the beginning of the zone memory obtained in JXALLM and stored in the commun run
/ILOCJE/. It is the use of the routine JJALTY which makes it possible to switch on table Z. and to obtain
according to the type the address compared to the good reference.
The allowance of a segment of values associated with an object of the type of which the length is greater than
the unit of addressing used (for example for type CHARACTER * 24) does not allow
automatically to align itself compared to table ISZON, it is sometimes necessary to shift
some words. The value of this shift is stored in the second descriptor preceding it
segment of values and the effective size of the segment of values is adjusted by taking account of sound
associated type.
Handbook of Descriptif Informatique
D9.02 booklet:
HI-75/97/010 - Ind A

Code_Aster ®
Version
4.0
Titrate:
Documentation of development and maintenance of the manager
Date: 28/01/1999
Author (S):
J.P. LEFEBVRE
Key:
D9.02.02-A
Page:
5/50
It then remains to bring up to date the descriptors associated with the segment with values, this operation is
realized by routine JJECRS.
Handbook of Descriptif Informatique
D9.02 booklet:
HI-75/97/010 - Ind A

Code_Aster ®
Version
4.0
Titrate:
Documentation of development and maintenance of the manager
Date: 28/01/1999
Author (S):
J.P. LEFEBVRE
Key:
D9.02.02-A
Page:
6/50
Search for place available
The call to routine JEDISP makes it possible to know at the time of the call, the size of the zones memory
available, it carries out search by traversing the whole of the segmentation memory and
progressively deposit the size of the free zones or déchargeables in a table provided by
argument of call.
Checking of the segmentation memory
Crushings report which affect the descriptors (state or statute) or the chaining front can
to be detected by using routine JXVERI. This routine examines the descriptors one by one of
segments of values in memory and, on CRAY, calls utility HPCHECK. A fatal error message
is emitted during the detection of an anomaly, if not the routine remains dumb.
4
Management of the releases
The release is the most complex mechanism implemented in JEVEUX. One conceives easily
that when that one manages a finished memory capacity, it arrives one moment when it is not possible any more of
to find of place. It is then necessary to cause unloadings on disc or to recover the place of
zones become useless. JEVEUX deals with these mechanisms, in condition of course, that it
programmer indicated the objects concerned to him; it is necessary to take some care
before releasing an object, several units of program which can use an address simultaneously
memory. The strategy of release calls on the one hand upon an internal mechanism with the manager of
memory that we will describe and in addition with rules of programming which are the subject of
document [D2.06.99] “Nouvelle strategy of release of objects JEVEUX”.
The release of a segment of values materializes by positioning with value X of the state in
place and place of the value U. There is not an other immediate effect, it is only at the time of a search
later of storage position which one will treat indeed the contents of the segments of values.
The setting in memory of an object JEVEUX is accompanied by the assignment of an attribute system:
mark. This attribute, of whole type, takes the value of a meter incremented with each call to
routine JEMARQ and décrémenté with each call to routine JEDEMA. It is possible to obtain the value
current mark by calling routine JEVEMA.
The current marks have a strictly positive value thus. Values - 1, - 2 and - 3 are used
to treat the following exceptions.
The value - 1 is used to keep permanently (throughout the execution of a command
Aster) certain objects which will be released by a specific call. This mark is used at the time of
the call to routine JEVEUT.
The value - 2 is used by JEVEUX to bring back in a temporary way certain objects which will be
released at once the finished action (put in memory of the system objects of collection,…).
The value - 3 is used to permanently keep (throughout the execution of Code_Aster) them
objects used by Superviseur.
The mark - 3 can come to replace any existing mark, the mark - 1 can replace
a mark (positive) existing. The system object containing the list of the addresses of the segments of
values must then be modified. The mark - 3 is used at the time of the call to routine JEVEUS.
Handbook of Descriptif Informatique
D9.02 booklet:
HI-75/97/010 - Ind A

Code_Aster ®
Version
4.0
Titrate:
Documentation of development and maintenance of the manager
Date: 28/01/1999
Author (S):
J.P. LEFEBVRE
Key:
D9.02.02-A
Page:
7/50
One thus builds a hierarchy of the segments of values associated with the objects. Each call to
routine JEDEMA will cause the release of the segments of values having the current mark.
In order to optimize the releases pulled by a call to JEDEMA, the setting in memory of each
segment of values is accompanied by the storage of its position (its address memory) in an object
system (segment of values of the whole type). Thus the whole of the segments of values associated with
an identical mark is easily identifiable and their location requires only one simple sweeping
of a vector of entireties. The loop on the segments of values is carried out in two times: one treats
first of all overall collections, then simple objects and associated segments of values
with the contiguous collections are released.
The updating of the mark of an object is carried out at the time of the call to routine JJECRS, the need,
the object system KDESMA is redimensionné (this object is indicated here by the name of variable FORTRAN
used to store its address within the units of program).
It is the routine JJLIDE which carries out indeed the release of the segments of values. The first
argument of this routine is the name of appealing, it conditions the type of operation to be carried out:
LIBE
standard mechanism of release with examination of the state, the statute and the mark,
TASS
mechanism of release with immediate writing used at the time of the retassage of the files or
in mode debug JEVEUX,
LIBF
mechanism used at the end of the work during the closing of a base JEVEUX.
Concerning the simple objects, this release does not pose a particular problem: the routine
JJLIDE checks that the mark associated with the segment with values is identical to the current mark
stored in the commun run/IADMJE/, it modifies the descriptors (state and statute) of the segment of
values and assigns to 0 the associated mark, possibly it causes an unloading (JXECRO)
and the contents of the attributes modify address memory and address disc. Release of an object of
dispersed collection follows the same process, the attributes being modified within the system objects
of collection. The release of a collection is more delicate, the system objects having to be maintained
accessible in memory as long as a segment of values associated with the one with the objects with collection is
present in memory (used, déchargeable, and even removable).
The call to routine JJLIBP makes it possible to mark free the segment of values (XX) and to incorporate, if they
exist, the free zones around this last. One uses for this purpose the chaining before and the chaining
back to position on the descriptors of the close segments. This routine can affect it
contents of the segment of values released to value UNDEF if this type of operation
is asked (mode debug JEVEUX). The commun run/UNDFJE/contains a variable initialized by
JEDEBU with this value which is judicious to cause a brutal stop during any use in one
arithmetic operation. The placement of this mechanism is carried out at the time of the call to the routine
JEDBUG. It must be used with precaution, only during debugging, indeed, it modifies
appreciably operating mode of the manager of memory, unloadings not being more
differed, the number of inputs/outputs increases and the time spent to the search of positioning
segments of values in memory increases.
Handbook of Descriptif Informatique
D9.02 booklet:
HI-75/97/010 - Ind A

Code_Aster ®
Version
4.0
Titrate:
Documentation of development and maintenance of the manager
Date: 28/01/1999
Author (S):
J.P. LEFEBVRE
Key:
D9.02.02-A
Page:
8/50
5
Management of the files of random access
The manager of memory JEVEUX manages report unloadings on disc, to release from
place in memory during the execution and to file the results at the end of the work. One uses with
this end of the files of random access. On CRAY they are utilities OPENDR, WRITDR, READDR and
CLOSDR which are called.
The address disc of objects JEVEUX is obtained by combination of the number of the recording of
file of random access used to deposit the values, and possibly the position within this
recording.
The length of the recordings is fixed, its value is selected at the time of the opening of bases JEVEUX
via routine JEINIF.
On CRAY, the number of recordings which belongs to the parameters, is given in
Code_Aster according to the conditions of operating (currently, it is not possible to lay out
of more than 4 Go of space file at the time of a passage batch CRAY). Each base is cut out in unit
logic length 523.468.800 bytes (concept of “extend”), this value is affected through
function ENVIMA LOFIEM and stored in the commun run/FENVJE/. This cutting allows
to profit as well as possible from the possibilities offered by utility DMF of migration of files. JEVEUX manages
a total index that it then cuts out for each extend, the address disc is measured compared to
the total index, then modulo the number of recordings, one obtains the number of the extend easily
and the relative address. The various logical units are accessible by a local name which is
composed starting from the first four characters in small letters of the name of the base associated and with
number of extend.
The size of the recordings defines two classes of objects JEVEUX:
1) the small objects whose size is lower than the length of a recording, they are
accumulated in a space of the size of a recording before transfer on disc,
the 2) large objects which require several recordings to store their contents.
At the time of a request of writing on disc, the contents of the large objects will be directly transferred on
disc, whereas a buffer of writing is used for the small objects in order to cumulate them and
to reach approximately the length of a recording before their transfer. At the time of a request of reading,
at least it is a recording which will be used, in the case of the small objects one uses a buffer
of reading. The buffers of reading and writing belong to the system objects associated with each base
JEVEUX.
On CRAY, the closing of the files of random access is essential to bring up to date the index of access,
it is the routine JXFERM which call utility CLOSDR.
Description of the recordings
Each recording car-is described in order to easily be able to identify its contents. Like
for the zone memory, the recordings are seen like a succession of words of the whole type
(INTEGER * 8 on CRAY). The first two words give total information on the size of
stored objects:
· if Ident1=Ident2=0 the recording contains small objects, three whole words
(descriptors) are placed in front of each segment of values, it contain respectively,
when they exist, the identifier of collection (Idc1), the simple identifier of object or it
Handbook of Descriptif Informatique
D9.02 booklet:
HI-75/97/010 - Ind A

Code_Aster ®
Version
4.0
Titrate:
Documentation of development and maintenance of the manager
Date: 28/01/1999
Author (S):
J.P. LEFEBVRE
Key:
D9.02.02-A
Page:
9/50
number of object of collection (Ids1) and the length of the segment of value, follows the segment of
values, and one starts again for the following until Idcn=Idsn=0;
· if Ident1 or Ident2 is different from 0, the recording contains whole or part of the segment
values associated with a large object.
At the time of the destruction of a large object the identifiers Ident1 and Ident2 are positioned with
value opposite (assignment of the sign -). In the same way, at the time of the destruction of a small object, them
identifiers Idci and Idsi are affected sign -.
Writing of the objects
It is the routine JXECRO which treats the writing of objects JEVEUX. It also ensures, when it is
necessary, the opening of the logical units associated the partition in extend of the bases. The routine
examine the various recordings to find a succession of recordings being able to accommodate it
segment of values or the buffer following the cases. Recordings corresponding to large objects
destroyed can thus be recovered. The writing of a small object results in a displacement of
contents of the segment of values in the buffer of writing by routine JXDEPS with updating
descriptors. The buffer is transferred on disc only if the segment of values is of one
size higher than open space remaining. The segment of values associated with large objects is transferred
on disc by routine JXECRB. JXECRB is a cap calling upon the utility WRITDR which
bring up to date the descriptors Ident1 and Ident2 as well as a meter associated with the recording. At the time
later unloadings, the buffer of reading can be used to bring up to date the image disc; one
logic indicates this type of use then.
Reading of the objects
It is the routine JXLIRO which treats the reading of objects JEVEUX. The segments values associated with
small objects is reloaded in memory from one of the buffers of reading or writing. The buffer of
reading can be possibly discharged on disc before charging a new recording.
segment of values associated with the large objects is directly read again using routine JXLIRB.
Handbook of Descriptif Informatique
D9.02 booklet:
HI-75/97/010 - Ind A

Code_Aster ®
Version
4.0
Titrate:
Documentation of development and maintenance of the manager
Date: 28/01/1999
Author (S):
J.P. LEFEBVRE
Key:
D9.02.02-A
Page:
10/50
6
Access by names: associative addressing
Simple objects JEVEUX, objects and objects of collections, are accessible by name. Names
handled by the routines I…. comprise 24 characters, the names used in-house by JEVEUX
comprise 32 characters to treat the case of the collections. The access by name, if it facilitates legibility and
allows to structure the data, cannot be used directly in-house. One thus has recourse to one
algorithm of associative addressing which, using a function of coding, makes it possible to associate one
whole identifier with a name. This system of coding is used to manage the names of the objects
JEVEUX for each definite class (partner at each base), but also for the names of the objects
of collection.
One uses for this purpose is a couple of objects formed by a vector of entireties and a vector of chains of
characters for the management of different the classes, is an object of repertory kind of names having
heterogeneous characteristic to be of contents (storage of the character strings and the identifiers
entireties) for the named collections. The use of these repertories requires functions of access
particular. The dimensioning of these objects is carried out in order to contain the number
necessary identifiers by minimizing their size and collisions on the level of the function of coding.
Our choice to dimension the pointer of entireties associated with the result with the function with addressing is
decree on the following condition:
nrep = nprem where nprem > 1.3 * nmax
nprem is a prime number and nmax the maximum number of identifiers to be stored.
The calculation of the size of the repertories is carried out by the function JJPREM in which is stored under
form DATA a list of 56 prime numbers up to value 611957 what limits to this value
capacity of the repertories of names (and that of the pointer of entireties to approximately 795.000).
On CRAY, the selected function of coding JXHCOD calls upon the function system STRMOV which allows
to transfer byte by byte a character string in a table from entireties and to function XOR
Handbook of Descriptif Informatique
D9.02 booklet:
HI-75/97/010 - Ind A

Code_Aster ®
Version
4.0
Titrate:
Documentation of development and maintenance of the manager
Date: 28/01/1999
Author (S):
J.P. LEFEBVRE
Key:
D9.02.02-A
Page:
11/50
to cumulate the results in an entirety (INTEGER). The identifier is finally obtained by one
congruence modulo the length of the repertory nrep.
Handbook of Descriptif Informatique
D9.02 booklet:
HI-75/97/010 - Ind A

Code_Aster ®
Version
4.0
Titrate:
Documentation of development and maintenance of the manager
Date: 28/01/1999
Author (S):
J.P. LEFEBVRE
Key:
D9.02.02-A
Page:
12/50
Insertion of a name
The insertion of a new name in the repertories associated with the various bases is carried out with the assistance
routine JJCREN. The whole of the repertories of the open bases is examined in order to ensure
the unicity of the name of object, routines JEVEUX not accepting like argument the class associated with
the base.
If the repertory of names starts to be saturated, the function of coding, although selected to be
dispersive, can give an identical identifier for two distinct chains, there is then collision.
A new identifier must be given by taking account of the value obtained previously.
Scan for noun in a repertory
This algorithm requires a certain number of comparisons of character strings and thus can
to become expensive. A commun run, brought up to date by last search in the repertories of different
bases contains the identifier and the associated chain in order to reduce the cost of search
(/IATCJE/). It is the routine JJVERN which carries out a comparison with the contents of the commun run
before the call to JJCREN. The code return of routine JJCREN depends on the type of search in
repertory: with insertion in the repertory of names (ICRE=1) this code return is obligatorily not
no one (there is possibly stop in error), without insertion it can be worth 0, if not 1 corresponds to an object
simple and 2 with a collection. It is the presence of a nonwhite chain between positions 25 to 32
who indicates that one treats an object of collection.
The characters composing the names of the objects are limited to the alphanumerics
supplemented by the special characters:
''
the white,
“.”
the point,
“_”
the underlined white,
“$”
the symbol dollar,
“&”
the and commercial one.
The conformity of the character strings is checked after insertion in the repertories (at the time of
creation of the name only) by comparison character by character with the contents of the commun run
/JCHAJE/initialized in routine JEDEBU.
Destruction of a name
The destruction of a name uses the same algorithm as insertion, the position in the repertory
can be released because of possible collisions, one thus proceeds while making negative the identifier
and while affecting to “?” the character string of the name to be destroyed. Thus it will be always possible of
to recover this position later on.
Redimensioning of the repertories
The redimensioning of the repertories is ensured in an automatic way using routine JJAREP.
The size of the repertories of the bases is doubled at the time of the operation. This operation rebuilt
entirely the new existing repertory by insertion of the names. The command of insertion being preserved,
the system objects do not require particular processing, other that a recopy in one
larger receptacle (it follows from there a displacement in memory of the latter) and their updating
on disc.
Case of the repertories of collection
The repertories of collection are objects of nonhomogeneous contents: they store at the same time it
result (of whole type) of the function of coding and the character strings composing the names. They
car-are described and the routines using them contain the following instructions:
INTEGER ILOREP, IDENO, ILNOM, ILMAX, ILUTI, IDEHC
Handbook of Descriptif Informatique
D9.02 booklet:
HI-75/97/010 - Ind A

Code_Aster ®
Version
4.0
Titrate:
Documentation of development and maintenance of the manager
Date: 28/01/1999
Author (S):
J.P. LEFEBVRE
Key:
D9.02.02-A
Page:
13/50
PARAMETER (ILOREP=1, IDENO=2, ILNOM=3, ILMAX=4, ILUTI=5, IDEHC=6)
Handbook of Descriptif Informatique
D9.02 booklet:
HI-75/97/010 - Ind A

Code_Aster ®
Version
4.0
Titrate:
Documentation of development and maintenance of the manager
Date: 28/01/1999
Author (S):
J.P. LEFEBVRE
Key:
D9.02.02-A
Page:
14/50
The value positioned with the address:
Represent:
ILOREP
size necessary to the whole of the whole codes,
IDENO
the address from which the names are stored,
ILNOM
the length of the stored chains,
ILMAX
the maximum dimension of the repertory,
ILUTI
the number of actually stored names,
IDEHC
the address from which the whole codes are stored.
The information stored with address ILUTI is brought up to date and used in the internal functions of access
with the repertories, its value is only accessible in an external way, using utility JELIRA
with for name of attribute NOMUTI.
The objects of named collection, during their creation by routine JECROC, are inserted using
function JJCODN. Intermediate routine JJCROC allows, according to the value of its second
parameter, to insert a new name or to check its existence and to recover its command
of insertion.
7
The system objects and segments of values not
referred
The manager of memory JEVEUX uses part of the memory to manage the associated attributes
with the objects and to treat certain functions. In order not to multiply the routines of access we have
chosen to use the same structures for objects JEVEUX and the memory used for their
management. This is why during the impression of the segmentation memory one sees appearing
segments of values associated with illicit names with the direction user and referring to
various classes open to a given moment, but also of the segments of values which are not
associated any name. The system objects associated with base GLOBALE carry all the prefix
according to: ________GLOBALE________ (the name of the base is in position 9 to 24), the suffix (in
position 25 to 32) makes it possible to distinguish the various objects. The names of the system objects are
built in the same way for the other bases.
The system objects are created at the time of the first call to routine JEINIF. JEVEUX needing in
permanence to reach the segments of values associated, a specific mark (- 2) their is
affected. A particular processing their is reserved during the closing of the bases.
List system objects used by JEVEUX:
Suffix of the name
Contents
Fortan type
Cut
system object
associated (on CRAY)
1
$$CARA
characteristics of the base
INTEGER * 8
11
associated
2
$$IADD
addresses disc of the objects
INTEGER * 8
2 * NREMAX
3
$$GENR
kind of the objects (E, V, NR or X)
CHARACTER * 1
NREMAX
4
$$TYPE
type of the objects (I, R, C, L, K)
CHARACTER * 1
NREMAX
5
$$DOCU
documentary field
CHARACTER * 4
NREMAX
6
$$ORIG
documentary field
CHARACTER * 8
NREMAX
7
$$RNOM
list names of objects
CHARACTER * 32
NREMAX
8
$$LTYP
types of the segments of values
INTEGER * 8
NREMAX
9
$$LONG
length measured in the type
INTEGER * 8
NREMAX
segments of values
10
$$LONO
measured effective length
INTEGER * 8
NREMAX
in the type of the segments of
values
Handbook of Descriptif Informatique
D9.02 booklet:
HI-75/97/010 - Ind A

Code_Aster ®
Version
4.0
Titrate:
Documentation of development and maintenance of the manager
Date: 28/01/1999
Author (S):
J.P. LEFEBVRE
Key:
D9.02.02-A
Page:
15/50
11
$$DATE
go back to first backup
INTEGER * 8
NREMAX
12
$$LUTI
length used of the segments
INTEGER * 8
NREMAX
values
13
$$HCOD
count of associative addressing
INTEGER * 8
NRHCOD
14
$$USADI
description of the contents of
INTEGER * 8
2 * NBLMAX
recordings
15
$$ACCE
a number of access in
INTEGER * 8
NBLMAX
read/write with
recordings
16
$$MARQ
marks associated with the objects
INTEGER * 8
2 * NREMAX
17
$$INDX
index of the file of random access
INTEGER * 8
2 * NBLMAX
associated
18
$$TLEC
buffer of reading
INTEGER * 8
LONGBL
19
$$TECR
buffer of writing
INTEGER * 8
LONGBL
20
$$IADM
addresses memory of the objects
INTEGER * 8
NREMAX
where
NREMAX
is the maximum number of names associated with a class,
NRHCOD
is obtained starting from NREMAX with function JJPREM,
NBLMAX
is the maximum number of recordings,
LONGBL
is the length of the recordings.
The dimension of the majority of the system objects is likely to be readjusted in the course of calculation
according to the needs, only what milked with the size of the files of random access and with the length of
recordings remains fixed. The last 5 objects of the list above do not have an image disc.
Segments of values not referred present in memory
Two segments of values present in memory do not have names to identify them, us
let us indicate starting from the name of the variables which are used in the subroutines.
Contents
Type FORTRAN
Cut
associated
KPOSMA
ISZON (JISZON+KPOSMA+I) is the position in
INTEGER * 8
LGD
segment of values associated to KDESMA with the addresses
associated the ième mark
KDESMA
addresses memory of the “marked” objects
INTEGER * 8
LGP
Dimensions LGD and LGP are adjusted during the execution, their values initial are
respectively the sum lengths of the vectors $$RNOM of each class and value 50.
8 Them
collections
The collections of objects JEVEUX are structures which allow the pooling of the attributes
and possibly an access named to a group of objects. They can be associated single
segment of values (contiguous collection) or with as many segments of values of objects (collection
dispersed). They are built starting from objects simple JEVEUX, and thus appear under this
form among the objects associated with a class. The main object of the collection is the object of kind X,
it is a vector of 11 entireties containing the identifiers of the various objects composing
collection (inter alia the system objects of the collection which contain a suffix starting with
$$). This vector bears the name allotted using routine JECREC (CHARACTER * 24). Objects
system clean with the collection carry a suffix starting with $$ in position 25, if they are
associated a shared object, they carry a suffix starting with &&. Attributes common to
the whole of the objects of collection are deposited among the attributes of the system object $$DESO (kind,
type, length, etc).
Handbook of Descriptif Informatique
D9.02 booklet:
HI-75/97/010 - Ind A

Code_Aster ®
Version
4.0
Titrate:
Documentation of development and maintenance of the manager
Date: 28/01/1999
Author (S):
J.P. LEFEBVRE
Key:
D9.02.02-A
Page:
16/50
The system objects associated with a collection are created in the associated class (identical attribute
for the whole of the system objects) and charged in memory via routine JJCREC.
Handbook of Descriptif Informatique
D9.02 booklet:
HI-75/97/010 - Ind A

Code_Aster ®
Version
4.0
Titrate:
Documentation of development and maintenance of the manager
Date: 28/01/1999
Author (S):
J.P. LEFEBVRE
Key:
D9.02.02-A
Page:
17/50
Suffix of the name of the object
Contents
Type FORTRAN
Type of collection
system of collection
associated
1
$$DESO
contiguous collection:
INTEGER * 8
dispersed and
attributes associated with this
values associated with
contiguous the segment
object are the attributes various objects of
values does not exist
commun runs of the collection
collection
that for
contiguous collections
2
$$IADD
addresses disc of
INTEGER * 8
dispersed
objects of collections
dispersed
3
$$IADM
addresses memory of
INTEGER * 8
dispersed
objects of collections
dispersed
4
$$MARQ
associated marks
INTEGER * 8
dispersed
with the objects of
dispersed collections
5
$$NOM or shared object
list names of objects
according to
named
collections
the repertory
named
associated
6
$$LONG or shared object
measured length
INTEGER * 8
of variable length
in the type of
segments of values;
receives the values
associated the attribus
LONMAX and NOMMAX
7
$$LONO or &&LONO
effective length
INTEGER * 8
of variable length
measured in the type
segments of
values; is used in
intern by the software
8
$$LUTI or &&LUTI
length used of
INTEGER * 8
of variable length
segments of values
9
$$NUM
information
INTEGER * 8
numbered
concerning
collections
numbered
The routines using the collections, and more precisely the descriptor object of the collection contain
following instructions:
INTEGER IVNMAX, IDDESO, IDIADD, IDIADM,
+ IDMARQ, IDNOM, IDREEL, IDLONG,
+ IDLONO, IDLUTI, IDNUM
PARAMETER (IVNMAX = 0, IDDESO = 1, IDIADD = 2, IDIADM = 3,
+ IDMARQ = 4, IDNOM = 5, IDREEL = 6, IDLONG = 7,
+ IDLONO = 8, IDLUTI = 9, IDNUM = 10)
What makes it possible to position directly in the zone memory to obtain the identifiers of
system objects (when they exist) in the following order: $$DESO, $$IADD, $$IADM, $$MARQ, $$NOM,
$$LONG, $$LONO, $$LUTI and $$NUM. IDREEL is not used any more. The maximum number of objects of
collection is stored with address IVNMAX.
Named collections
The objects associated with such a collection are accessible by their name (function JEXNOM) and by their
sequence number of insertion (function JEXNUM). It is possible to use routines JENUNO and JENONU
to pass from the number to the name and conversely. The length of the names of the objects is limited to 8
Handbook of Descriptif Informatique
D9.02 booklet:
HI-75/97/010 - Ind A

Code_Aster ®
Version
4.0
Titrate:
Documentation of development and maintenance of the manager
Date: 28/01/1999
Author (S):
J.P. LEFEBVRE
Key:
D9.02.02-A
Page:
18/50
characters (CHARACTER * 8) if the collection is based on an “internal” repertory of name, or can
to be worth 8, 16 or 24 if the collection is based on an “external” repertory of name, i.e. created
beforehand (repertory of names shared).
Numbered collections
The objects associated with such a collection are only accessible by their sequence number
of insertion (function JEXNUM). The system object $$NUM is a vector of 2 entireties containing
respectively the maximum number of objects of collection and the number of objects used.
Dispersed collections
Each object is associated a segment of values, it is thus not necessary to bring back
the whole of the collection to reach a particular object. In this case it is necessary to manage 3
system objects: one for the addresses memory of the segments of values ($$IADM), the other for
addresses disc ($$IADD) and the last to manage the releases ($$MARQ).
Contiguous collections
There is only one segment of values for the whole of the objects of the collection which is created and
dimensioned once and for all at the time of the first setting in memory of one of the objects of collection.
This segment of value is associated the system object $$DESO.
Collections variable length
Each object must be dimensioned: by affecting the attribute length by routine JEECRA or
while providing of a vector length (shared object). In this case 3 system objects are
necessary: for the lengths ($$LONG or shared object), for the lengths in the type of
associated segments of values ($$LONO or &&LONO in the case of a shared object) and finally for
lengths used ($$LUTI or &&LUTI in the case of a shared object).
In the case of the contiguous collections, it is possible to reach directly the vector lengths
cumulated by using function JEXATR combined with the call to JEVEUO to obtain the address of
this vector. This access makes it possible to be freed from a call to JEVEUO by object of collection.
dimension of the system object $$LONO is incremented of 1 compared to the length of the object
system $$LONG to this end.
Collections fixed length
Each object has same dimension, this attribute can be affected various ways: in
directly affecting the attribute length of an object of the collection or attribute LONT of
overall length for a contiguous collection (call to JEECRA).
The mechanism of access to the objects of collection
The requests of access to the objects of collection request the system objects attached to the collection, of
same manner that it is necessary to have access to the system objects associated with a class at the time of
requests on the simple objects. It is thus necessary that these objects are present in memory as of
that a request is carried out on one of the objects of collection. Routine JJALLC is charged with
to put in memory the system objects of collection. They obey particular rules
concerning the releases because they can be discharged from the memory only when all the objects
from collection themselves were discharged (updating of the addresses disc and memory).
management of the shared objects is even more delicate because it is necessary to be able to secure itself against a release
inopportune from the latter, for this purpose, they receive a particular mark which is worth - 1.
The various requests on the objects of collection are carried out starting from the routines I used for
the simple objects, but require the use of the functions of synchronization JEXNOM, JEXNUM or
JEXATR. These functions of the type CHARACTER * 32 update the contents of the respective commun runs
Handbook of Descriptif Informatique
D9.02 booklet:
HI-75/97/010 - Ind A

Code_Aster ®
Version
4.0
Titrate:
Documentation of development and maintenance of the manager
Date: 28/01/1999
Author (S):
J.P. LEFEBVRE
Key:
D9.02.02-A
Page:
19/50
/IDATJE/,/INUMJE/and/KNOMJE/, moreover they replace the character string associated with
name of object JEVEUX in position 25 to 32 by the respective suffixes $$XNOM, $$XNUM and $$XATR.
The routines of low level then will seek this information within the various commun runs
according to the type of access.
Handbook of Descriptif Informatique
D9.02 booklet:
HI-75/97/010 - Ind A

Code_Aster ®
Version
4.0
Titrate:
Documentation of development and maintenance of the manager
Date: 28/01/1999
Author (S):
J.P. LEFEBVRE
Key:
D9.02.02-A
Page:
20/50
9 Them
continuations
The system object of suffix $$CARA (containing the name of the base associated in position 9 to 24), contains
information necessary to the reopening of the file of random access, it contains inter alia,
position of the segment of values associated with the addresses disc with the unit with the objects contained in
the base, as well as dimensions characteristic of the system objects. One thus takes the precaution of
to store at the head in the first recording. In the event of continuation on a basis, the first
action carried out will be the second reading of the contents of this object. Routine JXLIR1 opens the file
associated the first “extend” (glob.1) with characteristics which are clean for him (what can
to lead to a message of alarm), reads the first 14 values (3 for the descriptors of the segment of
values on disc and the 11 awaited values) then closes again the file. The length of the index being
known, it is then possible to reopen properly the files (the system objects can have been
deposited on the various files constituting the base). The system objects not having an image disc
are created and initialized (addresses memory, buffer of input/output,…).
10
Processing of objects JEVEUX
Creation of the objects
The creation of the descriptors (name and attribute of class, kind and type) of objects JEVEUX is
realized using routine JECREO for the simple objects, and by routine JECREC for
collections. The decoding of the chain passed in argument to affect the attributes is carried out by
routine JJANAL. In the case of the objects of kind E the attributes length are directly
affected.
The assignment of the attributes
The generic attributes are affected during the creation of the simple name of object or collection, they
appear in the following table:
· for the simple objects and the collections:
CLAS
classify fastening of
V: base Volatile, G: base Globale, L: base
the object at a data base.
Local, C: base of Catalogs compiled
GENR
kind of the object
E: simple variable, V: vector, NR: repertory of
names
TYPE
type FORTRAN of the object
I, R, C, L, K8, K16, K24, K32, K80
LTYP
length of the type
managed automatically for types I, R, C,
L, standardized to 8, 16, 24, 32 and 80 for
characters
· for the collections only:
ACCES
Type of access: NO if named, NAKED if
NO can be followed name of
numbered
repertory of names
STOCKAGE
CONTIG or DISPERSE
MODELONG
mode of definition length
VARIABLE can be followed name
objects of collection: CONSTANT
pointer length
or VARIABLE
LONT
overall length of a collection
contiguous
NMAXOC
numbers maximum objects of
collection
Handbook of Descriptif Informatique
D9.02 booklet:
HI-75/97/010 - Ind A

Code_Aster ®
Version
4.0
Titrate:
Documentation of development and maintenance of the manager
Date: 28/01/1999
Author (S):
J.P. LEFEBVRE
Key:
D9.02.02-A
Page:
21/50
The other attributes are affected using routine JEECRA, these attributes appear in the table
below:
· for the simple objects or the objects of collection:
LONMAX
length of the object of kind V
NOMMAX
length of the object of kind NR
LONUTI
length used of the object of kind V
NOMUTI
length used of the object of kind NR
DOCU
documentary field (4 characters)
Reading of the attributes
The values associated with the various attributes can be consulted constantly using
routine JELIRA, including the in-house managed attributes:
· accessible internal attributes:
DATE
go back to last disc unloading of the object
ORIG
not used
IADM
address memory
IADD
address disc
LONO
length measured in the type of the segments of values and according to their kind
USAGE
use (statute and state) of the segment of values in memory: UD, UA, XD, TESTSTEMXÀ or
XX.
The statute and the state of a segment of values in memory can be collected by this routine in
using USAGE for value of the argument of the name of attribute. Value XOUS for this same argument
allows to determine if the object is a collection (X) or a simple object (S).
Note:
The consultation of the attributes of the objects of collection can require the setting in memory of
attribute objects, and their release at the end of the action. A temporary mark equalizes with - 2 is affected
in this case.
Request of access to the objects
The whole of the requests of access to objects JEVEUX (objects simple, objects of collection or
whole collections), which they are direct (JEVEUO, JEVEUS, JEVEUT) or indirect (JEEXIN,
JENONU,…) follows the following process:
· processing of the name of object passed in argument by JJVERN,
· possibly, put in memory or checking of the presence in memory of the objects
system in the case of a collection by routine JJALLC, then using the routine
JJCROC, determination of the identifier of object of named collection or checking of
sequence number of numbered collection,
· according to the type, call to JJALTY to obtain the address compared to table Z *
commun run of reference,
· possibly put in memory then assignment of the identifiers of the segment of values
and of the mark, and determination of the relative address by routine JXVEUO,
· in certain cases (for example consultations of attributes), release of the object and/or
collection by JJLIDE.
The attributes necessary to the description of object JEVEUX are read again or determined by the routine
JXVEUO, the processing are immediate for the simple objects bus one has access directly to the attributes
Handbook of Descriptif Informatique
D9.02 booklet:
HI-75/97/010 - Ind A

Code_Aster ®
Version
4.0
Titrate:
Documentation of development and maintenance of the manager
Date: 28/01/1999
Author (S):
J.P. LEFEBVRE
Key:
D9.02.02-A
Page:
22/50
in the system objects associated with the base, some operations are necessary to treat them
attributes of collection or object of collection (positioning in the system objects of collection).
Alternative JEVEUS allocates in a permanent way the segment of values in memory.
Handbook of Descriptif Informatique
D9.02 booklet:
HI-75/97/010 - Ind A

Code_Aster ®
Version
4.0
Titrate:
Documentation of development and maintenance of the manager
Date: 28/01/1999
Author (S):
J.P. LEFEBVRE
Key:
D9.02.02-A
Page:
23/50
Destruction of the objects
The destruction of an object JEVEUX (simple object, collection or object of dispersed collection) requires
two interventions: destruction of the segment of values and destruction of the attributes. For an object
simple, the segment of values can have an image disc, in this case it is also necessary to destroy this
last, the corresponding recordings will be marked free and could be recovered
later. The segment of values in memory will be marked free. The image disc, if it exists will be
marked free by using, following the type of object, the descriptors of the recording (system object
$$USADI) or descriptors within a recording (assignment of the sign -). This function
is ensured by routine JXLIBD. Attributes (name, length, kind, etc) will be released (routine
JJMZAT) and their position in the system objects of the associated base will be available for
new creation of descriptor. The system object containing the address of the marked objects must too
to be reactualized. The processing of an object of collection is identical, the updating of the attributes is
realized on the system objects of the collection. The segment of values for an object of collection
contiguous cannot of course be destroyed. The destruction of a collection is carried out while destroying
the whole of the objects of collection and the system objects of the collection provided that they are not
shared. Routines JEDETR and JEDETC make it possible to destroy objects JEVEUX, the first
work starting from an identifier, the second, more expensive, carries out a search first of all for
descriptor in the repertories of the classes open starting from a character string to one
position given. Routine JEDETV is only used to destroy the objects on the basis
bird associated with the class V between the various commands with Code_Aster.
Release clarifies objects
Although the mechanism of release is implemented with the concept of mark and the calls
obligatory with routines JEMARQ and JEDEMA, certain configurations require an explicit call
with the following routines of release:
JELIBE releases the object required by respecting the affected mark,
JELIBS releases the object of name passed in argument when the associated mark is worth - 3,
JELIBZ releases the whole of the objects associated with a class with which the mark associated is worth - 1.
Recopy objects
Utility JEDUPO makes it possible to duplicate an object JEVEUX (simple object, or collection supplements)
possibly by depositing the result on a different class. The new objects are released in
end of operation. If this action does not raise any difficulty for the objects simple, some care
are to be taken concerning the collections being pressed on external pointers. The latter can
to be recreated to become system objects specific to the collection (one does not profit any more a setting
jointly attributes concerned) or to be preserved just as they are, but it is then not allowed
to deposit the result of the recopy on another class. The receptacle can preexist (the user
provides a name or a chain), in this case it is destroyed at the beginning of operation. The recopy does not require
not obligatorily the presence in memory of the segments of values to be copied, they can be read again
directly on disc.
It is possible to make use of the utility JEDUPC which works starting from a under-chain of
characters but requires on the other hand a preliminary search of the names in the repertory (what
can prove to be expensive).
Impression of the contents of the segments of values
Utility JEIMPO is charged to print in a pleasant way the contents of (of) the segment (S) with
value (S) associated (S) with objects JEVEUX. The objects system (associates with a class or one
collection) are treated by routine JEPRAT. A setting in memory being able to be carried out, one
particular mark (- 2) is assigned to the segments of values charged. According to the type of object (object
simple, object of collection or collection) one recovers the attributes associated with (X) the segment (S) with
values to call the routine JJIMPO which carries out the formatting of the data.
Handbook of Descriptif Informatique
D9.02 booklet:
HI-75/97/010 - Ind A

Code_Aster ®
Version
4.0
Titrate:
Documentation of development and maintenance of the manager
Date: 28/01/1999
Author (S):
J.P. LEFEBVRE
Key:
D9.02.02-A
Page:
24/50
Handbook of Descriptif Informatique
D9.02 booklet:
HI-75/97/010 - Ind A

Code_Aster ®
Version
4.0
Titrate:
Documentation of development and maintenance of the manager
Date: 28/01/1999
Author (S):
J.P. LEFEBVRE
Key:
D9.02.02-A
Page:
25/50
11
Processing of the bases
Certain operations treat in their entirety bases JEVEUX, they are essential for
to initiate the system of management of memory, but are also used at the end of the process. Attention, it
contained bases is systematically enriched during the execution of the Aster command
POURSUITE, and it is essential to finish the execution by command FIN to close
properly files of random access. Only a stop with a message UTMESS of the <S> type allows
SUPERVISEUR to validate the concepts created and to properly close the files of random accesses by
call to routine JEFINI
The opening of a base
The length of the recordings of the file of random access and the initial length of the repertory of names
remain the only adjustable parameters associated with bases JEVEUX. They are specified at the time of the call to
routine JEINIF, one indicates also the statute of the base at the beginning of work for possibly
to reopen an existing file, the statute at the end of the work makes it possible to avoid superfluous inputs/outputs if
base is not preserved. The reopening of a base (command POURSUITE in Code_Aster
or reading of the catalog of the compiled elements) requires the knowledge length of
recordings of the file of random access and the contents of certain system objects, the first
recording contains the data essential to the reconstitution of this various information.
Routine JXLIR1 is charged to read again the beginning of the first recording: the file is opened
access random (with an index whose size is fixed at 11), one reads information in beginning
of recording, then the file is closed again. One can then open the file of random access with one
table of suitable index length, and to read again the contents of the system objects stored on disc at the time
preceding execution.
The closing of a base
The operation of closing of a base, carried out by routine JELIBF, consists in releasing the whole of
objects which are attached there, with possibly writing on disc and to bring up to date the system objects.
Two loops are necessary to release the objects: the first treats the collections, the second
draft simple objects. The system objects are then discharged, the addresses disc are treated
in the last, the buffers of input/output are emptied, finally one brings up to date the characteristics of the base
on the first recording. The file of random access is then closed by call to the routine
JXFERM.
The retassage of a base
At the time of the operations of destruction of object JEVEUX, the associated disk space is marked free but
is not systematically recovered. The retassage makes it possible “to fill” the vacuums in “going up” them
recordings. It is thus necessary to modify the attribute addresses disc of the objects contained in
recordings to be moved. This operation is immediate for the simple objects, concerning
collections it is necessary to have access to the system object containing the addresses disc (which itself can be
located the recording to be moved!). There is no reorganization within the recordings
containing the images of small objects. One uses routine JETASS and one calls upon the alternative
“JETASS” of the routine of release JJLIDE. This utility can be directly called by
order FIN in Code_Aster.
The recopy of the bases
This operation must be carried out to take into account indeed the retassage, the files
random access WRITDR which cannot be reduced in place on CRAY. Routine JXCOPY works to leave
closed bases and restores them in the same state. This utility can be called by the command
FIN in Code_Aster.
Handbook of Descriptif Informatique
D9.02 booklet:
HI-75/97/010 - Ind A

Code_Aster ®
Version
4.0
Titrate:
Documentation of development and maintenance of the manager
Date: 28/01/1999
Author (S):
J.P. LEFEBVRE
Key:
D9.02.02-A
Page:
26/50
12 Them
impressions
Routine JEIMPD makes it possible to print the list of objects JEVEUX present on one or more bases.
The list is made up starting from the associated catalog (system object $$RNOM) and they are printed
following information for each object:
· the associated identifier in the name of object,
· the name of the object,
· the kind of the object,
· the type of the object,
· the length in the type,
· the length in byte of the segment of values,
· the number of the recording containing the segment of values,
· the position in the recording for the small objects,
· the number of access in reading on the recording,
· the number of access in writing on the recording.
1
CONTAINED BASE G
NAME OF THE BASE: GLOBALE
NB RECORDINGS MAXIMUM: 5242
RECORD LENGTH (BYTES): 819200
--------------------------------------------------------------------------------
---- NUM ------------- NOM ---------------- G T - L - LOTY- - IADD- --LIADD- NB AC
1 ________GLOBALE ________$$CARA - V-I- 8 11 1 24 0
2 ________GLOBALE ________$$IADD - V-I- 8 4000 1.136 0
3 ________GLOBALE ________$$GENR - V-K- 1 2000 1 32160 0
4 ________GLOBALE ________$$TYPE - V-K- 1 2000 1 34184 0
5 ________GLOBALE ________$$DOCU - V-K- 4 2000 1 36208 0
6 ________GLOBALE ________$$ORIG - V-K- 8 2000 1 44232 0
7 ________GLOBALE ________$$RNOM - V-K- 32 2000 1 60256 0
8 ________GLOBALE ________$$LTYP - V-I- 8 2000 1 124280 0
9 ________GLOBALE ________$$LONG - V-I- 8 2000 1 140304 0
10 ________GLOBALE ________$$LONO - V-I- 8 2000 1 156328 0
11 ________GLOBALE ________$$DATE - V-I- 8 2000 1 172352 0
12 ________GLOBALE ________$$LUTI - V-I- 8 2000 1 188376 0
13 ________GLOBALE ________$$HCOD - Ni 8 4177 1 204400 0
14 ________GLOBALE ________$$USADI - V-I- 8 10484 1 237840 0
15 ________GLOBALE ________$$ACCE - V-I- 8 5242 1 321736 0
Impression of the segmentation memory
Routine JEIMPM makes it possible to print the list of objects JEVEUX present in memory and indicates them
free zones. Following information is printed:
· the class of the object,
· the associated identifier of collection in the name of object or 0,
· the simple identifier of object or associated object of collection in the name of object,
· the value (whole) of the mark associated with the segment with values,
· the address relative memory of the segment of values,
· the statute of the segment of values (X or U),
· the length measured in unit of addressing (whole on CRAY) of the segment of values,
Handbook of Descriptif Informatique
D9.02 booklet:
HI-75/97/010 - Ind A

Code_Aster ®
Version
4.0
Titrate:
Documentation of development and maintenance of the manager
Date: 28/01/1999
Author (S):
J.P. LEFEBVRE
Key:
D9.02.02-A
Page:
27/50
· the state of the segment of values (X, A or D),
· the name of the object (possibly supplemented by the number of object of collection).
--------------------------------------------------------------------------------
---- SEGMENTATION MEMORY
----
--------------------------------------------------------------------------------
CL- --NUM-- - MY --IADM-- - U - LON UA - - S ------------- NOM --------------
0 0 0 9 X 21622 X <<<< FREE >>>>
0 0 0 21639 U 50 D
G 0 1 - 2 21697 U 11 D ________GLOBALE ________$$CARA
G 0 16 - 2 21716 U 4000 D ________GLOBALE ________$$MARQ
G 0 17 - 2 25724 U 9216 D ________GLOBALE ________$$INDX
G 0 15 - 2 34948 U 5242 D ________GLOBALE ________$$ACCE
G 0 18 - 2 40198 U 102400 D ________GLOBALE ________$$TLEC
G 0 19 - 2 142606 U 102400 D ________GLOBALE ________$$TECR
G 0 20 - 2 245014 U 2000 D ________GLOBALE ________$$IADM
G 0 2 - 2 247022 U 4000 D ________GLOBALE ________$$IADD
G 0 3 - 2 251030 U 251 D ________GLOBALE ________$$GENR
G 0 4 - 2 251289 U 251 D ________GLOBALE ________$$TYPE
G 0 5 - 2 251548 U 1001 D ________GLOBALE ________$$DOCU
G 0 6 - 2 252557 U 2000 D ________GLOBALE ________$$ORIG
G 0 7 - 2 254565 U 8004 D ________GLOBALE ________$$RNOM
G 0 8 - 2 262577 U 2000 D ________GLOBALE ________$$LTYP
G 0 9 - 2 264585 U 2000 D ________GLOBALE ________$$LONG
G 0 10 - 2 266593 U 2000 D ________GLOBALE ________$$LONO
G 0 11 - 2 268601 U 2000 D ________GLOBALE ________$$DATE
G 0 12 - 2 270609 U 2000 D ________GLOBALE ________$$LUTI
G 0 13 - 2 272617 U 4177 D ________GLOBALE ________$$HCOD

V 0 0 0 2177711 X 9680 X <<<< FREE >>>>
G 0.247 0 2187399 NAKED TESTSTEMX2DS .NUME.NEQU
G 0.248 0 2187409 X 6 D NAKED .NUME.REFE
G 0.249 0 2187423 X 1680 D NAKED .NUME.NUEQ
G 0.250 0 2189111 X 3360 D NAKED .NUME.DEEQ
G 0.251 0 2192479 X 1680 D NAKED .NUME.DELG
V 0 0 0 2194167 X.400 X <<<< FREE >>>>
G 0.252 0 2194575 X 6 D NAKED .SLCS.REFE
G 0.253 0 2194589 X 1680 D NAKED .SLCS.HCOL
G 0.254 0 2196277 X 1680 D NAKED .SLCS.ADIA
G 0.255 0 2197965 NAKED TESTSTEMX2DS .SLCS.ABLO
G 0.256 0 2197975 X 1680 D NAKED .SLCS.IABL
G 0.257 0 2199663 X 6 D NAKED .SLCS.DESC
0 0 0 2199677 X 946044 X <<<< FREE >>>>
Impression of the repertories system
Routine JEIMPR makes it possible to print the repertories associated with the various opened bases, it
traverses the system object sequentially $$RNOM and prints the values of the attributes when it
first character of the name is different from “?”. Following information is printed:
· the simple identifier of object,
· the name of the simple object,
· the kind of the object,
· the type of the object,
· the length of the type used,
· the length of the object (attribute LONMAX or NOMMAX),
· the length measured in the type of the segment of values,
Handbook of Descriptif Informatique
D9.02 booklet:
HI-75/97/010 - Ind A

Code_Aster ®
Version
4.0
Titrate:
Documentation of development and maintenance of the manager
Date: 28/01/1999
Author (S):
J.P. LEFEBVRE
Key:
D9.02.02-A
Page:
28/50
· the number of the recording containing the image disc,
· the position in the recording for the small objects (in bytes),
· the address relative memory of the segment of values.
--------------------------------------------------------------------------------
---- CATALOG CLASS G
----
--------------------------------------------------------------------------------
NUM ------------- NOM ---------------- G T L --LENGTH - LOTY- - IADD- --KADM--
1 ________GLOBALE ________$$CARA - V-I- 8 11 11 1 21697
2 ________GLOBALE ________$$IADD - V-I- 8 4000 4000 1 247022
3 ________GLOBALE ________$$GENR - V-K- 1 2000 2000 1 251030
4 ________GLOBALE ________$$TYPE - V-K- 1 2000 2000 1 251289
5 ________GLOBALE ________$$DOCU - V-K- 4 2000 2000 1 251548
6 ________GLOBALE ________$$ORIG - V-K- 8 2000 2000 1 252557
7 ________GLOBALE ________$$RNOM - V-K-32 2000 2000 1 254565
8 ________GLOBALE ________$$LTYP - V-I- 8 2000 2000 1 262577
9 ________GLOBALE ________$$LONG - V-I- 8 2000 2000 1 264585
10 ________GLOBALE ________$$LONO - V-I- 8 2000 2000 1 266593
11 ________GLOBALE ________$$DATE - V-I- 8 2000 2000 1 268601
12 ________GLOBALE ________$$LUTI - V-I- 8 2000 2000 1 270609
13 ________GLOBALE ________$$HCOD - Ni 8 4177 4177 1 272617
14 ________GLOBALE ________$$USADI - V-I- 8 10484 10484 1 276802
15 ________GLOBALE ________$$ACCE - V-I- 8 5242 5242 1 34948
16 ________GLOBALE ________$$MARQ - V-I- 8 4000 4000 0 21716
17 ________GLOBALE ________$$INDX - V-I- 8 9216 9216 0 25724
18 ________GLOBALE ________$$TLEC - V-I- 8 102400 102400 0 40198
19 ________GLOBALE ________$$TECR - V-I- 8 102400 102400 0 142606
20 ________GLOBALE ________$$IADM - V-I- 8 2000 2000 0 245014
21 &&SYS FI.NOMS - V-K- 8.142.142 0 797130
22 &&SYS FI.ARITE - VI 8.142.142 0 797280
23 &&SYS FI.PRIORITE - VI 8.142.142 0 797430
24 &&SYS FI.CLASSE - VI 8.142.142 0 797580
25 &&SYS FI.VALEURS_IS - VI 8.142.142 0 797730
NUM ------------- NOM ---------------- G T L --LENGTH - LOTY- - IADD- --KADM--
26 &&SYS FI.VALEURS_R8 - V-R- 8.142.142 0 797880
27 &&SYS FI.VALEURS_C8 - V-C-16 142.142 0 798030
28 &&SYS RESULT.USER - V-K-80 500.500 0 812337
29 &&SYS RESULT.STAT - V-K-80 500.500 0 817355
30 &&SYS .CODE - V-K- 8 3 3 0 828466
31 &CATA.GD.LNOCMP - V-I- 8.107.107 0 1147885
32 &CATA.GD.NOMGD - N-K- 8.106.280 0 1148000

252 NAKED .SLCS.REFE - V-K-24 1 1 0 2194575
253 NAKED .SLCS.HCOL - VI 8 1680 1680 0 2194589
254 NAKED .SLCS.ADIA - VI 8 1680 1680 0 2196277
255 NAKED .SLCS.ABLO - VI 8 2 2 0 2197965
256 NAKED .SLCS.IABL - VI 8 1680 1680 0 2197975
257 NAKED .SLCS.DESC - VI 8 6.6 0 2199663
Handbook of Descriptif Informatique
D9.02 booklet:
HI-75/97/010 - Ind A

Code_Aster ®
Version
4.0
Titrate:
Documentation of development and maintenance of the manager
Date: 28/01/1999
Author (S):
J.P. LEFEBVRE
Key:
D9.02.02-A
Page:
29/50
Impression of the attributes
Routine JEIMPA prints the whole of the attributes for an object JEVEUX. It is the whole of
routines of impression of message (JVMESS, JVIMPI,…) who is used to format the different ones
arguments.
<X> <JEIMPA> IMPRESSION OF THE ATTRIBUTES OF >&INEL.FACE4 .FFORMES <
> <
CLAS STANDARD >G< GENR >V< >R< LTYP 8 DOCU > < DATE 0 ORIG > <
LONMAX 152 LONUTI 0 LONO 152 IADM 1701910 IADD 0 LADD 0 USE >X D<
Note:
The impression of the attributes of the objects of collection or their contents can require the setting in
memory of the attribute objects, and their release at the end of the action. A temporary mark equalizes with
- 2 is affected in this case.
Impression of the contents of a segment of values
Routine JEIMPO makes it possible to print the segments of values associated with an object JEVEUX.
SEGMENT IMPRESSION OF VALUES >&INEL.FACE4 .FFORMES <
>>>>>
1 - 1.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00
6 - 1.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00
11 - 1.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00
16 - 1.00000E+00 - 5.00000E-01 - 5.00000E-01 5.00000E-01 0.00000E+00
21 - 0.00000E+00 0.00000E+00 0.00000E+00 5.00000E-01 - 5.00000E-01
26 - 0.00000E+00 5.00000E-01 - 5.00000E-01 0.00000E+00 5.00000E-01
31 - 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00
36 - - 5.00000E-01 5.00000E-01 5.00000E-01 - 5.00000E-01 0.00000E+00
41 - 0.00000E+00 - 5.00000E-01 0.00000E+00 0.00000E+00 5.00000E-01
46 - 0.00000E+00 - 5.00000E-01 5.00000E-01 1.00000E+00 1.00000E+00
51 - 1.00000E+00 1.00000E+00 6.22008E-01 1.66667E-01 4.46582E-02
56 - 1.66667E-01 1.66667E-01 4.46582E-02 1.66667E-01 6.22008E-01
61 - 1.66667E-01 6.22008E-01 1.66667E-01 4.46582E-02 4.46582E-02
66 - 1.66667E-01 6.22008E-01 1.66667E-01 - 3.94338E-01 - 3.94338E-01
71 - 3.94338E-01 - 1.05662E-01 1.05662E-01 1.05662E-01 - 1.05662E-01
76 - 3.94338E-01 - 1.05662E-01 - 3.94338E-01 1.05662E-01 - 1.05662E-01
81 - 3.94338E-01 1.05662E-01 - 3.94338E-01 3.94338E-01 - 3.94338E-01
86 - - 1.05662E-01 3.94338E-01 - 3.94338E-01 1.05662E-01 3.94338E-01
91 - - 1.05662E-01 1.05662E-01 - 1.05662E-01 - 1.05662E-01 1.05662E-01
96 - - 3.94338E-01 3.94338E-01 3.94338E-01 - 3.94338E-01 1.05662E-01
101 - 1.00000E+00 1.00000E+00 1.00000E+00 1.00000E+00 6.22008E-01
106 - 1.66667E-01 4.46582E-02 1.66667E-01 1.66667E-01 4.46582E-02
111 - 1.66667E-01 6.22008E-01 1.66667E-01 6.22008E-01 1.66667E-01
116 - 4.46582E-02 4.46582E-02 1.66667E-01 6.22008E-01 1.66667E-01
121 - - 3.94338E-01 - 3.94338E-01 3.94338E-01 - 1.05662E-01 1.05662E-01
126 - 1.05662E-01 - 1.05662E-01 3.94338E-01 - 1.05662E-01 - 3.94338E-01
131 - 1.05662E-01 - 1.05662E-01 3.94338E-01 1.05662E-01 - 3.94338E-01
136 - 3.94338E-01 - 3.94338E-01 - 1.05662E-01 3.94338E-01 - 3.94338E-01
141 - 1.05662E-01 3.94338E-01 - 1.05662E-01 1.05662E-01 - 1.05662E-01
146 - - 1.05662E-01 1.05662E-01 - 3.94338E-01 3.94338E-01 3.94338E-01
151 - - 3.94338E-01 1.05662E-01
Handbook of Descriptif Informatique
D9.02 booklet:
HI-75/97/010 - Ind A

Code_Aster ®
Version
4.0
Titrate:
Documentation of development and maintenance of the manager
Date: 28/01/1999
Author (S):
J.P. LEFEBVRE
Key:
D9.02.02-A
Page:
30/50
13 ANNEXE 1: Description of the commun runs used in
manager of memory JEVEUX
· /FENVJE/
INTEGER LFIC, MFIC
COMMON/FENVJE/LFIC, MFIC
LFIC
length maximun in bytes of a extend,
MFIC
cut maximum in bytes of disk space usable.
· /IACCED//JIACCE/
PARAMETER (NR = 5)
COMMON/IACCED/IACCE (1)
COMMON/JIACCE/JIACCE (NR)
variable of reference and position of the segment of values associated with
the system object of suffix:
IACCE, JIACCE
$$ACCE
· /IADMJE/
INTEGER IPGC, KDESMA, LGD, LGDUTI, KPOSMA, LGP, LGPUTI
COMMON/IADMJE/IPGC, KDESMA, LGD, LGDUTI, KPOSMA, LGP, LGPUTI
IPGC
Value of the current mark (varies between - 3 and N),
KDESMA
address segments of values containing the addresses of the marked objects,
LGD
length of the segment of value associated to KDESMA,
LGDUTI
length used of the segment of value associated to KDESMA,
KPOSMA
address segments of values containing the positions associated with each
mark,
LGP
length of the segment of value associated to KPOSMA,
LGPUTI
length used of the segment of value associated to KPOSMA.
· /IATCJE/
INTEGER ICLAS, ICLAOS, ICLACO, IDATOS, IDATCO, IDATOC
COMMON/IATCJE/ICLAS, ICLAOS, ICLACO, IDATOS, IDATCO, IDATOC
ICLAS
current class,
ICLAOS
classify simple object,
ICLACO
classify collection,
IDATOS
identifier of the simple object,
IDATCO
identifier of the collection,
IDATOC
identifier of the object of collection.
· /IATRJE//JIATJE/
PARAMETER (NR = 5)
INTEGER LTYP, LENGTH, DATE, IADD, IADM,
+ LONO, HCOD, CARA, LUTI, IMARQ
COMMON/IATRJE/LTYP (1), LENGTH (1), DATE (1), IADD (1), IADM (1),
+ LONO (1), HCOD (1), CARA (1), LUTI (1), IMARQ (1)
COMMON/JIATJE/JLTYP (NR), JLONG (NR), JDATE (NR), JIADD (NR), JIADM (NR),
Handbook of Descriptif Informatique
D9.02 booklet:
HI-75/97/010 - Ind A

Code_Aster ®
Version
4.0
Titrate:
Documentation of development and maintenance of the manager
Date: 28/01/1999
Author (S):
J.P. LEFEBVRE
Key:
D9.02.02-A
Page:
31/50
+ JLONO (NR), JHCOD (NR), JCARA (NR), JLUTI (NR), JMARQ (NR)
Handbook of Descriptif Informatique
D9.02 booklet:
HI-75/97/010 - Ind A

Code_Aster ®
Version
4.0
Titrate:
Documentation of development and maintenance of the manager
Date: 28/01/1999
Author (S):
J.P. LEFEBVRE
Key:
D9.02.02-A
Page:
32/50
variable of reference and position of the segment of values associated with
the system object of suffix:
LTYPE, JLTYP
$$LTYP
LENGTH, JLONG
$$LONG
DATE, JDATE
$$DATE
IADD, JIADM
$$IADD
IADM, JIADD
$$IADM
LONO, JLONO
$$LONO
HCOD, JHCOD
$$HCOD
CARA, JCARA
$$CARA
LUTI, JLUTI
$$LUTI
IMARQ, JMARQ
$$MARQ
· /ICODJE/
INTEGER NUMATR
COMMON/IDATJE/NUMATR
NUMATR
identifier of the system object of collection $$LONO
· /IDATJE/
PARAMETER (NR = 5)
INTEGER NRHCOD, NREMAX, NREUTI
COMMON/ICODJE/NRHCOD (NR), NREMAX (NR), NREUTI (NR)
NRHCOD
cut (in entirety) system object $$HCOD
NREMAX
cut (in entirety) system object $$RNOM
NREUTI
length used of the system object $$RNOM
· /IENVJE/
INTEGER LBIS, LAWS, LOLS, RENTED, LOR8, LOC8
COMMON/IENVJE/LBIS, LAWS, LOLS, RENTED, LOR8, LOC8
LBIS
length out of bits of the entirety,
LOIS
length in bytes of the entirety,
LOLS
length in bytes of logic,
LOUA
length in bytes of the unit of addressing,
LOR8
length in bytes of reality,
LOC8
length in bytes of the complex.
· /IEXTJE/
PARAMETER (NR = 5)
INTEGER IDN, IEXT, NBENRG
COMMON/IEXTJE/IDN (NR), IEXT (NR), NBENRG (NR)
IDN
is not used any more since the use of the named accesses.
IEXT
number open extends
NBENRG
a maximum number of recordings of a extend
· /IFICJE/
PARAMETER (NR = 5)
INTEGER NBLMAX, NBLUTI, LONGBL,
+ KITLEC, KITECR, KINDEF, KIADM,
+ IITLEC, IITECR, NITECR, KMARQ
COMMON/IFICJE/NBLMAX (NR), NBLUTI (NR), LONGBL (NR),
+ KITLEC (NR), KITECR (NR), KINDEF (NR), KIADM (NR),
Handbook of Descriptif Informatique
D9.02 booklet:
HI-75/97/010 - Ind A

Code_Aster ®
Version
4.0
Titrate:
Documentation of development and maintenance of the manager
Date: 28/01/1999
Author (S):
J.P. LEFEBVRE
Key:
D9.02.02-A
Page:
33/50
+ IITLEC (NR), IITECR (NR), NITECR (NR), KMARQ (NR)
Handbook of Descriptif Informatique
D9.02 booklet:
HI-75/97/010 - Ind A

Code_Aster ®
Version
4.0
Titrate:
Documentation of development and maintenance of the manager
Date: 28/01/1999
Author (S):
J.P. LEFEBVRE
Key:
D9.02.02-A
Page:
34/50
For each base associated with index I ranging between 1 and NR
NBLMAX
numbers maximun recordings,
NBLUTI
a number of recordings used,
LONGBL
length in bytes of the recordings,
KITLEC
address in K1ZON of the segment of values associated with the buffer with reading,
KITECR
address in K1ZON of the segment of values associated with the buffer with writing,
KINDEF
address in ISZON of the segment of values associated with the index used for
files of random access,
KIADM
address in ISZON of the segment of values associated with the addresses memory,
IITLEC
address disc of the buffer of reading (number of recording),
IITECR
address disc of the buffer of writing (number of recording),
NITECR
cut in bytes of the portion of the buffer of writing used,
KMARQ
address in ISZON of the segment of values associated with the marks.
· /ILOCJE/
INTEGER ILOC
COMMON/ILOCJE/ILOC
ILOC
pointer on the address of the beginning of the zone memory allocated by
JXALLM.
· /INUMJE/
INTEGER NUMEC
COMMON/INUMJE/NUMEC
NUMEC
number of the object of collection or number of insertion in one
repertory of names.
· /ISTAJE/
INTEGER ISTAT
COMMON/ISTAJE/ISTAT (4)
ISTAT
code associated with the state and the statute with the segments with values
ISTAT (1) corresponds to X
ISTAT (2) corresponds to U
ISTAT (3) corresponds to A
ISTAT (4) corresponds to D
· /IXADJE/
INTEGER IDINIT, IDXAXD
COMMON/IXADJE/IDINIT, IDXAXD
IDINIT
is worth 5, beginning of the zone managed memory,
IDXAXD
initial position in ISZON for search.
· /IZONJE/
INTEGER LK1ZON, JK1ZON, LISZON, JISZON, ISZON (1)
COMMON/IZONJE/LK1ZON, JK1ZON, LISZON, JISZON
EQUIVALENCE (ISZON (1), K1ZON (1))
LK1ZON
length in character (CHARACTER * 1) of the managed zone,
JK1ZON
address in K1ZON of the beginning of the zone,
LISZON
length in entirety (INTEGER * 8 on CRAY, INTEGER * 4 on Sun) of the zone
managed,
JISZON
address in ISZON of the beginning of the zone,
ISZON
zone memory in entirety (INTEGER * 8 on CRAY, INTEGER * 4 on Sun) managed
Handbook of Descriptif Informatique
D9.02 booklet:
HI-75/97/010 - Ind A

Code_Aster ®
Version
4.0
Titrate:
Documentation of development and maintenance of the manager
Date: 28/01/1999
Author (S):
J.P. LEFEBVRE
Key:
D9.02.02-A
Page:
35/50
dynamically; this table of the whole type does not form part of the variables
deposited in the commun run, but it is put in equivalence with the table of
character type.
Command EQUIVALENCE makes it possible to align the two tables of the whole type and character of
way to be able indifferently to use one or the other following the needs.
· /KUSADI//JUSADI/
PARAMETER (NR = 5)
COMMON/KUSADI/IUSADI (1)
COMMON/JUSADI/JUSADI (NR)
variable of reference and position of the segment of values associated with
the system object of suffix:
IACCE, JIACCE
$$USADI
· /JCHAJE/
INTEGER ILLICI, JCLASS (0:255)
COMMON/JCHAJE/ILLICI, JCLASS
ILLICI
- 1 is worth,
JCLASS
is affected with the result of function ICHAR on the characters
licit, if not ILLICI is worth.
· /JENVJE/
INTEGER MSLOIS
COMMON/JENVJE/MSLOIS
MSLOIS
mask being worth the sum of the weights of the LOIS-1 first entireties,
intended to replace the operation modulo (LOIS) by function AND
· /JCONJE/
INTEGER MSSTAT, LSSTAT
COMMON/JCONJE/MSSTAT, LSSTAT
MSSTAT
is not used any more, mask being worth the sum of the weights of the LSSTAT first
entireties.
LSSTAT
(LBISEM - 4) where LBISEM is the length out of bit of the entirety, is used in
JELIRA to obtain the equivalent in the form of character of the statute or of
the state associated with a segment with values.
· /KATRJE/,/JKATJE
PARAMETER (NR = 5)
CHARACTER * 1 GENR, STANDARD
CHARACTER * 4 DOCU
CHARACTER * 8 ORIG
CHARACTER * 32 RNOM
COMMON/KATRJE/GENR (8), TYPE (8), DOCU (2), ORIG (1), RNOM (1)
COMMON/JKATJE/JGENR (NR), JTYPE (NR), JDOCU (NR), JORIG (NR), JRNOM (NR)
variable of reference and position of the segment of values associated with the object
system of suffix:
GENR
$$GENR
GENR
$$TYPE
DOCU
$$DOCU
ORIG
$$ORIG
Handbook of Descriptif Informatique
D9.02 booklet:
HI-75/97/010 - Ind A

Code_Aster ®
Version
4.0
Titrate:
Documentation of development and maintenance of the manager
Date: 28/01/1999
Author (S):
J.P. LEFEBVRE
Key:
D9.02.02-A
Page:
36/50
RNOM
$$RNOM
Handbook of Descriptif Informatique
D9.02 booklet:
HI-75/97/010 - Ind A

Code_Aster ®
Version
4.0
Titrate:
Documentation of development and maintenance of the manager
Date: 28/01/1999
Author (S):
J.P. LEFEBVRE
Key:
D9.02.02-A
Page:
37/50
· /KBASJE/
PARAMETER (NR = 5)
CHARACTER * 8 NOMBAS
COMMON/KBASJE/NOMBAS (NR)
NOMBA
name of the base (used for the error messages)
· /KFICJE/
PARAMETER (NR = 5)
CHARACTER * 2 DN2
CHARACTER * 5 CLASS
CHARACTER * 8 NOMFIC, KSTOUT, KSTINI
COMMON/KFICJE/CLASS, NOMFIC (NR), KSTOUT (NR), KSTINI (NR),
+ DN2 (NR)
DN2
unutilised!
CLASSE
allows to store the whole of the names of the open classes (first
letter of the basic name)
NOMFIC
name of the open bases
KSTOUT
statute at output of the bases (“SAUVE” or “DETRUIT”)
KSTINI
statute in continuation of the bases (“DUMMY”, “DEBUT” or “POURSUIT”)
· /KNOMJE/
CHARACTER * 24 NOMEC
COMMON/KNOMJE/NOMEC
NOMEC
name of object of collection or name to be inserted in a repertory
· /KZONJE/
CHARACTER * 1 K1ZON
COMMON/KZONJE/K1ZON (8)
K1ZON
zone memory in character (CHARACTER * 1) managed dynamically.
· /NFICJE/
INTEGER NBCLA
COMMON/NFICJE/NBCLA
NBCLA
a number of classes opened simultaneously
· /NOMCJE/
CHARACTER * 24 NOMCO
CHARACTER * 32 NOMUTI, NOMOS, NOMOC, BL32
COMMON/NOMCJE/NOMUTI, NOMOS, NOMCO, NOMOC, BL32
NOMUTI
name used (in the calls to the routine I….),
NOMOS
name of the simple object,
NOMCO
name of the collection,
NOMOC
name of the object of collection,
BL32
white chain length 32.
· /UNDFJE
INTEGER LUNDEF, IDEBUG
COMMON/UNDFJE/LUNDEF, IDEBUG
Handbook of Descriptif Informatique
D9.02 booklet:
HI-75/97/010 - Ind A

Code_Aster ®
Version
4.0
Titrate:
Documentation of development and maintenance of the manager
Date: 28/01/1999
Author (S):
J.P. LEFEBVRE
Key:
D9.02.02-A
Page:
38/50
LUNDEF
affected in JEDEBU by the function envima ISNNEM (not has number),
IDEBUG
is worth 1 in debugg mode, 0 if not.
14 ANNEXE 2: Trees of call simplified of some
subroutines
One presents below the trees of principal subroutines JEVEUX, one voluntarily has
limited to three levels of subroutines to facilitate comprehension. Truncated branches
indicate that there are other calls JEVEUX in the subroutine.
Tree of call of routine JEECRA
Handbook of Descriptif Informatique
D9.02 booklet:
HI-75/97/010 - Ind A

Code_Aster ®
Version
4.0
Titrate:
Documentation of development and maintenance of the manager
Date: 28/01/1999
Author (S):
J.P. LEFEBVRE
Key:
D9.02.02-A
Page:
39/50
Tree of call of routine JECREO
Handbook of Descriptif Informatique
D9.02 booklet:
HI-75/97/010 - Ind A

Code_Aster ®
Version
4.0
Titrate:
Documentation of development and maintenance of the manager
Date: 28/01/1999
Author (S):
J.P. LEFEBVRE
Key:
D9.02.02-A
Page:
40/50
Tree of call of routine JEVEUO
Handbook of Descriptif Informatique
D9.02 booklet:
HI-75/97/010 - Ind A

Code_Aster ®
Version
4.0
Titrate:
Documentation of development and maintenance of the manager
Date: 28/01/1999
Author (S):
J.P. LEFEBVRE
Key:
D9.02.02-A
Page:
41/50
Tree of call of routine JEEXIN
Handbook of Descriptif Informatique
D9.02 booklet:
HI-75/97/010 - Ind A

Code_Aster ®
Version
4.0
Titrate:
Documentation of development and maintenance of the manager
Date: 28/01/1999
Author (S):
J.P. LEFEBVRE
Key:
D9.02.02-A
Page:
42/50
Tree of call of routine JEMARQ
Tree of call of routine JEDEMA
Handbook of Descriptif Informatique
D9.02 booklet:
HI-75/97/010 - Ind A

Code_Aster ®
Version
4.0
Titrate:
Documentation of development and maintenance of the manager
Date: 28/01/1999
Author (S):
J.P. LEFEBVRE
Key:
D9.02.02-A
Page:
43/50
Tree of call of routine JELIBE
Handbook of Descriptif Informatique
D9.02 booklet:
HI-75/97/010 - Ind A

Code_Aster ®
Version
4.0
Titrate:
Documentation of development and maintenance of the manager
Date: 28/01/1999
Author (S):
J.P. LEFEBVRE
Key:
D9.02.02-A
Page:
44/50
Tree of call of routine JEDETR
Handbook of Descriptif Informatique
D9.02 booklet:
HI-75/97/010 - Ind A

Code_Aster ®
Version
4.0
Titrate:
Documentation of development and maintenance of the manager
Date: 28/01/1999
Author (S):
J.P. LEFEBVRE
Key:
D9.02.02-A
Page:
45/50
Tree of call of routine JECREC
Handbook of Descriptif Informatique
D9.02 booklet:
HI-75/97/010 - Ind A

Code_Aster ®
Version
4.0
Titrate:
Documentation of development and maintenance of the manager
Date: 28/01/1999
Author (S):
J.P. LEFEBVRE
Key:
D9.02.02-A
Page:
46/50
Tree of call of routine JENONU
Handbook of Descriptif Informatique
D9.02 booklet:
HI-75/97/010 - Ind A

Code_Aster ®
Version
4.0
Titrate:
Documentation of development and maintenance of the manager
Date: 28/01/1999
Author (S):
J.P. LEFEBVRE
Key:
D9.02.02-A
Page:
47/50
Tree of call of routine JEDUPO
Handbook of Descriptif Informatique
D9.02 booklet:
HI-75/97/010 - Ind A

Code_Aster ®
Version
4.0
Titrate:
Documentation of development and maintenance of the manager
Date: 28/01/1999
Author (S):
J.P. LEFEBVRE
Key:
D9.02.02-A
Page:
48/50
15 ANNEXE 3: List subroutines and of theirs
principal functions
JECREC
Creation of a collection
JECREO
Creation of a simple object
JECROC
Creation of an object of collection
JEDBUG
Mode switch-over debug Jeveux
JEDEBU
Initialization of the parameters of the software
JEDEMA
Décrémente the mark and releases the objects
JEDETC
Destroyed a whole of objects
JEDETR
Destroyed an object
JEDETV
Destroyed the objects of the Volatile base
JEDISP
Determine greatest spaces available in memory
JEDUPC
Duplicate a whole of objects
JEDUPO
Duplicate an object
JEECRA
Affect the attributes of an object
JEEXIN
Test the existence of a descriptor of object
JEFINI
Finish the execution of the software
JEIMPA
Print the attributes of an object
JEIMPD
Print the list of the objects present on a basis
JEIMPM
Print the contents of the segmentation memory
JEIMPO
Print the contents of the segment of value of an object
JEIMPR
Print the contents of a repertory
JEINIF
Initialize the parameters associated with a base
JELIBE
Release an object
JELIBF
Release the whole of the objects associated with a base
JELIBZ
Release the whole of the objects associated with the mark - 1
JELIRA
Reading of the value of an attribute of an object
JELSTC
Turn over the list of the objects containing a character string in their identifier
JEMARQ
Increment the current mark
JENONU
Determine the number of object of collection according to the name
JENUNO
Determine the name of object of collection according to the number
JEPRAT
Print the contents of the system objects
JERAZO
To 0 the contents of an object give
JETASS
Move the recordings within the file of random access in order to recover space
free
JEVEMA
Deliver the value of the current mark
JEVEUO
Return the position in table Z. segment of values associated with an object
JEVEUS
Return the position in table Z. segment of values associated with an object and
position the mark with - 3
JEVEUT
Return the position in table Z. segment of values associated with an object and
position the mark with - 1
JEXATR
Function of synchronization giving access the vector cumulated lengths
of a contiguous collection variable length
JEXNOM
Function of synchronization allowing to reach by name an object of collection
JEXNUM
Function of synchronization allowing to reach by number an object of collection
JJALLC
Allowance of the system objects of collection
JJALLS
Allowance of a segment of values
JJALTY
Sorting on the type of object (before setting in memory of a segment of values)
JJANAL
Analyze chain containing the class, the kind and the type of the object
JJAREP
Enlarging of the repertories
JJCODN
Insertion or search in a repertory of collection
JJCREC
Creation of the system objects of collection
Handbook of Descriptif Informatique
D9.02 booklet:
HI-75/97/010 - Ind A

Code_Aster ®
Version
4.0
Titrate:
Documentation of development and maintenance of the manager
Date: 28/01/1999
Author (S):
J.P. LEFEBVRE
Key:
D9.02.02-A
Page:
49/50
JJCREN
Insertion or search in the repertories of the bases
JJCROC
Processing of the name of object of collection
JJECRS
Updating of the descriptors
JJIMPO
Impression of the contents of a segment of values
JJLIBP
Release of the zone memory occupied by a segment of values
JJLIDE
Release of the segments of values
JJLIRS
Reading of the descriptors
JJMZAT
Restoring of the attributes associated with the identifier with a segment with values
JJPREM
At the time of the initialization of a repertory, the nearest prime number (appearing returns
in one dated)
JJVERN
Processing of the name Jeveux
JXALLM
Dynamic allocation of the zone memory managed by the software
JXCOPY
Recopy file of random access associated a base with elimination of
recording marked unutilised
JXDEPS
Displacement in memory of a segment of values
JXECRB
Writing of one or more recordings
JXECRO
Writing on disc of a segment of values
JXFERM
Closing of a file of random access
JXHCOD
Function of associative addressing
JXLIBD
Release of the zone disc occupied by a segment of values
JXLIBM
Final release of the zone dynamically allocated memory
JXLIR1
Reading of the first recording associated with a base in order to recover its
characteristics
JXLIRB
Reading of one or more recordings
JXLIRO
Reading on disc of a segment of values
JXLOCS
Determination of the relative address of a segment of values
JXOUVR
Opening of the logical units associated the bases
JXVERI
Examine the integrity of the segmentation memory
JXVEUO
Setting in memory of a segment of values
16
ANNEXE 4: GLOSSAIRE
Base
Together of files of random access: base GLOBALE is
constituted of the files glob.1, glob.2, glob.3,…
Classify
Named by the first letter of the base, the class allows
to associate an object JEVEUX a file.
Identifier of object JEVEUX
For a simple object or a collection it is the number
of command of insertion in the repertory of the base, for an object
of collection it is the identifier of collection and the number
of command of insertion in the collection.
Descriptor of a segment of values
One of the 8 entireties framing a segment of values in
memory or one of the 3 entireties preceding a segment by
values on a recording (disc or buffer)
File
access
direct
File from which the recordings are accessible
directly by name or number
Object JEVEUX
Indicate at the same time the simple objects, the collections and them
objects of collection
Simple object
Object from which the attributes are directly accessible among
the system objects associated with the various classes
Objects of collection
Objects whose attributes are shared and managed in
simple objects created with the collection
Segment of values
Together values associated with an object JEVEUX and
positioned in a contiguous way in memory or on disc
System object
Simple objects managed by the software and intended to collect them
values of the various attributes.
Handbook of Descriptif Informatique
D9.02 booklet:
HI-75/97/010 - Ind A

Code_Aster ®
Version
4.0
Titrate:
Documentation of development and maintenance of the manager
Date: 28/01/1999
Author (S):
J.P. LEFEBVRE
Key:
D9.02.02-A
Page:
50/50
Debug
Jeveux
Option of use of Jeveux allowing to cause it
immediate unloading of the segments of values at the time of
releases and the assignment with value UNDEF (CRAY) or NaN
(Sun Solaris) of the released segment.
Handbook of Descriptif Informatique
D9.02 booklet:
HI-75/97/010 - Ind A