thumder-ontology
v1.1.1
Published
Ontology of THUMDER DLX - THe UltiMate Dlx EmulatoR
Downloads
5
Readme
THUMDER Ontology
| Command | Description |
| --------------------- | --------------------------------------------------------- |
| npm run dev
| Build the app. Your built files are in the /dist
folder |
| npm run dev:server
| Build the example for server |
| npm run dev:client
| Build the example for client |
| npm run node:server
| Execute the example for server |
| npm run node:client
| Execute the example for client |
| npm run test
| Test the app with jest |
Via npm
npm install thumder-ontology --save
Via npm with version
npm install thumder-ontology@<version> --save
Examples
import { ACLMessage, Performative, InteractionProtocol } from "thumder-ontology";
const createFile = new CreateFile('path/to/folder', 'tests/', 'example_00.s')
const createFile_string = JSON.stringify(createFile)
const message = new ACLMessage()
message.setSender(new AID({
name: "Client",
localName: "Client-" + this.coreAgents.clientID,
address: this.coreAgents.clientID
}))
message.setPerformative(Performative.REQUEST)
message.setOntology(new Ontology("Make-File"))
message.setContent(createFile_string)
this.coreAgents.addTask(new Task_CreateFile_RequestInitiator("Make-File", message)).then((data) => {
// ... CODE
})
Define Task - SERVER
import { ACLMessage, AchieveREResponder } from "thumder-ontology";
export class Task_CreateFile_RequestResponse extends AchieveREResponder {
constructor(taskName: string) {
super(taskName);
console.log("Task_CreateFile_RequestResponse")
}
handleRequest(request: ACLMessage): ACLMessage {
console.log("Task_CreateFile_RequestResponse handleRequest", this.getTaskName())
const message_reply = request.createReply();
message_reply.setPerformative(Performative.AGREE);
return message_reply
}
}
Define Task - CLIENT
import { AchieveREInitiator, ACLMessage } from "thumder-ontology";
export class Task_CreateFile_RequestInitiator extends AchieveREInitiator {
constructor(taskName: string, message: ACLMessage) {
super(taskName, message)
console.log("Task_CreateFile_RequestInitiator")
}
handleAgree(agree: ACLMessage): any {
console.log("Task_CreateFile_RequestInitiator handleAgree")
return "Agree"
}
handleRefuse(refuse: ACLMessage): any {
console.log("Task_CreateFile_RequestInitiator handleRefuse")
return "Refuse"
}
handleInform(inform: ACLMessage): any {
console.log("Task_CreateFile_RequestInitiator handleInform")
return "Inform"
}
}
Add Task
import { CoreAgentsServer } from "./CoreAgentsClient";
const coreAgents = new CoreAgentsServer(<any>io)
coreAgents.addTask(new Task_RequestResponse())
io.on("connection", (socket) => {
socket.on("disconnect", (args) => {
coreAgentsServer.deleteSocket(socket.id)
consoleManager.deleteSocket(socket.id)
})
coreAgentsServer.addNewSocket(socket)
consoleManager.addSocket(socket)
});
import { CoreAgentsClient } from "./CoreAgentsServer";
const coreAgents = new CoreAgentsClient(<any>socket)
socket.on("connect", () => {
console.log('connect', socket.id)
coreAgents.clientID = socket.id
})