Exemplo n.º 1
0
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")
Exemplo n.º 2
0
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)
Exemplo n.º 3
0
 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)
Exemplo n.º 4
0
 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)
Exemplo n.º 5
0
    '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__()
Exemplo n.º 6
0
 def do_ap(opts):
     ap = AP(opts)
     ap.startap()
Exemplo n.º 7
0
    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
Exemplo n.º 8
0
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")},