/*
AIMS Database Structure - Syntax
Current as on
Document #03
The prime objective behind separating each of the database components (assets, systems, components, parts, lifecycles, etc.) into individual GLOBAL DATABASES is to provide for maximum flexibility, security, locking down at this level of granularity, enabling storage at different locations (different folders, or different locations within the LAN, Intranet or the Internet, each having different access control lists).
The enabling link that identifies a root and every branch in this scheme is the unique ID assigned to that root. This unique ID can be invisible to the User, fully managed by the program itself. From a User point of view, it is enough if the name of the asset is remembered.
Since the ID is always managed by the program, this scheme is less prone to error.
*/
/* 'ID' is
an unique string identifier that points to either a sub-prop, property, stage, evocycle, signal, image, audio, video, note, part,
component, system or asset */
id,name,desc,usi,serialno,date,time,url = STRING
/* 'values'
is a list of STRINGs that hold the actual values of
the property or sub-property
can contain any
number of strings
values,strlst = string*
*/
/* 'notename' stores the name / description of a Note in a
string */
notename
= STRING
/* 'signalname' stores the name / description of a signal in a
string */
signalname = STRING
/* 'imagename' stores the name / description of an image in a
string */
imagename =
STRING
/* 'audioname' stores the name / description of an audio
fragment in a string */
audioname =
STRING
/* 'videoname' stores the name / description of an video
fragment in a string */
videoname =
STRING
/*
'filename' points to the name of a file - including its path - in a string */
filename = STRING
GLOBAL
DATABASE - assets
% Asset
Declaration
%
Represents:
asset(AssetID,AssetName,AssetDescription,AssetUSINumber,AssetSerialNumber,AssetInclusionDate,AssetInclusionTime,AssetURL,ListOfSystemsInTheAsset,ListofEvolutionaryCyclesAssociatedWithTheAsset,ListOfNotesAssociatedWithTheAsset)
asset(id,name,desc,usi,serialno,date,time,url,SLIST,SLIST,SLIST)
% Stored in: assets.dat file
% Asset
Example - has 3 systems, 3 evocycles associated with
the asset, and 3 notes
% Note that
for the Systems, Evocycles and Notes, only the
corresponding IDs are listed
% asset("IA1","MyAsset","A
Test
Asset",["IA1S1","IA1S2","IA1S3"],["IA1LF1","IA1LF2","IA1LF3"],["IA1NT1","IA1NT2","IA1NT3"])
GLOBAL
DATABASE - systems
% System
Declaration
%
Represents:
system(SystemID,SystemName,SystemDescription,SystemUSINumber,SystemSerialNumber,SystemInclusionDate,SystemInclusionTime,SystemURL,ListOfComponentsInTheSystem,ListofEvolutionaryCyclesAssociatedWithTheSystem,ListOfNotesAssociatedWithTheSystem)
sys(id,name,desc,usi,serialno,date,time,url,SLIST,SLIST,SLIST)
% Stored in: systems.dat file
% System
Example, which is the first System ("IA1S1") of the Asset
"IA1"
% Note that
the example system's own ID, is the same as the fist in the list of systems,
for the asset "IA1"
%
system("IA1S1","MyFirstSys","A Test
System",["IA1S1C1","IA1S1C2","IA1S1C3"],["IA1S1LF1","IA1S1LF2","IA1S1LF3"],["IA1S1NT1","IA1S1NT2","IA1S1NT3"])
GLOBAL
DATABASE - components
% Similarly
Components and Parts are listed as follows
% Component
Declaration
%
Represents: component(ComponentID,ComponentName,ComponentDescription,ComponentUSINumber,ComponentSerialNumber,ComponentInclusionDate,ComponentInclusionTime,ComponentURL,ListOfPartsInTheComponent,ListofEvolutionaryCyclesAssociatedWithTheComponent,ListOfNotesAssociatedWithTheComponent)
component(id,name,desc,usi,serialno,date,time,url,SLIST,SLIST,SLIST)
% Stored in: components.dat file
% Component
Example, for the first asset, first system, first component
% component("IA1S1C1","MyFirstComp","A
Test
Component",["IA1S1C1P1","IA1S1C1P2"],["IA1S1C1LF1","IA1S1C1LF2"],["IA1S1C1NT1","IA1S1C1NT2"])
GLOBAL
DATABASE - parts
% Part
Declaration
%
Represents:
part(PartID,PartName,PartDescription,PartUSINumber,PartSerialNumber,PartInclusionDate,PartInclusionTime,PartURL,ListofEvolutionaryCyclesAssociatedWithThePart,ListOfNotesAssociatedWithThePart)
part(id,name,desc,usi,serialno,date,time,url,SLIST,SLIST)
% Stored in: parts.dat file
% Part
Example, for the first part of the first component of the first system of the
first asset
% part("IA1S1C1P1","FirstPart","A
Test
Part",["IA1S1C1P1LF1","IA1S1C1P1LF2"],["IA1S1C1P1NT1","IA1S1C1P1NT2"])
% Similarly, all the other DB components are declared below
(without examples)
GLOBAL
DATABASE - subprops
/* 'subprop' is a sub-property, which has an ID (string), a
name (string), a description (string), and a set of values (SLIST) */
%
Represents: subprop(SubPropertyID,SubPropertyName,SubPropertyDescription,SubPropertyAddedDate,SubPropertyAddedTime,SubPropertyURL,SubPropertyValues)
subprop(id,name,desc,date,time,url,SLIST)
% Stored in: subprops.dat file
GLOBAL
DATABASE - properties
/*
'property' has an ID (string), a name (string), a description (string), a set
of empty or filled sub-properties, and a set of values for the property itself
*/
/* The strlst below refers to the
list of IDs of subprops defined above*/
%
Represents:
prop(PropertyID,PropertyName,PropertyDescription,PropertyAddedDate,PropertyAddedTime,PropertyURL,PropertyValues,SubPropertiesWithinThisProperty)
prop(id,name,desc,date,time,url,SLIST,SLIST)
% Stored in: properties.dat file
GLOBAL
DATABASE - stages
/* a
'stage' is a particular period in the evocycle of the
asset - each 'stage' has an ID, a name, a description, and a set of empty or
filled properties associated with it */
/* The strlst below refers to the
list of IDs of properties defined above*/
%
Represents: stage(StageID,StageName,StageDescription,StageAddedDate,StageAddedTime,StageURL,PropertiesOfThisStage)
stage(id,name,desc,date,time,url,SLIST)
% Stored in: stages.dat
GLOBAL
DATABASE - evocycles
/* a 'evocycle' has an ID, which could be the same as that of a
part / component / system / asset - in which case the evocycle
refers to that part / component / system / asset respectively - a name, a
description, and a list of empty or filled stages */
/* The strlst below refers to the
list of IDs of stages defined above*/
%
Represents: evocycle(EvoCycleID,EvoCycleName,EvoCycleDescription,EvoCycleAddedDate,EvoCycleAddedTime,EvoCycleURL,StagesWithinThisEvoCycle)
evocycle(id,name,desc,date,time,url,SLIST)
% Stored in: evocycles.dat
GLOBAL
DATABASE - signals
/* a
'signal' consists of an ID, the signal name, and the file name in which the
signal is contained */
%
Represents: signal(SignalID,SignalName,SignalDescription,SignalAddedDate,SignalAddedTime,SignalURL,SignalStoredInFileName)
% 'signalname' and 'filename' can be different Strings - the
former represents the Name assigned to the Signal; the latter represents the
full path name of the location where the file is located; e.g.,
d:\data\ultrasonic\test1\defect.dat
signal(id,signalname,desc,date,time,url,filename)
% Stored in: signals.dat
GLOBAL
DATABASE - images
/* an
'image' consists of an ID, the image name, and the file name in which the image
is contained */
%
Represents: image(ImageID,ImageName,ImageDescription,ImageAddedDate,ImageAddedTime,ImageURL,ImageStoredInFileName)
image(id,imagename,desc,date,time,url,filename)
% Stored in: images.dat
GLOBAL
DATABASE - audios
/* an
'audio' consists of an ID, the audio fragment name, and the file name in which
the audio is contained */
%
Represents: audio(AudioID,AudioName,AudioDescription,AudioAddedDate,AudioAddedTime,AudioURL,AudioStoredInFileName)
audio(id,audioname,desc,date,time,url,filename)
% Stored in: audios.dat
GLOBAL
DATABASE - videos
/* a
'video' consists of an ID, the video fragment name, and the file name in which
the video is contained */
%
Represents: video(VideoID,VideoName,VideoDescription,VideoAddedDate,VideoAddedTime,VideoURL,VideoStoredInFileName)
video(id,videoname,desc,date,time,url,filename)
% Stored in: videos.dat
GLOBAL
DATABASE - notes
/* a 'note'
has an ID, a name / description, a set of images, audios, videos and signals as
applicable - Or, it might just have an ID and a name */
%
Represents:
note(NoteID,NoteDescription,NoteAddedDate,NoteAddedTime,NoteURL,ListOfSignalsWithinTheNote,ListOfImagesWithinTheNote,ListOfAudiosWithinTheNote,ListOfVideosWithinTheNote)
note(id,notename,desc,date,time,url,SLIST,SLIST,SLIST,SLIST)
% Stored in: notes.dat

![]()
Last Updated on 23rd December 2003