Tersus

Tersus Visual Programming Platform is a general purpose software development platform that enables the development of applications, mainly rich web applications, by drawing flow diagrams instead of writing code. It's dual licensed as open-source and proprietary software.

The Tersus Modeling Language is a visual language for defining user interface, client side behavior and server side processing. The language shares many features of dataflow programming languages.

When used for web development, Tersus can be classified as Client Side + Server Side (using AJAX techniques). The modeled applications are executed by the Tersus Server.

Tersus Studio is an IDE, an extension of the Eclipse platform, used by developers (modelers) to graphically define the functionality of applications.

The platform also contains a visual debugging capability. The Tersus Server can record every step during the application’s execution, and this recording ("trace") can then be played back in the Tersus Studio to view the flow of the application and the value of each data element.

Both the Studio and the Server are available on a variety of platforms, including Microsoft Windows, UNIX, Linux, and Mac OS X. The latest stable version of Tersus is version 2.1.31.4, released August 27, 2014.

The Tersus Visual Programming Platform version is published under the GPL v2 license.[1] There's also a Tersus Enterprise Platform version under a commercial license providing additional integration features and support.[2]

Concept

An application is defined by a hierarchy of visual models, where high level models are composed of lower level components. The developer (modeler), employing an “infinite drawing board” that displays graphically the whole model hierarchy, starts at a top-level diagram representing the whole system, and then continues with an iterative top-down refinement process, drilling down from each model to specify its components. At the lowest level, a library of atomic building blocks is used, including, among others, data types, GUI elements, mathematical functions, database actions, and document handling actions.

Processes (and in certain cases also display elements) can receive and send out data through input "slots" ("triggers") and output slots ("exits"). The flow of data between processes, as well as the sequencing of processes, is governed by "flows" (visually represented as arrows connecting model elements).

When developing a web application, the high level models define the application's screen layout and GUI, using "display elements" (text displays, links, buttons, tables, images, etc.). Lower level models define the application's logic, using "data elements" and "process elements".

Architecture

The platform includes:

The Tersus Studio and Tersus Server are implemented in Java, while client side behavior is implemented by Javascript and HTML which are generated by the Tersus Server according to the model.

End-users invoke the applications from their browsers (for web applications), or directly from their mobile devices (e.g. for native iPhone applications).

Features

References

  1. Tersus Licenses
  2. Tersus Enterprise Platform

External links

This article is issued from Wikipedia - version of the Friday, February 13, 2015. The text is available under the Creative Commons Attribution/Share Alike but additional terms may apply for the media files.