-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final Stringprefix for anonymous variablesstatic final StringThe name of the atomic lock variable of the system scope.static final StringThe name of __barrier__ type, which is the object type of the handle $barrier.static final StringThe variable to store broken time information for the time library.static final Stringthe name of $bundle typestatic final StringThe name of $comm type, which is the object type of the handle $comm.static final StringThe name of the identifier of the MPI_Comm variable in the final CIVL program.static final StringThe extended "\mpi_comm_rank" constant used in CIVL-ACSL contracts which stands for the rank in a specific communicator of an MPI process.static final StringThe extended "\mpi_comm_size" constant used in CIVL-ACSL contracts which stands for the number of MPI processes in a specific communicator.static final StringThe "\result" constant used in ACSL contracts which stands for the returned value.static final intALL, corresponds to the enumerator ALL of the enumeration type $domain_decomposition.static final intRANDOM, corresponds to the enumerator ALL of the enumeration type $domain_decomposition.static final intROUND_ROBIN, corresponds to the enumerator ALL of the enumeration type $domain_decomposition.static final StringThe CIVL-C struct type corresponding to C's double _Complex.static final intstatic final intstatic final Stringthe name of $dynamic typestatic final Stringname of the symbolic type for mapping user-defined types to integersstatic final intstatic final StringThe file reference type FILE.static final StringThe name of the file system variable, created when stdio transformation is performed.static final Stringstatic final StringThe CIVL-C struct type corresponding to C's float _Complex.static final StringThe name of __gbarrier__ type, which is the object type of the handle $gbarrier.static final StringThe name of __gcomm__ type, which is the object type of the handle $gcomm.static final StringThe name of the identifier of the CMPI_Gcomm variable in the final CIVL program.static final StringThe name of the identifier of the CMPI_Gcomm sequence variable in the final CIVL-MPI programstatic final Stringstatic final intThe prefix of symbolic constants created by havoc.static final intThe prefix of symbolic constants representing heap objects.static final Stringthe name of the heap typestatic final StringThe name of the heap variable of each scope.static final intThe index of the heap variable in the scope.static final intThe prefix of symbolic constants representing input variables.static final StringThe name of __int_iter__ type, which is the object type of the handle $int_iter.static final StringConstant for the name of invalid heap objects.static final StringThe CIVL-C struct type corresponding to C's long double _Complex.static final Stringthe name of message typestatic final StringThe name of the variable representing the status of an MPI process, which is modified by MPI_Init() and MPI_Finalized().static final Stringthe function to get the unique counter of timestatic final StringThe name of the input variable denoting the number of MPI processes in the final CIVL-C program.static final StringThe name of the input variable denoting the lower bound of the number of MPI processes in the final CIVL-C program.static final StringThe name of the input variable denoting the upper bound of the number of MPI processes in the final CIVL-C program.static final intstatic final intstatic final Stringthe name of process reference typestatic final StringThe name of _pthread_gpool_t type, which is the object type of the handle $pthread_gpool, and is used by pthread.cvl.static final StringThe name of _pthread_poo_t type, which is the object type of the handle $pthread_pool, and is used by pthread.cvl.static final StringThe name of the "pthread_t" type defined in pthread librarystatic final Stringthe name of queue typestatic final StringThe name of the $range type.static final StringThe file type $file.the set of reserved names for symbolic constantsstatic final Stringstatic Set<dev.civl.sarl.IF.expr.SymbolicConstant> static final intstatic final intstatic final String[]The array of prefixes for symbolic constants.static final StringThe name of the time count variable, which is incremented by the system function $next_time_count() of civlc.cvh.static final StringThe name of the time.h library.static final StringThe tm type, used by time.h.static final int -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic voidaddReservedName(String name) add new name to the reserved name setstatic voidaddSizeofSymbol(dev.civl.sarl.IF.expr.SymbolicConstant symbol) static dev.civl.sarl.IF.object.StringObjectgetAbstractFunctionName(dev.civl.sarl.IF.SymbolicUniverse universe, String identifier) Returns aStringObjectwhich is the name of the value an abstract function.static dev.civl.sarl.IF.object.StringObjectgetFunctionConstantName(dev.civl.sarl.IF.SymbolicUniverse universe, String identifier) Returns aStringObjectwhich is the name of a function type symbolic constant.static dev.civl.sarl.IF.object.StringObjectgetInvalidName(dev.civl.sarl.IF.SymbolicUniverse universe) static dev.civl.sarl.IF.object.StringObjectgetSizeofNonPrimitiveTypeFunctionName(dev.civl.sarl.IF.SymbolicUniverse universe) Returns the name of the unique function type symbolic constant which maps non-primitive types to their size values.static dev.civl.sarl.IF.object.StringObjectgetSizeofPrimitiveTypeName(dev.civl.sarl.IF.SymbolicUniverse universe, CIVLPrimitiveType.PrimitiveTypeKind kind) Returns the name of the unique symbolic constant which represents the value of the size of a specificCIVLPrimitiveType.
-
Field Details
-
STATIC_CONSTANT_SCOPE
public static final int STATIC_CONSTANT_SCOPE- See Also:
-
STATIC_ROOT_SCOPE
public static final int STATIC_ROOT_SCOPE- See Also:
-
DYNAMIC_CONSTANT_SCOPE
public static final int DYNAMIC_CONSTANT_SCOPE- See Also:
-
DYNAMIC_NULL_SCOPE
public static final int DYNAMIC_NULL_SCOPE- See Also:
-
DYNAMIC_UNDEFINED_SCOPE
public static final int DYNAMIC_UNDEFINED_SCOPE- See Also:
-
NULL_POINTER_DYSCOPE
public static final int NULL_POINTER_DYSCOPE- See Also:
-
NULL_POINTER_VID
public static final int NULL_POINTER_VID- See Also:
-
UNDEFINED_PROC_ID
public static final int UNDEFINED_PROC_ID- See Also:
-
FILESYSTEM
- See Also:
-
GENERAL_ROOT
- See Also:
-
SYMBOL_PREFIXES
The array of prefixes for symbolic constants. -
INPUT_PREIFX_INDEX
public static final int INPUT_PREIFX_INDEXThe prefix of symbolic constants representing input variables.- See Also:
-
HAVOC_PREFIX_INDEX
public static final int HAVOC_PREFIX_INDEXThe prefix of symbolic constants created by havoc.- See Also:
-
HEAP_OBJECT_PREFIX_INDEX
public static final int HEAP_OBJECT_PREFIX_INDEXThe prefix of symbolic constants representing heap objects.- See Also:
-
INVALID
Constant for the name of invalid heap objects.- See Also:
-
RESERVE_NAMES
the set of reserved names for symbolic constants -
SIZEOF_VARS
-
DECOMP_ALL
public static final int DECOMP_ALLALL, corresponds to the enumerator ALL of the enumeration type $domain_decomposition.- See Also:
-
DECOMP_RANDOM
public static final int DECOMP_RANDOMRANDOM, corresponds to the enumerator ALL of the enumeration type $domain_decomposition.- See Also:
-
DECOMP_ROUND_ROBIN
public static final int DECOMP_ROUND_ROBINROUND_ROBIN, corresponds to the enumerator ALL of the enumeration type $domain_decomposition.- See Also:
-
ATOMIC_LOCK_VARIABLE_INDEX
The name of the atomic lock variable of the system scope.- See Also:
-
TIME_COUNT_VARIABLE
The name of the time count variable, which is incremented by the system function $next_time_count() of civlc.cvh.- See Also:
-
BROKEN_TIME_VARIABLE
The variable to store broken time information for the time library. This variable is needed because some functions of time.h returns a pointer to it.- See Also:
-
HEAP_VAR
The name of the heap variable of each scope.- See Also:
-
HEAP_VARIABLE_INDEX
public static final int HEAP_VARIABLE_INDEXThe index of the heap variable in the scope.- See Also:
-
FILE_SYSTEM_TYPE
The name of the file system variable, created when stdio transformation is performed.- See Also:
-
RANGE_TYPE
The name of the $range type.- See Also:
-
PTHREAD_THREAD_TYPE
The name of the "pthread_t" type defined in pthread library- See Also:
-
PTHREAD_GPOOL
The name of _pthread_gpool_t type, which is the object type of the handle $pthread_gpool, and is used by pthread.cvl.- See Also:
-
PTHREAD_POOL
The name of _pthread_poo_t type, which is the object type of the handle $pthread_pool, and is used by pthread.cvl.- See Also:
-
BARRIER_TYPE
The name of __barrier__ type, which is the object type of the handle $barrier.- See Also:
-
BUNDLE_TYPE
the name of $bundle type- See Also:
-
DYNAMIC_TYPE
the name of $dynamic type- See Also:
-
HEAP_TYPE
the name of the heap type- See Also:
-
MESSAGE_TYPE
the name of message type- See Also:
-
PROC_TYPE
the name of process reference type- See Also:
-
SCOPE_TYPE
- See Also:
-
QUEUE_TYPE
the name of queue type- See Also:
-
COMM_TYPE
The name of $comm type, which is the object type of the handle $comm.- See Also:
-
GBARRIER_TYPE
The name of __gbarrier__ type, which is the object type of the handle $gbarrier.- See Also:
-
GCOMM_TYPE
The name of __gcomm__ type, which is the object type of the handle $gcomm.- See Also:
-
INT_ITER_TYPE
The name of __int_iter__ type, which is the object type of the handle $int_iter.- See Also:
-
REAL_FILE_TYPE
The file type $file.- See Also:
-
FILE_STREAM_TYPE
The file reference type FILE.- See Also:
-
TM_TYPE
The tm type, used by time.h.- See Also:
-
FLOAT_COMPLEX_TYPE
The CIVL-C struct type corresponding to C's float _Complex.- See Also:
-
DOUBLE_COMPLEX_TYPE
The CIVL-C struct type corresponding to C's double _Complex.- See Also:
-
LDOUBLE_COMPLEX_TYPE
The CIVL-C struct type corresponding to C's long double _Complex.- See Also:
-
TIME_LIB
The name of the time.h library.- See Also:
-
NEXT_TIME_COUNT
the function to get the unique counter of time- See Also:
-
DYNAMIC_TYPE_NAME
name of the symbolic type for mapping user-defined types to integers- See Also:
-
ANONYMOUS_VARIABLE_PREFIX
prefix for anonymous variables- See Also:
-
COMM_WORLD
The name of the identifier of the MPI_Comm variable in the final CIVL program.- See Also:
-
GCOMM_WORLD
The name of the identifier of the CMPI_Gcomm variable in the final CIVL program.- See Also:
-
GCOMMS
The name of the identifier of the CMPI_Gcomm sequence variable in the final CIVL-MPI program- See Also:
-
MPI_SYS_STATUS
The name of the variable representing the status of an MPI process, which is modified by MPI_Init() and MPI_Finalized().- See Also:
-
NPROCS
The name of the input variable denoting the number of MPI processes in the final CIVL-C program.- See Also:
-
NPROCS_UPPER_BOUND
The name of the input variable denoting the upper bound of the number of MPI processes in the final CIVL-C program.- See Also:
-
NPROCS_LOWER_BOUND
The name of the input variable denoting the lower bound of the number of MPI processes in the final CIVL-C program.- See Also:
-
ContractResultName
The "\result" constant used in ACSL contracts which stands for the returned value.- See Also:
-
ContractMPICommRankName
The extended "\mpi_comm_rank" constant used in CIVL-ACSL contracts which stands for the rank in a specific communicator of an MPI process.- See Also:
-
ContractMPICommSizeName
The extended "\mpi_comm_size" constant used in CIVL-ACSL contracts which stands for the number of MPI processes in a specific communicator.- See Also:
-
-
Constructor Details
-
ModelConfiguration
public ModelConfiguration()
-
-
Method Details
-
addReservedName
add new name to the reserved name set- Parameters:
name- name to be added to the reserved name set
-
addSizeofSymbol
public static void addSizeofSymbol(dev.civl.sarl.IF.expr.SymbolicConstant symbol) -
getAbstractFunctionName
public static dev.civl.sarl.IF.object.StringObject getAbstractFunctionName(dev.civl.sarl.IF.SymbolicUniverse universe, String identifier) Returns a
StringObjectwhich is the name of the value an abstract function. The value of an abstract function is a function type symbolic constant.The returned name follows CIVL's naming convention for abstract function values and is uniquely associated with the given
identifier.Note that for function type symbolic constants that are not values of abstract functions, their names should be what
getFunctionConstantName(SymbolicUniverse, String)decides to be.- Parameters:
universe- a reference to theSymbolicUniverseidentifier- an identifier that belongs to an abstract function- Returns:
- a
StringObjectwhich is the name of an abstract function
-
getFunctionConstantName
public static dev.civl.sarl.IF.object.StringObject getFunctionConstantName(dev.civl.sarl.IF.SymbolicUniverse universe, String identifier) Returns a
StringObjectwhich is the name of a function type symbolic constant. This symbolic constant is not the value of an abstract function.The returned name follows CIVL's naming convention for function type symbolic constants that are not values of abstract functions and is uniquely associated with the given
identifier.- Parameters:
universe- a reference to theSymbolicUniverseidentifier- an identifier that belongs to a symbolic constant- Returns:
- a
StringObjectwhich is the name of a symbolic constant
-
getInvalidName
public static dev.civl.sarl.IF.object.StringObject getInvalidName(dev.civl.sarl.IF.SymbolicUniverse universe) - Parameters:
universe- a reference to theSymbolicUniverse- Returns:
- the
StringObjectwhich is the name of the symbolic constant representing invalid heap object values.
-
getSizeofPrimitiveTypeName
public static dev.civl.sarl.IF.object.StringObject getSizeofPrimitiveTypeName(dev.civl.sarl.IF.SymbolicUniverse universe, CIVLPrimitiveType.PrimitiveTypeKind kind) Returns the name of the unique symbolic constant which represents the value of the size of a specific
CIVLPrimitiveType.- Parameters:
universe- a reference to theSymbolicUniversekind- the kind of the givenCIVLPrimitiveType- Returns:
- the name of the unique symbolic constant which represents the value
of the size of a specific
CIVLPrimitiveType
-
getSizeofNonPrimitiveTypeFunctionName
public static dev.civl.sarl.IF.object.StringObject getSizeofNonPrimitiveTypeFunctionName(dev.civl.sarl.IF.SymbolicUniverse universe) Returns the name of the unique function type symbolic constant which maps non-primitive types to their size values.
- Parameters:
universe- a reference to theSymbolicUniverse- Returns:
- the name of the unique function type symbolic constant which maps non-primitive types to their size values.
-