TY - GEN
T1 - StarL
T2 - 16th ACM SIGPLAN/SIGBED Conference on Languages, Compilers, Tools and Theory for Embedded Systems, LCTES 2015
AU - Lin, Yixiao
AU - Mitra, Sayan
N1 - Funding Information:
We thank Adam Zimmerman for developing and documenting an earlier version of StarL and Nitin Vaidya for several valuable discussions. This work is sponsored in part by research grants NSF CAREER 1054247 and AFOSR YIP FA9550-12-1-0336.
Publisher Copyright:
Copyright © 2015 ACM.
PY - 2015/6/4
Y1 - 2015/6/4
N2 - We developed StarL as a framework for programming, simulating, and verifying distributed systems that interacts with physical processes. StarL framework has (a) a collection of distributed primitives for coordination, such as mutual exclusion, registration and geocast that can be used to build sophisticated applications, (b) theory libraries for verifying StarL applications in the PVS theorem prover, and (c) an execution environment that can be used to deploy the applications on hardware or to execute them in a discrete event simulator. The primitives have (i) abstract, nondeter-ministic specifications in terms of invariants, and assume-guarantee style progress properties, (ii) implementations in Java/Android that always satisfy the invariants and attempt progress using best effort strategies. The PVS theories specify the invariant and progress properties of the primitives, and have to be appropriately instantiated and composed with the application's state machine to prove properties about the application. We have built two execution environments: one for deploying applications on Android/iRobot Create platform and a second one for simulating large instantiations of the applications in a discrete even simulator. The capabilities are illustrated with a StarL application for vehicle to vehicle coordination in an automatic intersection that uses primitives for point-to-point motion, mutual exclusion, and registration.
AB - We developed StarL as a framework for programming, simulating, and verifying distributed systems that interacts with physical processes. StarL framework has (a) a collection of distributed primitives for coordination, such as mutual exclusion, registration and geocast that can be used to build sophisticated applications, (b) theory libraries for verifying StarL applications in the PVS theorem prover, and (c) an execution environment that can be used to deploy the applications on hardware or to execute them in a discrete event simulator. The primitives have (i) abstract, nondeter-ministic specifications in terms of invariants, and assume-guarantee style progress properties, (ii) implementations in Java/Android that always satisfy the invariants and attempt progress using best effort strategies. The PVS theories specify the invariant and progress properties of the primitives, and have to be appropriately instantiated and composed with the application's state machine to prove properties about the application. We have built two execution environments: one for deploying applications on Android/iRobot Create platform and a second one for simulating large instantiations of the applications in a discrete even simulator. The capabilities are illustrated with a StarL application for vehicle to vehicle coordination in an automatic intersection that uses primitives for point-to-point motion, mutual exclusion, and registration.
KW - Distributed systems
KW - Mechanical theorem proving
KW - Programming models
KW - Robotics
KW - Verification
UR - http://www.scopus.com/inward/record.url?scp=84951913933&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=84951913933&partnerID=8YFLogxK
U2 - 10.1145/2670529.2754966
DO - 10.1145/2670529.2754966
M3 - Conference contribution
AN - SCOPUS:84951913933
T3 - Proceedings of the ACM SIGPLAN Conference on Languages, Compilers, and Tools for Embedded Systems (LCTES)
SP - 88
EP - 97
BT - LCTES 2015 - Proceedings of the 16th ACM SIGPLAN/SIGBED Conference on Languages, Compilers, Tools and Theory for Embedded Systems
PB - Association for Computing Machinery
Y2 - 18 June 2015 through 19 June 2015
ER -