Process Architecture Study: Documentation
The OPERATING SYSTEMS Designer


Back to the Transcripts Overview


Time   Paper  Description                                                 Conceptual Focus   Mode of
       Sheet                                                                                 Operation
00:00         Gets the problem statement handed over. Says after a few
              seconds that the lift control problem is a classical
              task, but that it is not easy to solve.

00:01         Asks whether there are built in mechanisms to solve         Platform           Asking
              queuing of requests from pushbuttons. The observer
              answers that he initially can assume that.

00:02         Gives rise to fact that he is not satisfied with two        Decentralization   Explaining
              properties of the problem statement. First, the aspects
              of minimum waiting time is hostile towards a
              decentralized solution and from his point of view this is
              not good. Second, he cannot guarantee the aspect of
              fairness in his future solution. It is agreed upon that
              he can skip these two conditions at first hand.

00:03         Says that he will solve the problem with TOPSY. He also     Complexity         Explaining
              says that he has never tried to solve such a problem with
              TOPSY before. However, it should be possible to solve to
              problem with TOPSY since the aspects of the problem are
              binary and hence, he will be able to map the problem into
              a solution. He will solve the problem with three floors
              in order to reduce conplexity. He is quite certain that
              two floors are not enough. He would normally have solved
              it with two floors in order to reduce complexity even
              more.

00:05         Says that he considers the elevators and the floors as                         Reflecting
              independent entities.
00:06  #1     Starts to draw a sketch of a building with three floors                        Drawing
              and three elevators in order to achieve a deeper
              understanding of the problem involved.

00:08         Starts to specify a partial solution for one elevator.      Communication      Specifying
              This specification involves what happens when a push        Synchronization
              button at the floors is pushed. He names them call
              buttons. Afterwards he starts to specify the pushbuttons
              in the elevators. This specification is in the form of a
              given elevator wants to goto a given floor or not.

00:13         Asks if it is possible for an elevator to visit a floor                        Asking
              with a previous registrated request.

00:14         Expresses that in his solution a given request for a                           Explaining
              floor is that he wants to change to state of one his
              conditions e.g. a no to a yes. Thereby, the system will
              no longer have the same request.

00:15         Specifies the actions for an elevator to goto floor         Communication      Specifying
              number 2. This involves the movement of the elevator, the
              switching off the light in the pushbutton etc.

00:16         Assumes that the underlying features turn off the light     Platform           Reflecting
              in the pushbuttons when a request has been fulfilled. He
              does not think that this assumption is unfair. He says,                                       
              however, that it could be solved in his solution by                                           
              inserting another layer for handling this aspect, but he                                      
              does not find it important in this particular problem.                                        
                                                                                                            
00:18         Gives expression to the fact that he is about to specify    Communication      Explaining     
              some actions which have to express that when a pushbutton                      Specifying     
              has a request, the elevator has to move to that given                                         
              floor. The actions have a form that says that if an                                           
              elevator has a request for going to a given floor (this                                       
              is expressed on one side of his equation) then the other                                      
              side will express that the elevator is now of that floor                                      
              and that the request is gone. This could be expressed as                                      
              follows: (a, not b) -> (not a, b)                                                             
                                                                                                            
00:19         Observer points out that it is also interesting which                                         
              elevator goes to which floors.                                                                
                                                                                                            
00:20         Realizes that he misses a censor (a censor is one of the                       Specifying     
              entities used in his paradigm to indicate states) to                                          
              indicate which floor the elevator is currently located                                        
              at. Starts to specify the actions to indicate on which                                        
              the elevator is located.                                                                      
                                                                                                            
00:22         Starts to specify the actions at a general level. He is,                       Specifying     
              however, uncertain whether is able to succeed in this                                         
              specifying. After approximately 30 seconds he stops this                                      
              specification because he realizes that the activity is                                        
              not leading anywhere.                                                                         
                                                                                                            
00:23         Assumes that more than one elevator can visit a floor       Independence       Reflecting     
              upon request. This in hand means that the elevators are                                       
              completely independent.                                                                       
                                                                                                            
