Limnor

Limnor is a generic-purpose codeless and visual programming system. The aim is to enable users to create computer software without directly coding in a texture programming language. It can be extended by software developers.

Vision

In the future most people should be able to do computer programming. Visual and codeless programming can be one of possible ways to reach that goal.

When events were added to classes it enabled rapid application development, especially the visual development of graphic user interface. But event handling is still expressed via textual programming languages.

The idea of Limnor codeless programming is to add "Actions" to classes. Adding actions to classes eliminates the need of textual programming languages, making codeless visual general purpose programming possible without sacrificing programming power.

A class in Object-Oriented Programming is defined by properties, methods and events. Now it is enhanced by actions.

Visual programming by "properties, methods, events and actions" can be a fifth-generation programming language.

People expect 5GL to be easy to use, to be visual. There are many excellent visual programming languages and systems available now. One issue is that while each visual programming innovation has its unique advantages in some aspects it also has its limitations in other aspects. If different visual programming systems may work together then developers may take advantages of different systems and avoid the limitations. 5GL may solve the problem by being an abstraction layer for visual programming.

Following criteria may define an abstraction layer for visual programming:

The first criterion requires the layer to have a wide coverage. Most programming languages, such as C/C++, Java, C#, VB, etc., meet this criterion. The first criterion does not restrict each visual programming system to have its own programming elements for unique visual representations.

The second criterion requires the layer to be an abstraction for visual programming and makes it possible for different visual programming systems to work together.

It can be deduced that when designing a 5GL to meet the criteria, such a 5GL should allow decorative expansions by individual visual programming systems. When the 5GL compiles/interprets a program, it ignores those decorative expansions.

Design

An action is defined by Action-Executer, Action-Data, and Action-Condition. An action has an owner which defines the scope of data available for the action.
There are 3 types of actions:

Action data can be a constant, a variable, a method/event parameter, a property of a class/variable/parameter/property, or a math expression.
An Action Condition is a math expression evaluated to a Boolean value.
A math expression is a math formula with its variables linked to constants, properties, variables, parameters, and math expressions.
A math expression must be displayed and edited graphically for codeless and visual programming and for intuitive using of the programming tools. The math expression programming tool must be able to handle math elements and functions developed by third parties to enable unlimited expansions.

Implementation

Limnor Studio is a newer implementation of codeless visual programming by "properties, methods, events and actions".
Limnor Studio implements "properties, methods, events and actions" on Microsoft .Net types. Software is developed by developing classes, just as all object-oriented programming languages do, but it is done visually. Developers derive new classes from existing classes. The existing classes are from .Net libraries made by any companies or individuals, using any programming languages or programming systems, including Limnor Studio. Limnor Studio compiler generates C# source code from visual programming representations. It uses C# compiler to generate the programming results, EXE or DLL files.
A base class for math functions provides a framework for visually display the math expressions in original math expressions in programming instead of texture formation. For example, developers do programming using formula like \sqrt{(x_0-x_1)^2+(y_0-y_1)^2} instead of writing something like Math.sqrt((x0-x1)*(x0-x1)+(y0-y1)*(y0-y1)). A math expression editor may handle math classes derived from the base math class, allowing third parties to develop new math functions to be used visually.
The developers use "action diagram" (flowchart) to form programming logics visually and intuitively.
Visual programming is better done by more than one way. Limnor Studio uses a plug-ins system to allow different visual programming systems to work together. UI designer, which represents classes in UI form and icons, is one visual programming system; object-explorer, which represents classes in tree-views, is another visual programming system. They are totally independent of each other even though they represent and work on the same class being developmented. Other independent visual programming systems can be developed and plugged in by implementing certain interfaces, for example, visual data-flow, visual control-flow, UML, etc.

Features

Limnor Studio Major Features:

External links

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