diff options
Diffstat (limited to 'src/scripts/definitions.ts')
| -rw-r--r-- | src/scripts/definitions.ts | 318 |
1 files changed, 0 insertions, 318 deletions
diff --git a/src/scripts/definitions.ts b/src/scripts/definitions.ts deleted file mode 100644 index e187af09..00000000 --- a/src/scripts/definitions.ts +++ /dev/null @@ -1,318 +0,0 @@ -/** - * JSON Specification of the data model. - * - * Represents the data model after populating it (based on the DB ideas retrieved from the backend). Unpopulated - * objects end with 'Stub'. - */ - -// Webpack require declaration -//declare var require: { -// <T>(path: string): T; - // (paths: string[], callback: (...modules: any[]) => void): void; - //ensure: (paths: string[], callback: (require: <T>(path: string) => T) => void) => void; -//}; - -// Meta-constructs -interface IDateTime { - year: number; - month: number; - day: number; - hour: number; - minute: number; - second: number; -} - -interface IGridPosition { - x: number; - y: number; -} - -interface IBounds { - min: number[]; - center: number[]; - max: number[]; -} - -interface IRoomNamePos { - topLeft: IGridPosition; - length: number; -} - -interface IRoomWall { - startPos: number[]; - horizontal: boolean; - length: number; -} - -interface TilePositionObject { - position: IGridPosition; - tileObject: createjs.Shape; -} - -type IRoomTypeMap = { [key: string]: string[]; }; - -interface ITickState { - tick: number; - roomStates: IRoomState[]; - rackStates: IRackState[]; - machineStates: IMachineState[]; - taskStates: ITaskState[]; -} - -// Communication -interface IRequest { - id?: number; - path: string; - method: string; - parameters: { - body: any; - path: any; - query: any; - }; - token?: string; -} - -interface IResponse { - id?: number; - status: { - code: number; - description?: string; - }; - content: any; -} - -// Simulation -interface ISimulation { - id: number; - name: string; - paths?: IPath[]; - experiments?: IExperiment[]; - datetimeCreated: string; - datetimeCreatedParsed?: IDateTime; - datetimeLastEdited: string; - datetimeLastEditedParsed?: IDateTime; -} - -interface ISection { - id: number; - startTick: number; - simulationId: number; - datacenterId: number; - datacenter?: IDatacenter; -} - -interface IPath { - id: number; - simulationId: number; - sections?: ISection[]; - name: string; - datetimeCreated: string; -} - -interface ITrace { - id: number; - name: string; - tasks?: ITask[]; -} - -interface IScheduler { - name: string; -} - -interface ITask { - id: number; - traceId: number; - queueEntryTick: number; - startTick?: number; - finishedTick?: number; - totalFlopCount: number; -} - -interface IExperiment { - id: number; - simulationId: number; - pathId: number; - traceId: number; - trace?: ITrace; - schedulerName: string; - name: string; -} - -// Authorization -interface IAuthorization { - userId: number; - user?: IUser; - simulationId: number; - simulation?: ISimulation; - authorizationLevel: string; -} - -interface IUser { - id: number; - googleId: number; - email: string; - givenName: string; - familyName: string; -} - -// DC Layout -interface IDatacenter { - id: number; - rooms?: IRoom[]; -} - -interface IRoom { - id: number; - datacenterId: number; - name: string; - roomType: string; - tiles?: ITile[]; -} - -interface ITile { - id: number; - roomId: number; - objectId?: number; - objectType?: string; - object?: IDCObject; - position: IGridPosition; -} - -// State -interface IMachineState { - id: number; - machineId: number; - machine?: IMachine; - experimentId: number; - tick: number; - temperatureC: number; - inUseMemoryMb: number; - loadFraction: number; -} - -interface IRackState { - id: number; - rackId: number; - rack?: IRack; - experimentId: number; - tick: number; - temperatureC: number; - inUseMemoryMb: number; - loadFraction: number; -} - -interface IRoomState { - id: number; - roomId: number; - room?: IRoom; - experimentId: number; - tick: number; - temperatureC: number; - inUseMemoryMb: number; - loadFraction: number; -} - -interface ITaskState { - id: number; - taskId: number; - task?: ITask; - experimentId: number; - tick: number; - flopsLeft: number; -} - -// Generalization of a datacenter object -type IDCObject = IRack | ICoolingItem | IPSU; - -interface IRack { - id: number; - objectType?: string; - name: string; - capacity: number; - powerCapacityW: number; - machines?: IMachine[]; -} - -interface ICoolingItem { - id: number; - objectType?: string; - energyConsumptionW: number; - type: string; - failureModelId: number; - failureModel?: IFailureModel; -} - -interface IPSU { - id: number; - objectType?: string; - energyKwh: number; - type: string; - failureModelId: number; - failureModel?: IFailureModel; -} - -// Machine -interface IMachine { - id: number; - rackId: number; - position: number; - tags: string[]; - cpuIds: number[]; - cpus?: ICPU[]; - gpuIds: number[]; - gpus?: IGPU[]; - memoryIds: number[]; - memories?: IMemory[]; - storageIds: number[]; - storages?: IPermanentStorage[]; -} - -interface IProcessingUnit { - id: number; - manufacturer: string; - family: string; - generation: string; - model: string; - clockRateMhz: number; - numberOfCores: number; - energyConsumptionW: number; - failureModelId: number; - failureModel?: IFailureModel; -} - -interface ICPU extends IProcessingUnit { - -} - -interface IGPU extends IProcessingUnit { - -} - -interface IStorageUnit { - id: number; - manufacturer: string; - family: string; - generation: string; - model: string; - speedMbPerS: number; - sizeMb: number; - energyConsumptionW: number; - failureModelId: number; - failureModel?: IFailureModel; -} - -interface IMemory extends IStorageUnit { - -} - -interface IPermanentStorage extends IStorageUnit { - -} - -type INodeUnit = IProcessingUnit & IStorageUnit; - -interface IFailureModel { - id: number; - name: string; - rate: number; -} |