00:24         Starts to specify again at a more specific level. The       Communication      Specifying     
              generel actions outlined just above cannot be used so       Synchronization                   
              these were erased. Gives rise to the fact that his                                            
              current problem is getting the elevators to move between                                      
              the floors. Writes down a action which says that if the                                       
              elevator is on floor 1 then it is not at floor 2, and on                                      
              the other side of the equation he writes that if the                                          
              elevator is not at floor 1 then it could be at floor 2.                                       
              And so furth with the other floors. Furthermore he  says                                      
              that he will not consider the fact that an elevator can                                       
              be located between two floors due to the complexity of                                        
              his solution.                                                                                 
                                                                                                            
00:28         Says that his action expresses that if he is on floor 1     Distribution       Explaining     
              he can negotiate the action and then his elevator is                                          
              located at floor 2. Furthermore, he says that this                                            
              automatically gives a distributed solution. This was also                                     
              stated at the beginning of the experiment.                                                    
                                                                                                            
00:29         Specifies further on the movement of elevators. After one                      Specifying     
              minute he realizes that his latest action is ok, but also                                     
              that it is unimportant.                                                                       
                                                                                                            
00:30         He gives expression to the fact that he is problem is       Complexity         Explaining     
              that the censors outlined at the top of paper sheet #1                                        
              can be combined in 2^9 - 1 (511) ways (this is only true                                      
              when he has 2 attributes in each side of the actions.                                         
              More attributes would give more ways of combination). He                                      
              now has to find the necesary actions. Normally, TOPSY                                         
              could observe these things. He stresses that this is very                                     
              difficult to do manually.                                                                     
                                                                                                            
00:31         Starts to specify again but realizes once more that his                        Specifying     
              actions are of a trivial nature. Says that he has to                                          
              incorporate 3 actions.                                                                        
                                                                                                            
00:33  #2     Tries to incorporate 3 attributes in the actions. This                                        
              involves both the actual movement of elevators and the                                        
              servicing of requests from floors.                                                            
                                                                                                            
00:36         Stops up and expresses that he has now found the two        Communication      Specifying     
              basic forms of actions. First, the elevator movement        Synchronization                   
              action describes that the elevator has an internal desire                                     
              to goto a floor. Second, the elevator call action                                             
              describes that a floor has a request for an elevator in                                       
              an up-ward or down-ward direction.                                                            
                                                                                                            
00:39         He realizes that he has too much information on each        Complexity         Reflecting     
              sensor. Instead of having the up or down he maybe should                                      
              have had up or not up etc. He also says that there is                                         
              always a potentiel danger in using these methods since                                        
              people are found to put too much information on the                                           
              sensors. But it is difficult nor to put this information                                      
              into the actions due to the problems with complexity.                                         
                                                                                                            
00:40         Starts to specify again. Says that since the system is      Distribution       Specifying     
              distributed it is hard to have in your mind and therefore                                     
              he starts to draw some state diagrams with his sensors                                        
              illustrated at the middle of paper sheet #2.                                                  
                                                                                                            
00:44         After a couple of minutes of consideration he realizes      Communication      Explaining     
              that the above mentioned problem with the #of sensors is                                      
              serious. As a direct consequence he has to redefine the                                       
              sensors in his solution. He then suddenly realizes that                                       
              the up or down-going thing is not needed in his solution.                                     
              Whether the elevator is going up or down is not important                                     
              what is important is that an elevator is wanted or not.                                       
              The up and down thing is only useful for human beings. He                                     
              then wants to redefine the call buttons to wanted or not                                      
              wanted. Notes wrong mapping at the top of paper sheet #2.                                     
                                                                                                            
00:47         Expresses that the wanted or not wanted is at a higher      Priority           Reflecting     
              level of abstraction than the going up or down. Basically                                     
              he views the system as a system where elevators are                                           
              moving sequentially between the floors and his concern is                                     
              whether the elevator should stop or not. However, he is                                       
              of the opinion that the people in the elevator should                                         
              have higher priority than the people on the floors.                                           
                                                                                                            
00:49         Says that he will view the situation from another                              Explaining     
              perspective. If one views the call buttons and the                                            
              movement buttons as entering goals into the system then                                       
              the only thing he has to worry about is to move the                                           
              elevators in the right direction. The problem with the so                                     
              far outlined solution is that no goals enter the system                                       
              and then nothing will happen. Specifies this new insight                                      
              on paper sheet #2.                                                                            
                                                                                                            
