Academic journal article Journal of Digital Information Management

Froglingo, a Programming Language Empowered by a Total-Recursive-Equivalent Data Model

Academic journal article Journal of Digital Information Management

Froglingo, a Programming Language Empowered by a Total-Recursive-Equivalent Data Model

Article excerpt

1. Introduction

Many database applications were written in programming languages in the 1960s and 1970s, and are still in operation. The use of database management system (DBMS) came to database application software around the 1970s. It significantly improves the productivity in software development and maintenance. The data models, i.e., the mathematical underpinnings of DBMSs, complement programming languages with three essential characteristics: 1) a data model offers set-oriented operations to update and query data, 2) each operation always terminates, and 3) like a data type, a data model is a language homeomorphic to an algebra, i.e., programmers specify what a program is in terms of business requirements, but don't necessarily specify how it will be implemented.

The traditional data models, i.e., the relational data model and the hierarchical data model, cannot express all desired business data. Hierarchical data, for example, can be folded into a relation, but its containment relationships cannot be captured by the relational data model with the expressive power of the relational algebra [3]. Another example would be relationships among the vertices in a directed graph, (e.g., is there a path from A to 6?), which cannot be captured in both the relational data model and the hierarchical data model. As a result, database applications continuously require intense, though relieved, development and maintenance work, which could be avoided if a more expressive data model were realized and leveraged.

The EP (Enterprise-Participant) data model is semantically equivalent to a class of total recursive functions (abbreviated as a total-recursive-equivalent data model in this paper) [25]. The equivalence says that programmers are not allowed to construct an application program that may not terminate on an input. At the same time, it says mathematically that any meaningful application programs, i.e., those with the semantics falling into the class of total recursive functions, could be expressed in the EP data model with the hypothesis of infinite space and time.

The EP data model is a data model because it possesses the three above-mentioned essential characteristics. To demonstrate the significance of the EP data model being both a data model and a language semantically equivalent to a class of total recursive functions, the authors of the articles [27 and 23] suggested an objective view on easiness. This view contends that: 1) a data model is easier to use than a programming language in the development and maintenance of those applications expressible in the data model, 2) if one data model is more expressive than another data model, the former is easier than the latter in the development and maintenance of the applications where a programming language is involved, and 3) a programming language, by incorporating with a total-recursive-equivalent data model, is the easiest to use in software development and maintenance. In these articles, Froglingo, incorporated with the EP data model with an implementation [28], was therefore determined to be the easiest programming language. Calling Froglingo the easiest programming language to use has the following practical implications: 1) Froglingo is a monolith that consolidates multiple software components of traditional software architecture [26], 2) The EP data model is a consistent tool to manage as much finite data as a business application needs [25 and 27], and 3) The EP data model arranges business data in a manner such that a rich set of built-in operators are available to use [24].

In this paper we press the notion of easiness further with the following contributions:

1. Taking Froglingo as a complete programming language, we examine how it adopts procedural statements of imperative programming languages in conjunction with the EP data model to specify business logic, and provides built-in facilities to interact effectively with users and to communicate with other applications. …

Search by... Author
Show... All Results Primary Sources Peer-reviewed

Oops!

An unknown error has occurred. Please click the button below to reload the page. If the problem persists, please try again in a little while.