Introduction to v-agent oriented programming

Let's get acquainted with v-agent oriented programming proposed in 1981 by a programmer from Russia, a graduate of MEPhI, Valery Rakitin.





Attention! Pure theory!

v-agent oriented programming (VAOP) is a programming methodology based on a v-agent script representation of an algorithm that allows a software agent, called v-agent, to perform operations encoded in the v-agent box.





Ideologically v-agent-oriented programming - ensures that the algorithm is written in one place in a form that is understandable to everyone - customers, programmers and the executing environment (computer), which improves the process of interaction between everyone when creating a software product and, which is especially important, significantly reduces costs at the stage of maintaining work and adapting to changes in external conditions in the Future.





The paradox is that we must change in order for everything to remain the same, therefore the main task of v-agent oriented programming is to ensure the immortality of the software product with minimal investment in its constant modernization.





Knowledge of the v-agent-oriented approach to programming will be useful not only for developers who receive money for no matter what methodology the software product is made, but for customers who are left alone for many years with the problems of maintaining the operation of the software product and adapting it to changes in external conditions. Remember that the Future does not come by itself! We program the future skillfully or not skillfully, so you need to create your software using v-agent oriented programming in order for you to have a Future





It sounds vague and not concrete, but without a theory it is impossible, since there is nothing in the world more practical than a good theory.





Why, what and how?

Why do you need v-agent oriented programming?





- , ()





v-agent ?





"v-agent script", - , ()





, v-agent ?





- , () "v-agent script". .





, v-agent , .





-

v-agent .





v-agent ().





, "v-agent script"





  Python

M = [1,2,7,1]
sum = 0
i = 0
while i < len(M):
    sum = sum + M[i]
    i = i + 1
print("\nsum is [" + str(sum) + ']')
print('\nThe End')   

      
      



v-agent (VAOP) Python

actions = {
    "Action_00":{
        "_action_description":{
            "_010":"--> init action",
            "_020":"--> Set array M, i = 0; sum = 0"
        },
        "Direction_10":"Action_10",  "_010":"Done"
    }, 
    "Action_10":{
        "_action_description":{
            "_010":"--> sum = sum + M[i]"
        },
        "Direction_10":"Action_20",  "_010":"Done"
    }, 
    "Action_20":{
        "_action_description":{
            "_010":"--> i = i + 1",
            "_020":"-->if i > len(M) - 1"
        },
        "Direction_10":"Action_END",  "_010":"Yes",
        "Direction_20":"Action_10",  "_020":"No"
    }
}

# init block
M = [1,2,7,1]
sum = 0
i = 0
current_action = "Action_00"
direction = "Direction_10"

while 1 == 1:
    # define next action
    action = actions[current_action][direction]
    previous_action = current_action
    current_action = action    
    print(previous_action,direction,current_action, i, sum)
    print('------------------------')

    if current_action in actions:
        if current_action == "Action_10":
            sum = sum + M[i]  
            direction = "Direction_10" # Done
        if current_action == "Action_20":
            i = i + 1 
            direction = "Direction_20" # No
            if i > len(M) - 1:
                direction = "Direction_10" # Yes
        continue
    break # end of loop where 1 == 1

if current_action.find("END") == 0:
       print("\n\Error: current_action:[" + current_action + "]\n")
if current_action.find("END") != 0:
    print("\nsum is [" + str(sum) + ']')
    print('\nThe End')

      
      



I, Valery Rakitin, the author of this comic, the inventor and popularizer of v-agent oriented programming (VAOP), do not say goodbye to you. For 40 years I have accumulated a rich experience of using VAOP both in data processing and in Web programming and I am ready to share it.








All Articles