pbesa 2.1__py3-none-any.whl → 4.0.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (75) hide show
  1. pbesa/__init__.py +4 -3
  2. pbesa/cognitive.py +475 -0
  3. pbesa/kernel/__init__.py +4 -6
  4. pbesa/kernel/adapter.py +165 -0
  5. pbesa/kernel/agent.py +558 -0
  6. pbesa/kernel/io/__init__.py +2 -2
  7. pbesa/kernel/io/system_file.py +38 -0
  8. pbesa/kernel/io/tcp_server.py +23 -0
  9. pbesa/kernel/util.py +217 -0
  10. pbesa/kernel/world.py +43 -0
  11. pbesa/mas.py +565 -0
  12. pbesa/remote/__init__.py +5 -0
  13. pbesa/remote/adm_listener.py +44 -0
  14. pbesa/{middleware/remote/AdmListenerHandler.py → remote/adm_listener_handler.py} +74 -57
  15. pbesa/remote/exceptions.py +18 -0
  16. pbesa/remote/remote_adm.py +42 -0
  17. pbesa/{middleware/remote/RemoteAdmHandler.py → remote/remote_adm_handler.py} +109 -83
  18. pbesa/social/__init__.py +4 -0
  19. pbesa/social/collaborative_team.py +299 -0
  20. pbesa/social/delegator.py +81 -0
  21. pbesa/social/delegator_team.py +334 -0
  22. pbesa/social/dialog.py +153 -0
  23. pbesa/social/dispatcher_team.py +319 -0
  24. pbesa/social/templates.py +18 -0
  25. pbesa/social/worker.py +188 -0
  26. {pbesa-2.1.dist-info → pbesa-4.0.0.dist-info}/LICENSE +21 -21
  27. {pbesa-2.1.dist-info → pbesa-4.0.0.dist-info}/LICENSE.txt +21 -21
  28. pbesa-4.0.0.dist-info/METADATA +8 -0
  29. pbesa-4.0.0.dist-info/RECORD +32 -0
  30. {pbesa-2.1.dist-info → pbesa-4.0.0.dist-info}/WHEEL +5 -5
  31. {pbesa-2.1.dist-info → pbesa-4.0.0.dist-info}/top_level.txt +0 -0
  32. pbesa/engine/__init__.py +0 -2
  33. pbesa/engine/bdi/BDIAg.py +0 -42
  34. pbesa/engine/bdi/BDILevel.py +0 -10
  35. pbesa/engine/bdi/BDIMachine.py +0 -116
  36. pbesa/engine/bdi/Goal.py +0 -28
  37. pbesa/engine/bdi/GoalExe.py +0 -36
  38. pbesa/engine/bdi/__init__.py +0 -5
  39. pbesa/engine/rational/ActionExe.py +0 -35
  40. pbesa/engine/rational/Brain.py +0 -10
  41. pbesa/engine/rational/RationalAg.py +0 -43
  42. pbesa/engine/rational/__init__.py +0 -3
  43. pbesa/kernel/adapter/Adapter.py +0 -26
  44. pbesa/kernel/adapter/FileAdapter.py +0 -23
  45. pbesa/kernel/adapter/__init__.py +0 -2
  46. pbesa/kernel/agent/Action.py +0 -19
  47. pbesa/kernel/agent/Agent.py +0 -91
  48. pbesa/kernel/agent/BehaviorExe.py +0 -33
  49. pbesa/kernel/agent/Channel.py +0 -10
  50. pbesa/kernel/agent/World.py +0 -15
  51. pbesa/kernel/agent/__init__.py +0 -5
  52. pbesa/kernel/io/SystemFile.py +0 -13
  53. pbesa/kernel/io/TCPServer.py +0 -4
  54. pbesa/kernel/system/Adm.py +0 -189
  55. pbesa/kernel/system/Directory.py +0 -36
  56. pbesa/kernel/system/__init__.py +0 -2
  57. pbesa/kernel/util/HashTable.py +0 -62
  58. pbesa/kernel/util/Queue.py +0 -231
  59. pbesa/kernel/util/__init__.py +0 -2
  60. pbesa/middleware/__init__.py +0 -3
  61. pbesa/middleware/adapter/GameAdapter.py +0 -64
  62. pbesa/middleware/adapter/MongoAdapter.py +0 -47
  63. pbesa/middleware/adapter/RESTAdapter.py +0 -52
  64. pbesa/middleware/adapter/SubProcessAdapter.py +0 -30
  65. pbesa/middleware/adapter/WSSAdapter.py +0 -89
  66. pbesa/middleware/adapter/WSSNJAdapter.py +0 -51
  67. pbesa/middleware/adapter/WSSNJHandler.py +0 -23
  68. pbesa/middleware/adapter/__init__.py +0 -7
  69. pbesa/middleware/remote/AdmListener.py +0 -17
  70. pbesa/middleware/remote/RemoteAdm.py +0 -17
  71. pbesa/middleware/remote/__init__.py +0 -4
  72. pbesa/middleware/web/WebAgTK.py +0 -15
  73. pbesa/middleware/web/__init__.py +0 -0
  74. pbesa-2.1.dist-info/METADATA +0 -25
  75. pbesa-2.1.dist-info/RECORD +0 -54
