![Page 1: PROGRAMMING LANGUAGE CREATION FOR CONTROLING INTERNAL TRANSPORT DEVICES](https://reader035.vdocuments.net/reader035/viewer/2022070407/5681435b550346895dafda26/html5/thumbnails/1.jpg)
PROGRAMMING LANGUAGE CREATION
FOR CONTROLING
INTERNAL TRANSPORT DEVICES
Józef Okulewicz
Warsaw University of Technology, Faculty of Transport
Telematyka, 2007
![Page 2: PROGRAMMING LANGUAGE CREATION FOR CONTROLING INTERNAL TRANSPORT DEVICES](https://reader035.vdocuments.net/reader035/viewer/2022070407/5681435b550346895dafda26/html5/thumbnails/2.jpg)
www.oreilly.com
HISTORY OF PROGRAMMING LANGUAGES
2004
FORTRANX 1954
![Page 3: PROGRAMMING LANGUAGE CREATION FOR CONTROLING INTERNAL TRANSPORT DEVICES](https://reader035.vdocuments.net/reader035/viewer/2022070407/5681435b550346895dafda26/html5/thumbnails/3.jpg)
Eric Levenez, July 2007http://www.levenez.com/lang/history.html
FORTRANX 1954 2006
![Page 4: PROGRAMMING LANGUAGE CREATION FOR CONTROLING INTERNAL TRANSPORT DEVICES](https://reader035.vdocuments.net/reader035/viewer/2022070407/5681435b550346895dafda26/html5/thumbnails/4.jpg)
John Backus is the father of Fortran,
the language that froze computer architectures to this day.
But he wrote in 1981:
„While it is perhaps natural and inevitable that
languages like Fortran and its successors
should have developed out of the concept
of the von Neumann computer as they did,
the fact that such languages
have dominated our thinking for twenty years
is unfortunate.
… because their long-standing familiarity
will make it hard for us
to understand and adopt new programming styles
which one day will offer far greater intellectual and computational power.”
Richard P. Gabriel, Guy L. Steele Jr. : What Computers Can’t Do (And Why), Lisp and Symbolic Computation (LASC), vol. 1, n. 3-4. 1986
![Page 5: PROGRAMMING LANGUAGE CREATION FOR CONTROLING INTERNAL TRANSPORT DEVICES](https://reader035.vdocuments.net/reader035/viewer/2022070407/5681435b550346895dafda26/html5/thumbnails/5.jpg)
A Boolean algebra is also called a Boolean lattice.
The connection to lattices (special partially ordered sets)
is suggested by the parallel between set inclusion, A ⊆ B,
and ordering, a ≤ b.
Consider the lattice of all subsets of {x,y,z},
ordered by set inclusion.
This Boolean lattice is a partially ordered set
in which, say, {x} ≤ {x,y}.
Any two lattice elements, say p = {x,y} and q = {y,z},
have a least upper bound, here {x,y,z},
and a greatest lower bound, here {y}.
Suggestively, the least upper bound (or join or supremum)
is denoted by the same symbol as logical OR, p∨q;
and the greatest lower bound (or meet or infimum)
is denoted by same symbol as logical AND, p∧q. WIKIPEDIAhttp://en.wikipedia.org/wiki/
![Page 6: PROGRAMMING LANGUAGE CREATION FOR CONTROLING INTERNAL TRANSPORT DEVICES](https://reader035.vdocuments.net/reader035/viewer/2022070407/5681435b550346895dafda26/html5/thumbnails/6.jpg)
space time
accessibility
SYSTEM NOTIONS STRUCTURE
10 01
11
LOGICAL LATICE OF 2 VARIABLES
![Page 7: PROGRAMMING LANGUAGE CREATION FOR CONTROLING INTERNAL TRANSPORT DEVICES](https://reader035.vdocuments.net/reader035/viewer/2022070407/5681435b550346895dafda26/html5/thumbnails/7.jpg)
100 001010
101110 011
111
LOGICAL LATICE OF 3 VARIABLES
![Page 8: PROGRAMMING LANGUAGE CREATION FOR CONTROLING INTERNAL TRANSPORT DEVICES](https://reader035.vdocuments.net/reader035/viewer/2022070407/5681435b550346895dafda26/html5/thumbnails/8.jpg)
space aimtime
transparencyaccessibility connectivity
integrity
SYSTEM NOTIONS STRUCTURE
![Page 9: PROGRAMMING LANGUAGE CREATION FOR CONTROLING INTERNAL TRANSPORT DEVICES](https://reader035.vdocuments.net/reader035/viewer/2022070407/5681435b550346895dafda26/html5/thumbnails/9.jpg)
v*q*
<command>
<instruction> ::=
<AT> <command> <AS> <THIS>
transparencyaccessibility connectivity
@#
” for ”
#
nil
” if ”
nil
+@
” go ”
![Page 10: PROGRAMMING LANGUAGE CREATION FOR CONTROLING INTERNAL TRANSPORT DEVICES](https://reader035.vdocuments.net/reader035/viewer/2022070407/5681435b550346895dafda26/html5/thumbnails/10.jpg)
STRUCTURE OF THE TRANSPORT SYSTEM
program instructionsobjects generating
priority object
conveyor segment
segment controling
![Page 11: PROGRAMMING LANGUAGE CREATION FOR CONTROLING INTERNAL TRANSPORT DEVICES](https://reader035.vdocuments.net/reader035/viewer/2022070407/5681435b550346895dafda26/html5/thumbnails/11.jpg)
@w1 @w2 @w3 @t5 @t6 @s1 @s2 @s3 @C @t7 @z1 @z2 @z3 @b3 @* ►
@A v2 #z1@A v1 #z1 +20:A@B #z1@t1 v2 #z1:t5@t4 v1 #z1@t5 v2 #z1@B #z1@B v2 #z1@B v1 #z1 +20:B@t1 v1 #z1@t2 v2 #z1@t2 v1 #z1 +50
#w1 #z1/0.1;z2/0.4;z3 +R(40,120)#w2 #z1/0.1;z2/0.5;z3 +R(60,140)#w3 #z1/0.1;z2/0.6;z3 +E(100)
PROGRAM LINEAR STRUCTURE
:s1@t5 v1 #z1@s1 v2 #z1@s1 v1 #z1 +10@s1 #z1@s1 #z2@s1 #z3@s2 #z2@s2 #z3@s3 #z3@C v2 #z1@C v1 #z1 +20:C@B #z1@t3 v2 #z1@z1 v2 #z1@z1 v1 #z1 +10@t4 v2 #z1@t3 v1 #z1
![Page 12: PROGRAMMING LANGUAGE CREATION FOR CONTROLING INTERNAL TRANSPORT DEVICES](https://reader035.vdocuments.net/reader035/viewer/2022070407/5681435b550346895dafda26/html5/thumbnails/12.jpg)
w1@w1 #w1 #z1/0.1;z2/0.4;z3 +R(40,120)
s1@s1 @t5 v1 #z1@s1 v2 #z1@s1 v1 #z1 +10@s1 #z1@s1 #z2@s1 #z3
z1@z1 @z1 v2 #z1@z1 v1 #z1 +10
w2@w2 #w2 #z1/0.1;z2/0.5;z3 +R(60,140)
s2@s2 @s2 #z2@s2 #z3
z2@z2
w3@w3 #w3 #z1/0.1;z2/0.6;z3 +E(100)
s3@s3 @s3 #z3
z3@z3
A@A v2 #z1@A v1 #z1 +20@B #z1
B@B #z1@B v2 #z1@B v1 #z1 +20@t1 v1 #z1
C@C @C v2 #z1@C v1 #z1 +20@B #z1
b3@b3
t1@t1 v2 #z1
t2@t2 v2 #z1@t2 v1 #z1 +50
t3@t3 v2 #z1
t4@t4 v2 #z1@t3 v1 #z1
t5@t5 @t4 v1 #z1@t5 v2 #z1
t6@t6
t7@t7
central
@* ►
INSTRUCTION ASSIGNMENT TO CONVEYOR SECTIONS