Priority Concept
Back Home Main Next  

Home News Links Search Feedback Software Elements
Researches AOP Degeneracy GTODE Implementations Optimum Download

AOP

Paper-1
TOC-1

Tables
Figures
Computer
Symbols
Researches

Degeneracy

Paper-1
Paper-2
Paper-3
Paper-4
Researches

GTODE

Paper-1
Paper-2
Paper-3
Paper-4
Researches

 

Contents Events, Events Control & Management, Processing of Parallel Events, Digital Systems and Digital Events, Priority Concept, Priority Convention, Priority Principle, Priority-Assignment
See also TOC, Design
Abstract Introduction Priority Unary Prioritors Operations
TAS Theorems Orthogonal Expansion Image-Scaling Degeneracy
Design Derive  AOP Versus Tables Figures Proofs
Computer Bibliography        

2- PRIORITY CONCEPT AND PRINCIPLE 

Events

Our world is composed of events. Every thing in our world is an event. A new born child is an event, a moving car is an event, rain is an event, colors are events, traffic is a group of events, our decisions are events and so on. Our world has continuous and none ending series of events. Once an event ends another one starts. When we try to monitor all the events in our world we will see a flow of events. Stand by an entrance of a hospital and try to monitor the flow of incoming and out coming events. 

Events Control and Management

There are events that we can control or should be able to control and there are others that we cannot control. The movement of Earth around itself is a none-controlled event that is why we cannot stop it. The death of a person is a none-controlled event, which we cannot stop. Turning OFF or ON a light set is a controlled event. The flow of incoming and out coming events in hospital cannot be controlled but has to be well managed. Events management is part of ourlives that has to be done. There are events in ourlives that we should manage and not ignore. Eating, drinking, sleeping, reading, moving ..etc are our daily events that we have to manage. When we get sick our bodies have events going inside them and we have to manage them. We have to go to a doctor and see how to put a limit to the vast events of growing bacteria for example. A hospital manager has to manage incoming cases and he cannot ignore them. A web server has to manage incoming requests of information. A digital component has to manage its input signals. 

How do we manage events? Assume we are in a hospital and we received three cases: a dying person as a result of an accident, a sick person with toothache, and an injured person with a broken arm. How can we handle these three cases (events). The best solution to manage them is to treat them simultaneously. But what about if we have limited resources to the point where we have to manage each case one at a time. With which case should we start? It is obvious for us that the dying person has to receive the first priority in treatment, the person with a broken arm has to receive the second priority in treatment, and the person with toothache has to receive last priority in treatment. In handling these events, we are naturally programmed to issue the right priority for treating each person. 

Processing of Parallel Events

Due to the limited resources and due to the nature of a given system, there has to be a sequential process to manage the flow of events. It is a process where the system has to pick one event at a time for processing based on a priority-scheme. For example, due to limited resources or efficient use of resources a company with 1000 employees cannot offer a printer for each one. Each person has to submit his print materials the system, which will manage them and send them to a common printer. Management here may be prioritized based on first-come-first serve basis, or may be prioritized based on the requesting person, or may be based on the nature of the text to be printed. No matter what is to happen, there has to be a priority-scheme by which the managing system is going batch the job of each person. Another example on the nature of a given system is found in ourselves. We cannot sleep, eat, walk, and drink at the same time, such events has to be prioritized and sequentially handled one at time. One person might choose to sleep first then weak up to eat a breakfast and then walk to work. Another one may walk to a restaurant, eat there and then go back to sleep. Another one may eat at work and then walk home to sleep. .

In summary, we always face parallel events that occur at the same time. At some point in time, these parallel events are to be processed sequentially by a processing system that takes each event one at a time until it processes all of them. The picking process depends on the events and on how the system is programmed to handle them. To program the processing system, we use the concepts of priority to give each event a distinct priority that determines its processing order by the processing system. Based on a priority assignment and a priority convention, the processing system determines how to process these events sequentially.

            For example, we imply the concept of priority in traffic controlΎ signs: green (go), red (stop), and yellow (slow down for a stop). The vehicles arrive at the same time from different directions to a collective point (parallel events). The traffic signs (processing system) at the collective point give each direction a priority signal to handle its events. The direction that receives the green light (priority to pass by convention) allows its events (vehicles) to flow in the system structure (streets). The direction that receives the red light (priority to stop by convention) puts its events in that direction to stand by.

Another example is found with microprocessors in computers. A microprocessor, at some point in time, receives parallel interrupts (events), which require processing. The microprocessor, by software or hardware means, determines which interrupt should be first acknowledged for processing based on the priority of each interrupt.

Digital Systems and Digital Events

            In digital systems, there are components that process data represented by parallel digital signals. The components are the processing systems and the data signals are the parallel events. In this case, we can apply the priority concept, as seen in the traffic example and others, to digital systems and develop a mathematical system that can describe any digital system and predicts the behavior of its components. To develop such a mathematical system, we will treat digital signals (events) as variables, processing systems (processors) as operators (mathematical operations) and signals levels as states or logical-values (digits). The mathematical system that will be developed in this paper based on the priority concept is called “The algebra of priority (AOP)” in an analogy to “The Algebra of logic”. 

AOP describe a multiple-valued digital system, with “z” states (logical values), based on the priority concept. In AOP, we refer to these states (logical values) by '0', '1', .., up to 'z-1' . The set {0, 1, …, z-1} is called the states-set or logic-set and each entry in the set is referred to as a “state” or "logical-value" or "digit".  Therefore, the variables in AOP are logical variables and may take on any value in the logic-set. The number of logical-values in the logic-set is limited by the system radix and all of its logical-values are ordered and distinct.