@@ -1,30 +0,0 @@
1
- from subprocess import call
2
- from threading import Thread
3
- from ...kernel.adapter.Adapter import Adapter
4
-
5
- class SubProcessAdapter(Adapter, Thread):
6
-
7
- app = None
8
- file = None
9
- args = None
10
-
11
- def __init__(self, app, file, args):
12
- self.app = app
13
- self.file = file
14
- self.args = args
15
- super().__init__()
16
-
17
- def run(self):
18
- call([self.app, self.file, self.args])
19
-
20
- def setUp(self):
21
- pass
22
-
23
- def response(self, response):
24
- pass
25
-
26
- def request(self):
27
- pass
28
-
29
- def finalize(self):
30
- pass
@@ -1,89 +0,0 @@
1
- from threading import Thread
2
- #from ...kernel.SystemTK.Adm import Adm
3
- from ...kernel.util.Queue import Queue
4
- from ...kernel.adapter.Adapter import Adapter
5
-
6
- import json
7
- import asyncio
8
- #import websockets
9
-
10
- class WSSAdapter(Adapter, Thread):
11
-
12
- IP = None
13
- adm = None
14
- PORT = None
15
- server = None
16
-
17
- def __init__(self):
18
- self.adm = Adm()
19
- conf = self.adm.getConf()
20
- self.IP = conf['ip']
21
- self.PORT = conf['port']
22
- super().__init__()
23
-
24
- def setUp(self):
25
- pass
26
-
27
- def response(self, response):
28
- pass
29
-
30
- def request(self):
31
- pass
32
-
33
- def finalize(self):
34
- pass
35
-
36
- def run(self):
37
- asyncio.set_event_loop(asyncio.new_event_loop())
38
- start_server = websockets.serve(self.handler, self.IP, self.PORT)
39
- asyncio.get_event_loop().run_until_complete(start_server)
40
- asyncio.get_event_loop().run_forever()
41
-
42
- # async def handler(self, websocket, path):
43
- # queue = Queue(10)
44
- # consumer_task = asyncio.ensure_future(self.requestHandler(websocket, path, queue))
45
- # producer_task = asyncio.ensure_future(self.responseHandler(websocket, path, queue))
46
- # done, pending = await asyncio.wait(
47
- # [consumer_task, producer_task],
48
- # return_when=asyncio.FIRST_COMPLETED,
49
- # )
50
- # for task in pending:
51
- # task.cancel()
52
-
53
- async def requestHandler(self, websocket, path, queue):
54
- while True:
55
- print('1:')
56
- print(queue)
57
- async for message in websocket:
58
- print('**1')
59
- request = json.loads(message)
60
- dto = {'socket': queue, 'request': request}
61
- self.adm.sendEvent('front_controller', 'ws_request', dto)
62
-
63
- async def responseHandler(self, websocket, path, queue):
64
- while True:
65
- print('2:')
66
- print(queue)
67
- message = await queue.get()
68
- await websocket.send(message)
69
- print('envio')
70
-
71
-
72
- async def handler(self, websocket, path):
73
- queue = Queue(10)
74
- try:
75
- while True:
76
- request = json.loads(await websocket.recv())
77
- print ('REQUEST: ', request)
78
- dto = {'socket': queue, 'request': request}
79
- self.adm.sendEvent('front_controller', 'ws_request', dto)
80
- response = str(queue.get())
81
- response = response.replace("'", "\"")
82
- print ('RESPONSE: ', response)
83
- await websocket.send(response)
84
- except Exception as inst:
85
- print('Controled ecxeption: ')
86
- print(inst)
87
-
88
-
89
-
@@ -1,51 +0,0 @@
1
- from threading import Thread
2
- #from ...kernel.system.Adm import Adm
3
- from ...kernel.adapter.Adapter import Adapter
4
- from ...middleware.adapter.WSSNJHandler import WSSNJHandler
5
- from ...middleware.adapter.SubProcessAdapter import SubProcessAdapter
6
- from ...kernel.io.TCPServer import TCPServer
7
-
8
- import os
9
- import sys
10
- import json
11
- #import socketserver
12
-
13
- import threading
14
-
15
- class WSSNJAdapter(Adapter, Thread):
16
-
17
- IP = None
18
- adm = None
19
- PORT = None
20
- server = None
21
-
22
- def __init__(self):
23
- self.adm = Adm()
24
- conf = self.adm.getConf()
25
- self.IP = conf['ip']
26
- self.PORT = conf['port']
27
- self.INTERNAL_PORT = conf['internal_port']
28
- super().__init__()
29
-
30
- def setUp(self):
31
- DIR = os.path.dirname(os.path.abspath(__file__))
32
- FILE = os.path.join(DIR,"WSSNJWrapper.js")
33
- spa = SubProcessAdapter("node", FILE, self.IP + '-' + str(self.PORT) + '-' + str(self.INTERNAL_PORT))
34
- spa.start()
35
-
36
- def response(self, response):
37
- pass
38
-
39
- def request(self):
40
- pass
41
-
42
- def finalize(self):
43
- self.server.shutdown()
44
- self.server.server_close()
45
-
46
- def run(self):
47
- self.server = TCPServerTK((self.IP, self.INTERNAL_PORT), WSSNJHandlerTK)
48
- server_thread = threading.Thread(target=self.server.serve_forever)
49
- server_thread.daemon = True
50
- server_thread.start()
51
-
@@ -1,23 +0,0 @@
1
- import json
2
- import socket
3
- import socketserver
4
- from time import sleep
5
- #from ...kernel.system.Adm import Adm
6
- from ...kernel.system.Directory import Directory
7
-
8
- class WSSNJHandler(socketserver.BaseRequestHandler):
9
-
10
- def handle(self):
11
- try:
12
- while True:
13
- #data = self.rfile.readline().strip()
14
- data = self.request.recv(1024)
15
- print("[REQUEST]: {}".format(self.client_address[0]))
16
- print(data)
17
- msg = str(data, "utf-8")
18
- rqst = json.loads(msg)
19
- dto = {'socket': self.request, 'request': rqst}
20
- Adm().sendEvent('front_controller', 'wsnj_delegate', dto)
21
- except Exception as inst:
22
- print('Controled ecxeption in WSSNJHandler: ')
23
- print(inst)
@@ -1,7 +0,0 @@
1
- from .GameAdapter import GameAdapter
2
- from .MongoAdapter import MongoAdapter
3
- from .RESTAdapter import RESTAdapter
4
- from .SubProcessAdapter import SubProcessAdapter
5
- from .WSSAdapter import WSSAdapter
6
- from .WSSNJAdapter import WSSNJAdapter
7
- from .WSSNJHandler import WSSNJHandler
@@ -1,17 +0,0 @@
1
- import socketserver
2
- from threading import Thread
3
- from ...middleware.remote.AdmListenerHandler import AdmListenerHandler
4
-
5
- class AdmListener(Thread):
6
-
7
- IP = None
8
- PORT = None
9
-
10
- def __init__(self, ip, port):
11
- self.IP = ip
12
- self.PORT = port
13
- super().__init__()
14
-
15
- def run(self):
16
- server = socketserver.TCPServer((self.IP, self.PORT), AdmListenerHandler)
17
- server.serve_forever()
@@ -1,17 +0,0 @@
1
- import socketserver
2
- from threading import Thread
3
- from ...middleware.remote.RemoteAdmHandler import RemoteAdmHandler
4
-
5
- class RemoteAdm(Thread):
6
-
7
- IP = None
8
- PORT = None
9
-
10
- def __init__(self, ip, port):
11
- self.IP = ip
12
- self.PORT = port
13
- super().__init__()
14
-
15
- def run(self):
16
- server = socketserver.TCPServer((self.IP, self.PORT), RemoteAdmHandler)
17
- server.serve_forever()
@@ -1,4 +0,0 @@
1
- from .AdmListener import AdmListener
2
- from .AdmListenerHandler import AdmListenerHandler
3
- from .RemoteAdm import RemoteAdm
4
- from .RemoteAdmHandler import RemoteAdmHandler
@@ -1,15 +0,0 @@
1
-
2
- class WebAgTK():
3
-
4
- socket = None
5
-
6
- def response(self, data):
7
- data = str(data)
8
- data = data.replace("'", "\"") + '\n'
9
- self.socket.sendall(data.encode())
10
-
11
- def setSocket(self, socket):
12
- self.socket = socket
13
-
14
- def updateID(self, id):
15
- pass
File without changes
@@ -1,25 +0,0 @@
1
- Metadata-Version: 2.1
2
- Name: pbesa
3
- Version: 2.1
4
- Summary: An artificial intelligence platform for the implementation of multi-agent systems based on python 3 and the BESA model
5
- Home-page: https://github.com/akenfactory/pbesa.git
6
- Author: Enrique Gonzales Guerreo, Cesar Julio Bustacara, Fabian Jose Roldan
7
- Author-email: egonzal@javeriana.edu.co, cbustaca@javeriana.edu.co, fjroldan@akenfactory.com
8
- License: MIT
9
- Download-URL: https://github.com/akenfactory/pbesa/archive/2.1.tar.gz
10
- Keywords: agent,multi-agent,system,artificial,intelligence
11
- Platform: UNKNOWN
12
- Classifier: Development Status :: 5 - Production/Stable
13
- Classifier: Intended Audience :: Developers
14
- Classifier: Topic :: Software Development :: Build Tools
15
- Classifier: License :: OSI Approved :: MIT License
16
- Classifier: Programming Language :: Python :: 3
17
- Classifier: Programming Language :: Python :: 3.4
18
- Classifier: Programming Language :: Python :: 3.5
19
- Classifier: Programming Language :: Python :: 3.6
20
- Requires-Dist: pygame
21
- Requires-Dist: pymongo
22
-
23
- UNKNOWN
24
-
25
-
@@ -1,54 +0,0 @@
1
- pbesa/__init__.py,sha256=fGGPBYkXj8NzE8mHnajqyb5MqX2yTb-yfUHdsHWULnI,73
2
- pbesa/engine/__init__.py,sha256=rWPWrLMsj-cm2tKFEg0Byrh-Y-cWi-eR_-PpFCgpgWc,45
3
- pbesa/engine/bdi/BDIAg.py,sha256=JUhnoOVECR9iIil-6fSqLq5gpRDFGoYnNfHCEPz7Acw,1030
4
- pbesa/engine/bdi/BDILevel.py,sha256=H_AnBXnf62ditw73gjcfKNT0qeosezl2vTOGnpUQ4ZM,131
5
- pbesa/engine/bdi/BDIMachine.py,sha256=ghPNePKizy1nJ4jTk4su4L27I8vJ10a2TYMB4AEZnDw,3503
6
- pbesa/engine/bdi/Goal.py,sha256=Egm3w0g8dxUP2yQxA5FGGc7w5s_bBwtlOH0MwF9JWK0,546
7
- pbesa/engine/bdi/GoalExe.py,sha256=5r9o_7geS5Syju7-jzB4Qyhryf_xBoZV8ycN8yzZG_0,863
8
- pbesa/engine/bdi/__init__.py,sha256=6UznPvuftnJFZutmNQ6eB2gLRD-SVdPZOhx543poSrQ,148
9
- pbesa/engine/rational/ActionExe.py,sha256=fFEO5Z7-VAPq4sNpC4zGXkV9IKfuVQAwpiypCFjI1Vw,747
10
- pbesa/engine/rational/Brain.py,sha256=MIta1nT12yJeyLY6dlIMNzBjrzszgq9xGEbTurFkAvM,165
11
- pbesa/engine/rational/RationalAg.py,sha256=frDQ7_t1Y44025TYIt9bmBwyYJo7O3WbHLlIMvJFlro,957
12
- pbesa/engine/rational/__init__.py,sha256=ky9pbyrzBOmI83vN1vdSBZER36NYpCefz6pbozWXQ10,96
13
- pbesa/kernel/__init__.py,sha256=l-xj1gxLi_EcpItE53_sA12CRoyEpZ56C2QbSwlnRb8,129
14
- pbesa/kernel/adapter/Adapter.py,sha256=n53RWlocmKD4spqGf7zuVresPVORhbAZpX_gRyCkumY,442
15
- pbesa/kernel/adapter/FileAdapter.py,sha256=79qWk81IzgsfnUKCesQtRsG_dxbAXwqFJwJHL0FBPEo,531
16
- pbesa/kernel/adapter/__init__.py,sha256=U6HM2bLwFwrD_XdmW7le1wkAsbINIGGPfpd64zywWWE,68
17
- pbesa/kernel/agent/Action.py,sha256=m5q9iwNegk-iC050DuKST3EPOFPinCD3luadt_MhKMo,376
18
- pbesa/kernel/agent/Agent.py,sha256=cZQN4XWdnOb__Qs9hMerIwcuLURztilvoBF1WUzQgwU,2612
19
- pbesa/kernel/agent/BehaviorExe.py,sha256=nM8YdCXMit58TpZzrr8_9tXIA2CRTV5hgJXw8SxbSoA,777
20
- pbesa/kernel/agent/Channel.py,sha256=9cKqodazfCx0T0bi_uE4_z0vF9oImkimxvCVhiOTeFs,201
21
- pbesa/kernel/agent/World.py,sha256=s7jw3baZWxLBwRHgMQ3lqeKiw0fbgFw_Kb_ZC4nRO5o,237
22
- pbesa/kernel/agent/__init__.py,sha256=mOxVyCCpvehSe1syHw2mu9Lyh-6YFCiSaSmsiuKqx3w,146
23
- pbesa/kernel/io/SystemFile.py,sha256=sjDKGUS6zUcpjM5jKwt_Q2VAHTqMZ8i-J5eBck84YTs,249
24
- pbesa/kernel/io/TCPServer.py,sha256=yrufbmRep4pSc5ZlDHKN47iOcqvZ7lPibkaSkFC0Js4,104
25
- pbesa/kernel/io/__init__.py,sha256=y8I8daKAkSXoyclL9g29RB-_9AHe2wmMBy48PQyMtIg,70
26
- pbesa/kernel/res/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
27
- pbesa/kernel/system/Adm.py,sha256=IhUag1DbfiVQyDUROPGp5BTbiB7XsT8E5bnqnWNhOLw,8486
28
- pbesa/kernel/system/Directory.py,sha256=FXTCVbNym52PhZmQmx1I2kh2Bvc_br15Whjaq7aDTRg,1081
29
- pbesa/kernel/system/__init__.py,sha256=z449e3VCSlCy283rvafypaDgtvNMiE_97i4DukdnW7E,56
30
- pbesa/kernel/util/HashTable.py,sha256=04XLAUSNFEmYewOAcRq_z_rvoJn6hjg4eBCEnKAoWPE,1899
31
- pbesa/kernel/util/Queue.py,sha256=TredJv4C_IIVADHy6uy23X7AIL11o6HJSVWwPuplzb0,8748
32
- pbesa/kernel/util/__init__.py,sha256=2COE9DNSdDxZQuSXwOCgP4wtPnqXmnrEHBQ09uSzQ6E,60
33
- pbesa/middleware/__init__.py,sha256=aHAxJsMtHcOPp1JAUYJpTPjj6czvJpFkUVkTrrbnacY,65
34
- pbesa/middleware/adapter/GameAdapter.py,sha256=Ag3a1W3UwT7i_RDSs7Rtosv8dFWfiT7Y8KEUrVXfZt8,1560
35
- pbesa/middleware/adapter/MongoAdapter.py,sha256=79DFU1FFJutcy7_Y3uaZwthFIF4xP-wLvkPjjFfJ2fw,1155
36
- pbesa/middleware/adapter/RESTAdapter.py,sha256=BKuTkLsHG7JZW7uh1heysnEaZZkjHxN0vKipqcEFof0,1302
37
- pbesa/middleware/adapter/SubProcessAdapter.py,sha256=LVq9vvzCXbVi6SKp_2gqulMTq8G8h_QckpBjaJFjOAY,605
38
- pbesa/middleware/adapter/WSSAdapter.py,sha256=-M6WoDmKO68zkfLwnJ6ziFIK_47G0hCAEt0ArX6TZfo,2746
39
- pbesa/middleware/adapter/WSSNJAdapter.py,sha256=r8rhCxJ_Y2TmfLRU8Bp1SY7WMT-gxHKPZlAJklg3WvI,1438
40
- pbesa/middleware/adapter/WSSNJHandler.py,sha256=LxJZugshswH2GLeKUO4LxTBo-nrJt62mD9JTVlV4jKY,843
41
- pbesa/middleware/adapter/__init__.py,sha256=AFlNa4BVXm8g2hRfm6yv-rpXlahEjDpPvOMtI3cUxcE,282
42
- pbesa/middleware/remote/AdmListener.py,sha256=zCmFUVtDclmZk9jTvLiU1cEZ61-Mr13T8QS2SWLC6s0,445
43
- pbesa/middleware/remote/AdmListenerHandler.py,sha256=qAtQyJ9n0fsXX1fbBvDqiC4pHPmLd8-5JshKMRB12M0,2034
44
- pbesa/middleware/remote/RemoteAdm.py,sha256=H39yIVaA9MG2ZypkmkBQ5RlB6Ux_ska4wnV4dwrvFHI,453
45
- pbesa/middleware/remote/RemoteAdmHandler.py,sha256=cCLk0bBDG3yZz9itmgFqDWbXlwUjzT2ADKdwZJAuAUg,3370
46
- pbesa/middleware/remote/__init__.py,sha256=izK764PdktMOjRWgMP8y2378B3tnQCk0EHOULUpE6_Q,172
47
- pbesa/middleware/web/WebAgTK.py,sha256=-5ke4PUXChQXS6pm8R5naycWe0detwOVvQB2RgXA5Lc,316
48
- pbesa/middleware/web/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
49
- pbesa-2.1.dist-info/LICENSE,sha256=G12WUfPi-w4Zjx0u2wSFzqujMlIkpoGkCphqcUEvM6E,1082
50
- pbesa-2.1.dist-info/LICENSE.txt,sha256=U83D3wXr38rq7kD3QLB2bLOMVloG9s4eGhAy-kN79cQ,1093
51
- pbesa-2.1.dist-info/METADATA,sha256=Lv-fMrp23whcAbrzwBxKAbgGgcBEVpOXFyWOR6wtSgA,1017
52
- pbesa-2.1.dist-info/WHEEL,sha256=YUYzQ6UQdoqxXjimOitTqynltBCkwY6qlTfTh2IzqQU,97
53
- pbesa-2.1.dist-info/top_level.txt,sha256=TrImx2eWQUKXJgNTI-Po1yBYSFK0U4j049PpgioXduY,6
54
- pbesa-2.1.dist-info/RECORD,,