This project is read-only.

AD4.AppDesigner (Generation 4)

Screenshot

AD4.MainWindow.47.16.png
(Showing Feature Complete Version V1 of tutorial)

Introduction

Currently the object oriented programming is the most popular programming concept (See: http://en.wikipedia.org/wiki/Object-oriented_programming). Meanwhile it’s about 30 years old.
(I wonder why this is still in place.) Beyond this concept, however, other possibilities are waiting and ready to share the limelight. One of these alternatives is called flow based programming. This concept is not new! It was developed in the early 70s of the last century by J. Paul Morrison (See: http://en.wikipedia.org/wiki/Flow-based_programming). There are many reasons why this basic concept wasn’t successful until now. In my opinion one of the main reasons is that the usage isn’t as easy as it should be.

A few years ago I saw a presentation about flow design (and especially event base components) at a developer conference. After a phase of skepticism, I was fascinated by this concept. As mentioned before, in my opinion, the success of a concept is based on ease of the usability. Therefore I started doing some research to find tools that help to implement these concepts in "real life" applications and found almost nothing! There were only some designing tools in place and activity diagrams supported by the unified modeling language (UML) (See: http://en.wikipedia.org/wiki/Activity_diagram). These tools, however, are for the design phases only! There’s nothing available to improve the implementation phases. That surprised me because cost reduction of software development, shortening of development time and the agility aspects of software production would profit by these.

That’s why I started the project EBC.AppDesigner (Generation 3) here on codeplex (See: https://ebcappbuilder.codeplex.com/) This project offered the advantage to improve the software development process by using a flow chart directly to run an application. However, it was limited because only event based components could be used.

Afterwards I started to think about a different way to improve the software production process by using the best parts of the EBC.AppDesigner project (the designer, see https://ebcappbuilder.codeplex.com/) and producing real Sourcecode out of a flow description. As an advantage (almost) every piece of code could used to run a flow based software. After some tests now I’m sure that this is possible and the development process can be improved! It’s time to do this!

On this page I publish the software that helps you to design and run flow based programs that are using the Microsoft .NET framework. The user interface is inspired by the previous project (EBC.AppBuilder) and the activity diagrams of UML. You will be able to design software in a visual way (as flow chart), generate source code and to use the result in Microsoft Visual Studio directly.

Roadmap

  • Basic setup steps to build a frame for the whole project. Done
  • Basic flow description text editing including undo and redo. Done
  • Parsing the AD4 file content (App Definition Language 4) and finalizing the specification of the language. Done
  • Generating simple (not optimized) sourcecode from flow description text. Done
  • Generating simple (not optimized) sourcecode for pattern based components too. Done
  • Visualization of the flow description text as chart without editing it by mouse. Done
  • Capability to edit the flow charts directly without text editing. Done
  • Capability to edit the flow charts by mouse in a convenient way. "In Progress"

Important parts of the documentation

Note: You find the latest documentation as pdf within the download section!

Last edited Nov 19, 2015 at 7:43 AM by InneHo, version 33