Understanding the Purpose of Xalgo

A functional Internet of Rules (IoR) requires a globally consistent and unambiguous method for expressing computational algorithms.

Various XML specifications are already well-developed for functional rules of commerce such as BRMLRuleML, LegalRuleML, Tax XML, and others. These are necessary but not sufficient for rule automation. Each of these still requires application environments to function. Conventionally organizations and individuals would need to commit to special-purpose applications. Building upon the work others have already done, the Xalgorithms community offers a generalized platform-agnostic way for rules to be published, fetched and executed on the Internet by any application, and by any user.

Xalgo is a domain-specific implementation of generic tables, and generic operators on tables, which can make use of any of the semantically coded data from the above-mentioned specifications. Such table-driven design for the expression of rules is universally compatible with any programming language and computing platform because it decouples the control variables and parameters (i.e. the rules) tables from any procedural logic of any programming code. Applications are easier to understand when stripped of the conditional logic inherent in rules.

Each rule expressed in Xalgo is composed of tables and series of operations on tables. The operators are expressed in the language-independent JSON (JavaScript Object Notation) which numerous programming languages can generate and parse. Moreover, the use of JSON in any Xalgo-expressed rule can be auto-replaced with any other functionally equivalent expression if required for operation within any particular host environment. Xalgo is line-oriented. Each line in a program represents a single, atomic operation on a table or the context in which the program is run. It includes the ability to specify expectations and outputs of the program.

And while Xalgorithms Alliance provides the free/libre/open source Lichen component for fetching Xalgo-expressed rules from an IoR, and for parsing them and presenting results to users, Lichen can also be dispensed with. Any application alternatively be set up to interact natively with Xalgo-expressed rules. This degree of minimalism and modularity results in a truly flexible platform-agnostic path to IoR deployment, and it facilitates rapid uptake by programmers from any background. A technical reference on Xalgo, with examples, is maintained on Github.

Rules expressed in Xalgo bring minimal risk to distributed applications because no executable code is being delivered. Furthermore, Xalgo is intentionally very limited in the scope of its permitted expressibility in order to minimize its potential as a vector for malware. This expressive limitation results in it defaulting to a narrow “white-listing” security premise (only these things), versus the need for a “black-listing” approach (everything but these things) that is inherently required by SQL and other highly expressive languages. Table-oriented expression of rules in Xalgo promotes shareability, reusability and an overall reduction of executable code, resulting in more secure and yet more flexible systems. It is compatible with any computational environment.

The principles of table-driven design are not new. They were originally developed and implemented in some software systems in the 1950’s and 60’s. However this approach to programming was not widely adopted in the past 50 years because the narrowly competitive landscape did not prioritize modularity for cross-platform interoperabilty. Yet it is precisely these qualities make the table-oriented expression of algorithms ideal for a universal Internet of Rules. Tables are concise, structured representations of relationships. They specify how to transform information of one kind into information of another kind. Most computable systems can readily be described by and implemented through the use of tables. In recent years various platforms have implemented “dataframes” (Pandas; R; Spark). The method is essentially the same: operations that are performed on tables are discrete, standardized and simple. By shifting rule complexity to external tables, each rule can be operationalized directly from its business specifications, and benefit from simpler centralized maintenance. Extracting an individual rule involves locating and scanning the appropriate table.

Most computational rules used in commerce have their formal legal expressions only in natural language, in non-computational documents that are the electronic equivalent of paper. Xalgo is a generalized means of expressing any of the computable functions of legislation, regulations, policies, standards and agreements. Official fiscal instruments, standards, and regulations could in the near future come with an attached ‘schedule’ containing any relevant computational tables under free/libre/open or public domain terms. Legal authorities could treat validated table-oriented algorithms as de jure official translations for the automated deployment of computational rules of commerce.


Pin It on Pinterest

Share This