/*

AIMS Database Structure - Syntax

 

Current as on 23rd December 2003

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

 

 

Return to the HomePage