The main idea of GraphicalProgrammingLanguage.Expression.Logic, the logic expression edition of graphical programming language, is to design common logic expression in graphical mode, for who focus on designing. Most people wouldn't write a logic expression with three or more operators because it is more hard to tell relations of them which maybe in one or more stright lines. It is possible to break them into some smaller pieces, it is correct, and it is focus on designing. We will also focus on designing in some other ways, the GPL.Expression.Logic is the one of them.
It is all about designing, only the good design will lead to the good result, we are always finding any possibility to make better design. When the condition becomes more complex, we want some tools to help us to figure out our idears of solutions in more exact and visualize way, UML and something like that are some kind of that. It's likely to tell us graphics can help to reduce the complexity, hightlight somewhere or using another thinking manner. With graphical mode, solution will becomes more smaller ones, people can fix attention on certain problem and increase correctness more enjoyably. GPL.Expression.Logic is for designing logic expressions, and finally output the common expression string, which is shown in a window by default. It allow programmers to use symbols like operators of their own, and access the output in their logic, eg: post it to database server. So it allow anyone to write templates for database fields in xml file who understands database and xml, and also suit for any logic expression related solution if the interface is compatible. It also let users to load templates in real time, including saving and loading their own design scene, which is also written in xml and can be posted to web servers. This edition is base on web page technology. Because of the development environment, this edition is for MSIE7 only, other browsers support should be developed by yourself.
The essential idea of GPL.Expression.Logic is graphical programming, the logic expression edition is the first edition of it. The goal is a complete set of tools to write code in graphical mode with focusing on design, that the output can be compiled to popular format for runtime efficiency or other purpose. The direction is always clear, the next step of text symbol is graph, not just assistant but can be compiled. Further more, with graphical mode, code not just in font and color, it will become objects in any graphic form with multimedia. Think about that: the definition of a variable will be in cartoon style or illumination style, and hopefully without making confuse. Before that, it is required to transplant the code to .net platform from the web page one first.
There is the core in GPL.Expression.Logic, which I call it relation oriented, the grid language. The idea is that each code element depend on some others and/or is depended by, just like the arithmetic of logic expression elements. The GPL.Expression.Logic language is just the relation oriented language in graphical mode, the non-graphical mode is Hobug.Language.Grid.Construction.Expression.Logic. In the code of both two, the basic elements without relation oriented behavior are also widely used. They are base on the framework of Hobug.Language.JavaScript.Prototype.BaseObject.Grid, which make the use of grid behavior in unified and ease model. It is another way to design the work flow. The grid language will remove the borderline of synchronization and asynchronism method, it treats everything asynchronism in fact. The idea is to establish relations between certian elements of depend and depended behaviors, waiting for the active status that all the dependency elements actived just like in asynchronism method, which will notice the elements that depend on that one later, which is an event that with one unified handler. In traditional solution, if you make a block of code asynchronism, it is always required to make a call back function, it will be not a problem when there is only one place to provide this only-one big call-back interface method. But what about the extreme situation that each element is of asynchronism behavior? Maybe make everything asynchronism with the support of low level framework platform is needed. This product is also the examination of using relation oriented ideology, and a simple asynchronous instance object is also passed in a test that the code of instance is load asynchronous in real time. And the basic type like string type is also obtain the grid behavior in some way in the examination. That is the work flow behind the graph scene.
Further more, the framework this product bases on make jscript more object oriented which allow prototype inheritance that make things possible. It is right that more deep in jscript, it is more difficult to transplant to other platforms, but it does not change the meaning of code itself, so it is still possible. The framework can also be used to build other common web applications, with globalization, gui template, gui control supported. And the author of the framework is the author of GPL.Expression.Logic also. And there is an older version of GPL.Expression.Logic by the same author which is written about two years ago.
For more infomation, download the package (GPL.Expression.Logic) in http://sourceforge.net/projects/gpl-exp-logic/, and view /docs/index.html in the package.