Ulterior Logic


Home · Technology · Products · Documentation · Support · Contact

Technology Overview of the Complete System

The Tools allow creating software systems from a model, working at a level of abstraction higher than that of individual programming languages. The model itself may be created from scratch, or may be extracted from existing software. There are facilities, also, for model editing and adjustment.

Goals

This is not a new concept: we're not the first to do it. However, previous products by others have had two material shortcomings: They have been very expensive, and they have supported only a small number of platforms. (Often, this is because the vendors only want to support users of their other software and hardware products. We admit to biases and preferences, but we aren't making money from anything else, so we're indifferent as far as that goes.) We aim to create an inexpensive system which will support a wide variety of platforms.

The end goal, which we realize may never be completely attainable — certainly in any short time — is to create and to maintain software without requiring any code to be written. We'd like to go so far as to allow non-programmers, in some situations, to create software, but that probably won't happen right away. As much as we see enormous effort being wasted writing and maintaining code, it remains true that non-programmers often have a difficult time describing what they want. That's not going to change. Programmers aren't going to be out of work any time soon. For the foreseeable future, we will be content to create a kind of “programmer's assistant”.

Main Components

There are two levels of components in the Toolset: the model level, and the programming language level. They overlap to some extent, because they are linked by the Pangloss source files. Panglosss is a common component, which ties the two levels together.

The main components of the Toolset are related as shown in the following diagram. The arrows represent important data flow directions.

diagram showing components of pangloss-based language translator

Pangloss™ is a Lisp-based language which tries to represent the semantics (but not the syntax) of a variety of other programming languages. Pangloss and additional, related components are described on a separate page; those constitute the lower, programming level layer of the Toolset.

The main model level layer components are:

Because the Toolset is agnostic with regard to the ultimate programming environment, as long as suitable compilers and transcoders exist, the model developer or user need not be concerned, for the most part, with the specific platform to be used for deployment. Moreover, because the Toolset is built using itself, it will run on a variety of platforms.


©2017 Ulterior Logic. Pangloss™ and Coyotemath™ are trademarks of Ulterior Logic.