00:50         Discovers that he might have some problems in keeping the                                     
              elevator going in the same direction until it has reached                                     
              its goal. He gives expression to the fact that it is                                          
              possible to achieve sequencing in TOPSY by specifying                                         
              that one action establish pre-conditions for another                                          
              action.                                                                                       
                                                                                                            
00:52         Starts to simulate some specific examples in order to       Priority           Experimenting  
              achieve the sequencing of actions. He has major                                               
              difficulties in solving this particular problem. He says                                      
              that his problem is that which floor should the elevator                                      
              visit when it is located at the second floor and it is                                        
              asked for at the third floor and has a request for the                                        
              first floor. He wants to honour the gotos before the                                          
              wanteds (requests from elevators have higher priority                                         
              than requests from floors).                                                                   
                                                                                                            
00:56         Realizes that he needs a new sensor which tells him is                         Reflecting     
              the elevator going up or down. He wants to avoid that the                                     
              elevator has to go to the top in order to reverse                                             
              direction. He says that he has to solve the task at the                                       
              meta-level. He further implies that this would be much                                        
              easier if he had this simulator to check the dynamics of                                      
              the system. Simulating these kinds of things manually is                                      
              hard on the brain.                                                                            
                                                                                                            
01:00  #3     Starts to specify again. This includes actions where 3      Communication      Specifying     
              attributes are included on each side of the equation. He                                      
              has by now incorporated the aspect of goals. The                                              
              specification is carried out on a specific level for the                                      
              going up and down for an elevator.                                                            
                                                                                                            
01:04         Translate to above specific actions into a more general                        Specifying     
              actions. Says after a couple of minutes that these                                            
              outlined actions are able to move the elevator between                                        
              successive floors. So the actions are not able to move                                        
              the elevator if the elevator is located at i and you have                                     
              a goal for i+2. He also specifies the wanted action (the                                      
              requests from floors). He is now of the opinion that he                                       
              has first version solution.                                                                   
                                                                                                            
01:08         Expresses some worries about marginal conditions. He is     Concurrency        Reflecting     
              worried about aspects of concurrency because he is not                                        
              sure whether the system will cover all aspects of moving                                      
              people between floors. Starts to simulate what should                                         
              happen when a person wants to go from one floor to                                            
              another.                                                                                      
                                                                                                            
01:09         Says that the above outlined actions could be considerd                                       
              at machine code level.                                                                        
                                                                                                            
01:09         Observer asks him on aspects of synchronization and                                           
              processes                                                                                     
                                                                                                            
01:10         Expresses that the actions all express aspects of           Concurrency        Reflecting     
              synchronization. The two sides of the equation              Synchronization                   
              co-excludes one another. The attributes on each side of     Platform                          
              the equation are subject to real concurrency. When the                                        
              system is running he does not have to woory about aspects                                     
              of concurrency; this is taken care of by the paradigm. He                                     
              also says that the price you have to pay for this is that                                     
              if the system has more goals it tries to satisfy them                                         
              all. States once more that he assumes that the underlying                                     
              hardware take care of turning off the light in the push                                       
              buttons.                                                                                      
                                                                                                            
01:13         States that he is not quite able to perceive whether his    Concurrency        Explaining     
              solution will display the right kind of behaviour. Says                                       
              that the aspect of mutual exclusion gives the peal of                                         
              sequencing and thereby he is able to determine or decide                                      
              in which direction the elevator should move. It is                                            
              difficult to perceive the dynamics of such a system.                                          
                                                                                                            
01:16         Starts to look at the problem of having more than one       Synchronization    Specifying     
              elevator service a request. Expresses that the focus is                        Explaining     
              now on synchronization between elevators. He discovers a                                      
              problem when an elevator has requests for both going up                                       
              and down and you want to choose the nearest one. That is                                      
              messy.                                                                                        
                                                                                                            
01:20         States that he is trying to solve two problems. First, he                      Explaining     
              wants to avoid that more elevators satisfy the same goal.                                     
              Second, he wants the elevators to satisfy the nearest                                         
              goal. Realizes that this has to be done at the meta level.                                    
                                                                                                            
