def f(x): assert x.n == "s0" or x.n == "s1" if x.n == "s0": x.l = AP("RAISE") return AP("RAISE") elif x.n == "s1": x.l = AP("LOWER") return AP("LOWER")
def main(): if not os.path.exists("data"): os.makedirs("data") if not os.path.exists("output"): os.makedirs("output") if MainCfg.generate_new_data: generate() X = np.loadtxt("data/data.txt") ap = AP(X, similarity) ap.categorize(show_iterations=MainCfg.show_iterations, outfilename=MainCfg.outfilename, outgifname=MainCfg.outgifname)
def __init__(self, A={AP("unsafe")}, S={State("s0")}, s=State("s0"), I={Sig("in")}, O={Sig("out")}, R=[Tr()], L=lambda x: x): self.A = A # atomic propositions (names) self.S = S # states (names) self.s = s # current state (belongs to S) self.I = I # inputs (names) self.O = O # outputs (names) so that no element is in I and O self.R = R # transition relation (S x B (I(t)) x P(O) x S ) self.L = L # labeling function self.id = id(self)
def negationnormalform(self): from ap import ap_true, ap_false, AP from _or import OR from _and import AND from implies import IMPLIES from next import NEXT if isinstance(self.operand1, AP): if self.operand1 == ap_true: return ap_false elif self.operand1 == ap_false: return ap_true elif self.operand1.operator is None: # Boolean AP return self elif self.operand1.operator == ge: return AP(None, self.operand1.c, lt, self.operand1.b, self.operand1.variables) elif self.operand1.operator == gt: return AP(None, self.operand1.c, le, self.operand1.b, self.operand1.variables) elif self.operand1.operator == le: return AP(None, self.operand1.c, gt, self.operand1.b, self.operand1.variables) elif self.operand1.operator == lt: return AP(None, self.operand1.c, ge, self.operand1.b, self.operand1.variables) elif self.operand1.operator == eq: return AP(None, self.operand1.c, ne, self.operand1.b, self.operand1.variables) elif self.operand1.operator == ne: return AP(None, self.operand1.c, eq, self.operand1.b, self.operand1.variables) elif isinstance(self.operand1, AND): return OR( NOT(self.operand1.operand1).negationnormalform(), NOT(self.operand1.operand2).negationnormalform()) elif isinstance(self.operand1, OR): return AND( NOT(self.operand1.operand1).negationnormalform(), NOT(self.operand1.operand2).negationnormalform()) elif isinstance(self.operand1, IMPLIES): return NOT(self.operand1.negationnormalform()).negationnormalform() elif isinstance(self.operand1, NOT): return self.operand1.operand1.negationnormalform() elif isinstance(self.operand1, NEXT): return NEXT( NOT(self.operand1.operand1).negationnormalform(), self.operand1.lower_bound)
'5.26': 52, '5.28': 56, '5.29': 58, '5.3': 60, '5.32': 64, '5.745': 149, '5.76': 152, '5.765': 153, '5.785': 157, '5.8': 160, '5.805': 161, '5.825': 165 } # Static info of nodes Robohoc4_ath0 = AP(6, '192.168.3.3', '192.168.3.4', '192.168.100.4', '00:80:92:3e:7d:58') # for Robohoc3 Robohoc4_ath1 = AP(40, '192.168.4.6', '192.168.4.4', '192.168.100.4', '00:80:92:3e:18:11') # for Robohoc6 Robohoc5_ath0 = AP(60, '192.168.6.6', '192.168.6.5', '192.168.100.5', '00:80:92:3e:18:18') # for Robohoc6 Robohoc5_ath1 = AP(11, '192.168.5.3', '192.168.5.5', '192.168.100.5', '00:80:92:3e:18:16') # for Robohoc3 ROBOHOC3 = ['00:80:92:3a:9c:d0', '00:80:92:3a:9c:c6'] ROBOHOC6 = ['00:80:92:3a:9a:e8', '00:80:92:3a:9c:ce'] class Configure(object): def __init__(self, aiface, miface): super(Configure, self).__init__()
def do_ap(opts): ap = AP(opts) ap.startap()
def run(self): self.run_name = "AP" self.ap = AP(token=self.token, base_url=self.url) self.by_field = None self.by_value = None self.by_list = False self.ret_field = None """ GET """ """Get: network_id""" self.exe = self.ap.get(network_id=self.network_id) self.title = "Get: network_id" self.res = self.aps_result self.test_exe() self.title = "Get: network_id - by_field(name)" self.res = self.ap_result self.by_field = "name" self.by_value = self.ap_result self.test_exe() self.title = "Get: network_id - by_field(name), by_list" self.res = [self.ap_result] self.by_list = True self.test_exe() self.title = "Get: network_id - by_field(name), ret_field(serial)" self.res = self.ap_name self.by_field = "name" self.by_value = self.ap_serial self.ret_field = "serial" self.by_list = False self.test_exe() self.title = "Get: network_id - by_field(name), by_list, ret_field(serial)" self.res = [self.ap_serial] self.by_list = True self.test_exe() self.by_field = None self.by_value = None self.by_list = False self.ret_field = None """Get: organzation_id""" self.exe = self.ap.get(organization_id=self.organization_id) self.title = "Get: organization_id" self.res = self.aps_result self.test_exe() self.title = "Get: organization_id - by_field(name)" self.res = self.ap_result self.by_field = "name" self.by_value = self.ap_name self.test_exe() self.title = "Get: organization_id - by_field(name), by_list" self.res = [self.ap_result] self.by_list = True self.test_exe() self.title = "Get: organization_id - by_field(name), ret_field(serial)" self.res = self.ap_serial self.by_field = "name" self.by_value = self.ap_name self.ret_field = "serial" self.by_list = False self.test_exe() self.title = "Get: organization_id - by_field(name), by_list, ret_field(serial)" self.res = [self.ap_serial] self.by_list = True self.test_exe() self.by_field = None self.by_value = None self.by_list = False self.ret_field = None """ Search tests """ self.exe = self.ap.search(by_field='name', by_value=self.ap_name) self.title = "Get: Search(name)" self.res = self.ap_search_result self.test_exe() self.title = "Get: Search(name), ret_field(serial)" self.ret_field = "serial" self.res = self.ap_serial self.test_exe() self.title = "Get: Search(name), by_list" self.by_list = True self.ret_field = None self.res = [self.ap_search_result] self.test_exe() self.title = "Get: Search(name), by_list, ret_field(serial)" self.ret_field = "serial" self.res = [self.ap_serial] self.test_exe() self.by_field = None self.by_list = False self.ret_field = None """ POST """ self.res = self.ap_post self.title = "Post" self.exe = self.ap.post(organization_id=self.organization_id, serial=self.ap_serial) self.test_exe() self.title = "Post: with name" self.exe = self.ap.post(organization_id=self.organization_id, serial=self.ap_serial, name=self.ap_name_put) self.test_exe() self.title = "Post: with geolocalisation" self.exe = self.ap.post(organization_id=self.organization_id, serial=self.ap_serial, lat=self.ap_lat, lng=self.ap_lng) self.test_exe() self.title = "Post: with tags" self.exe = self.ap.post(organization_id=self.organization_id, serial=self.ap_serial, tags=self.ap_tags) self.test_exe() self.title = "Post: with address" self.exe = self.ap.post(organization_id=self.organization_id, serial=self.ap_serial, address=self.ap_address) self.test_exe() self.title = "Post: with ALL params" self.exe = self.ap.post(organization_id=self.organization_id, serial=self.ap_serial, name=self.ap_name_put, lat=self.ap_lat, lng=self.ap_lng, tags=self.ap_tags, address=self.ap_address) self.test_exe() """ Put test """ self.res = self.ap_result self.title = "Put" self.exe = self.ap.put(network_id=self.network_id, serial=self.ap_serial) self.test_exe() self.title = "Put: with name" self.exe = self.ap.put(network_id=self.network_id, serial=self.ap_serial, name=self.ap_name_put) self.test_exe() self.title = "Put: with geolocalisation" self.exe = self.ap.put(network_id=self.network_id, serial=self.ap_serial, lat=self.ap_lat, lng=self.ap_lng) self.test_exe() self.title = "Put: with tags" self.exe = self.ap.put(network_id=self.network_id, serial=self.ap_serial, tags=self.ap_tags) self.test_exe() self.title = "Put: with address" self.exe = self.ap.put(network_id=self.network_id, serial=self.ap_serial, address=self.ap_address) self.test_exe() self.title = "Put: with ALL params" self.exe = self.ap.put(network_id=self.network_id, serial=self.ap_serial, name=self.ap_name_put, lat=self.ap_lat, lng=self.ap_lng, tags=self.ap_tags, address=self.ap_address) self.test_exe() """ Delete test """ self.title = "Put: with address" self.exe = self.ap.delete(organization_id=self.organization_id, serial=self.ap_serial) self.res = self.ap_result
tr3 = Tr(State("s1"), State("s1"), maili, []) conTran = [tr3, tr2, tr1] def f(x): assert x.n == "s0" or x.n == "s1" if x.n == "s0": x.l = AP("RAISE") return AP("RAISE") elif x.n == "s1": x.l = AP("LOWER") return AP("LOWER") control = Sks(A={AP("LOWER"), AP("RAISE")}, S={State("s0"), State("s1")}, s=State("s0"), I={Sig("inR"), Sig("inI"), Sig("exited")}, O={Sig("raise"), Sig("lower")}, R=conTran, L=f) #Plant model plant = Sks(A={AP("DOWN"), AP("UP"), AP("GOINGDOWN"), AP("GOINGUP")}, S={State("s0"), State("s1"), State("s2"), State("s3")}, s=State("s0"), I={Sig("raise"), Sig("lower")},