PROGRAMMING LANGUAGE CREATION
FOR CONTROLING
INTERNAL TRANSPORT DEVICES
Józef Okulewicz
Warsaw University of Technology, Faculty of Transport
Telematyka, 2007
HISTORY OF PROGRAMMING LANGUAGES
FORTRAN
X 1954
2004
www.oreilly.com
FORTRAN
X 1954
2006
Eric Levenez, July 2007
http://www.levenez.com/lang/history.html
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
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.
WIKIPEDIA
http://en.wikipedia.org/wiki/
LOGICAL LATICE OF 2 VARIABLES
11

10
accessibility
space
01

time
SYSTEM NOTIONS STRUCTURE
LOGICAL LATICE OF 3 VARIABLES
111
110
101
011
100
010
001
SYSTEM NOTIONS STRUCTURE
integrity
accessibility
transparency
connectivity
space
time
aim
<instruction> ::=
<AT>
<command>
<AS>
<command> transparency
accessibility
@
#
” for ”







v*
q*
nil
<THIS>
connectivity
nil
+
@
#
” if ”

” go ”
STRUCTURE OF THE TRANSPORT SYSTEM
objects generating
program instructions
priority object
conveyor segment
segment controling
PROGRAM LINEAR STRUCTURE
@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)
: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
INSTRUCTION ASSIGNMENT TO CONVEYOR SECTIONS
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
w2
@w2 
#w2  #z1/0.1;z2/0.5;z3 +R(60,140)
s2
w3
A
@t1 v2 #z1
b3
@b3 
t3
@t3 v2 #z1
t6
@t6 
@z3 
@C 
@C v2 #z1
@C v1 #z1 +20
@B  #z1
@t2 v2 #z1
@t2 v1 #z1 +50
z3
C
t2
t5
@t5 
@t4 v1 #z1
@t5 v2 #z1
s3
B
t1
z2
@z2 
@s3 
@s3  #z3
@B  #z1
@B v2 #z1
@B v1 #z1 +20
@t1 v1 #z1
@A v2 #z1
@A v1 #z1 +20
@B  #z1
@z1 
@z1 v2 #z1
@z1 v1 #z1 +10
@s2 
@s2  #z2
@s2  #z3
@w3 
#w3  #z1/0.1;z2/0.6;z3 +E(100)
z1
t4
@t4 v2 #z1
@t3 v1 #z1
t7
@t7 
central
@* ►
Descargar

Slajd 1