01:23         Says that it is difficult to express these things because                      Specifying     
              even though that you have some goals, you do not know                                         
              when it is going to happen. So his specific problem is                                        
              that if one elevator is going to satisfy a goal then                                          
              others do not have to satisfy the same goal. This is                                          
              difficult. Tries to specify this fact at the buttom of                                        
              paper sheet #3. Argues that this is maybe only possible                                       
              at the meta level.                                                                            
                                                                                                            
01:28         States that his head hurts.                                                                   
                                                                                                            
01:29         Observer asks him on aspects of processes.                                                    
                                                                                                            
01:30         Regarding the elevator proces he states that he could       Proces Interrupt   Reflecting     
              argue for an solution with interrupts or polling.           Polling                           
              However, he stresses that certain safety aspects of an                                        
              elevator system would not be controlled by electronic                                         
              devices but with mechanical devices or that is at least                                       
              what he thinks.                                                                               
                                                                                                            
01:31  #4     Starts to specify the proces for elevator processor. This   Processor          Specifying     
              includes the action for the motor and the doors.                                              
                                                                                                            
01:33         States that it might seems that he is getting over the      Synchronization    Explaining     
              problem easily, but he stresses that he is sitting on a                                       
              pure synchronization machine which solves a lot of his                                        
              problems. All that he has to do is to write down the                                          
              conditions that have to hold during execution. An action                                      
              in his paradigm is considered to be going from one state                                      
              to another co-excluded state. But the problem with the                                        
              satisfying of goals by all elevators can not be easily                                        
              solved.                                                                                       
                                                                                                            
01:35         He stresses that the system in its current shape will try   Commitment         Explaining     
              to service all goals. Eventually all requests from          Starvation                        
              elevators and floors will then be serviced. He is           Distribution                      
              absolutely certain that starvation will not occur in his                                      
              solution. The aspect of commitment of request does not                                        
              work with the idea of distribution and it is not                                              
              supported by his paradigm. All actors are united in                                           
              achieving a goal. This causes problems in this particular                                     
              task.                                                                                         
                                                                                                            
01:36         Observer asks him on processes and communication                                              
                                                                                                            
01:37         Stresses that this is a difficult question. On a            Proces             Reflecting     
              conceptual basis all his sensors and actions will be                                          
              considered as processes and the push buttons are the ones                                     
              that initiate goals in the system. Based on these lower                                       
              level processes one is able to identify processes at a                                        
              higher level (e.g. the meta level).                                                           
                                                                                                            
01:40         Compares the distributed systems with an ants' nest.        Proces             Reflecting     
              Finding the processes here are difficult. At the lowest     Distribution                      
              level the ants are the processes, but then you have no                                        
              informtion on how the nest was build. He stresses that                                        
              the processes found in a system are created upon the view                                     
              of the system. Again he points out that his approach to                                       
              this task may disappoint the observer.                                                        
                                                                                                            
01:42         The foundation for his system is a distributed and global   Distribution       Explaining     
              storage. So if one entity wants some information from       Communication                     
              another it has to communicate with that entity. But         Centralization                    
              accoding to him this is more a problem for the                                                
              implementation. Talks informally about centralization and                                     
              decentralization and the reliability involved in                                              
              different solutions.                                                                          
                                                                                                            
01:45         He finds that there is no need for a processor at each      Processor                         
              floor. There is only a need for communication between       Communication                     
              floors. The core of the system is the movement of                                             
              elevators.                                                                                    
                                                                                                            
01:46         Stresses that he has no doubt that he could incorporate                                       
              the aspect of having just one elevator service a request                                      
              from a floor. But this will do some damage to his overall                                     
              design. However, he is aware of the fact that this should                                     
              be solved in a real solution.                                                                 
                                                                                                            
01:47         Tries to solve it on the bottom of paper sheet #3 and                          Specifying     
              later on paper sheet #4. The action says that if one                                          
              elevator service a request then the other one does not.                                       
              He also tries to write the general action down.                                               
                                                                                                            
01:52         Outlines the meta level solution of the commitment. He                                        
              has solved it by saying that all elevators have a copy of                                     
              the requests and thereby the elevators can say I will                                         
              take this one.