Unlike present day languages which directly manipulate data to create a system. The Axon programming language defines a system as a network of different autonomous agents and their interactions. The state of the system is the state of the autonomous agent(s) and its interconnections.
This radical departure leads to language that has no Exception handling and applications that are devoid of data manipulation languages. Improper Exception handling leads to software defects. And improper usage of Data manipulation languages (SQL Injection, etc) leads to vulnerable information systems. Simply removing this reduces the overall defect ratio and increases security of information systems.
Breakthrough nature of this departure from the current programming paradigms makes it possible to create systems that are concurrent. Some of the advantages of this approach is that the programmer can now directly model real world systems directly rather than the current practice of building these concurrent systems from sequential computing paradigm.
All precursors for any new concept is to have it based on a solid mathematical foundation. Our current language models are based on a lambda calculus. It is this foundation of mathematics that made our current algorithmic languages successful. But increasingly, we are moving away from sequential problem solving to problem solving on systems that are based on many interacting software agents. The lambda calculus on which current programming languages are based, does not have the conceptual foundations to deal with the concurrent nature of the new problems being asked to solve.
Due to this movement from sequential to concurrent nature of the problems being solved the language models should be based on new computer science theory. The interactional nature of the processor leads to a language based on mathematics of interaction. Pi calculus, the mathematics of modelling interactions was selected as the mathematical model to define the Axon Programming language.
Information systems of the digital era operate across many separate devices. For e.g., a typical single page web application can be considered to be working across two separate autonomous systems one operating on the client on a web browser or an application on a mobile and the other on the server. They operate independently communicating with each other.
Unlike the web era systems which are served from the server these new applications operate as autonomous peer to peer networks. With IOT this is going to be more prevalent. These new age cloud applications execute by interacting with each other on the network. Presently this application is being manufactured by existing programming paradigms like Java, JavaScript on server, etc.
Axon programming language, with its interaction-based programming paradigm, can directly build these new age cloud applications.
In AXON, all information in the agent is private by default. Connections have to be grown and shared to make it visible. Sharing is achieved by raising a signal, and generating a name (alternatively called a channel), which is stored in the element of name data type. Having possession of this name will give access. The unique thing about the channel is that it can be moved from agent to agent. This way scope of an agent can be moved from agent to agent hence called mobile scope.
In other words, no scope of data leakage to an agent unless there’s a predefined signalling mechanism, that’s as good as privacy can get.
Copyright © 2021 Design by Axon Network