Priority Concept

The logic concept is the keystone behind Boolean algebra. In a similar way, the priority concept is the keystone behind AOP.  It is a universal and a natural concept that I did not create nor discovered but rather used.  From the aforementioned introduction, we can verbalize the priority concept in a standard statement as stated in Definition-2.1.

Definition-2.1 Priority Concept: In a processing environment, the event with the highest priority in a group of events and distinct priorities will be acknowledged first by the environment processing system.

Assume we have “n” digital signals that run through an n-line data bus to a digital component in a z-radix digital system where each line is represented by an independent variable. This gives us “n” independent variables. Now assume the bus carried “n” signals to the digital component. These “n” signals are parallel events that reached the component at the same time (in theory). Assume now the component is going to process all of these events according to the priority concept by allowing the event with the highest priority to pass throughout its output based on a priority assignment determined by the logical-values of the signals. This requires from us to assign a distinct priority for each logical-value in the logic-set. Since the logic-set has “z” logical values, then there are “z” distinct priorities needed to represent these logical values. The set of these distinct priorities is called the priority set and is defined to be {0, 1, 2, 3, ..., z-1} where each digit in the set is called a priority or a priority-value. The assignment of distinct priorities to the logical values of the logic-set or vice versa is called a priority-assignment. By convention, we will assume the order of priorities to be the numerical order of the priority values. That is, the priority with the least value represents the least priority and the priority with the highest value represents the highest priority. This statement is standardized in Definition-2.2. From this definition, the ‘0’ priority represents the least priority and the “z-1” represents the highest priority.

Priority Convention

Definition-2.2 Priority Convention: The order of priorities is defined to be the numerical order of the priority-values. That is, the priority-value with the least value is the least priority and the priority-value with the highest value is the highest priority.

Example-2.1 On Priority Convention: In our traffic example we have three (z=3) logical values 'Red', 'Green', and 'Yellow'. Based on the priority convention of Definition 2.2, the priority of the 'Green' logical value is '2', the priority of the 'Yellow' logical-value is '1', and the priority of the 'Red' logical value is '0'. The highest priority value is '2', thus the 'Green' logical value has the highest priority. The least priority is '0', thus the 'Red' logical value has the least priority.

Example-2.2 On Priority Convention: In the quaternary system, assume the priority of each digit is defined as follows: the "1" digit has the first priority, the "3" digit has the second priority, the "0" digit has the third priority and the "2" digit has the fourth priority. From this assumption, we see that the ‘1’ digit must have the highest priority and the ‘2’ digit must have the least priority. According to the priority convention of Definition-2.2, the ‘1’ digit has a priority of “3”, the “3” digit has a priority of “2”, the ‘0’ digit has a priority of “1” and the ‘2’ digit has a priority of “0”.

Priority Principle

            At this point we need to translate the priority concept into a statement relevant to digital systems called a "priority principle" as defined in Definition-2.3. 

Definition-2.3 Priority Principle: The priority principle states that “in a priority based digital system, the digital event with the highest priority in a group of digital events and distinct priorities will be acknowledged first by the processing system according to a given priority-assignment which assigns a distinct priority for each logical value in the logic-set of a z-radix digital system”.

Priority Assignment

The priority assignment is a program by which the system will manage the processing order of its events.

Example-2.3 On Priority-assignment: In the quaternary digital system, we can assign a priority of 0 for the '2' logical value; 3 for the '1' logical value; 2 for the '3' logical value; 1 for the '0' logical value. Under this assignment, the logical-value "1" has the highest priority, the logical-value "3" has a less priority than the logical-value "1", the logical-value "0" has a less priority than the logical-value "3" and the logical-value "2" has a less priority than the logical-value "0".

AOP expresses the priority-assignment in a code called the "priority s-code" or "priority-assignment s-code" as defined by Definition-2.4.

Definition 2.4 Priority-Assignment Code 

The priority-assignment code lists the 'z' distinct logical-values in a number prefixed with "zS" so that the position of each logical-value from right (counting from zero) in that number is its priority.

Example-2.4 On Priority Assignment: The s-code for the priority-assignment defined by Example-2.2 is written as 4S1302. The prefix is "4S" and the priority assignment is “1302”. In this priority assignment: the "2" is the first digit from right with position "0" (counting from 0) the "0" is the second digit from right with position '1', the "3" is the third digit from right with position '2', and the "1" is the fourth digit from right with position '3'. The position of each digit is the priority of that digit. Thus, the "2" has a '0' priority; the "0" has a '1' priority; the "3" has a '2' priority and the "1" has a '3' priority. In a similar way, the s-code for the priority-assignment defined by Example-2.1 is written as 3S210.

            In the s-code of the priority-assignment, the position of a digit reflects its priority relative to the other digits. Each digit has a higher priority than any other digit to its right and a less priority than any other digit to its left. Therefore, the least significant digit (the first digit from right) has the least priority of "0" and the most significant digit (the first digit from left) has the highest priority of 'z-1'.

            Before we move to the next section to continue to use the priority principle to derive the binary operators of AOP, which are called prioritors, we have to stop at this stage and consider important and essential operations as a background to the section.

Back Home Main Next

Webmaster tech@50megs.com with questions or comments about this web site.
General Information: abumsamh@emirates.net.ae
Copyright © 2000 GTODE on Internet
Designed by: R. K. Abu-Msameh
Last modified: February 18, 2001

IEEE International Symposium MVL

Logic Technical Committee

MVL  International Journal.