Project Description

In software development we know many programming paradigms like structured programming, object-oriented programming and so on (http://en.wikipedia.org/wiki/Programming_paradigm). One of these paradigms is the flow-based programming (FBP) (http://en.wikipedia.org/wiki/Flow-based_programming) and a special variation of it is called event-based-components (EBC).

You can find further information about the basic concept here: http://geekswithblogs.net/theArchitectsNapkin/archive/2011/03/19/flow-design-cheat-sheet-ndash-part-i-notation.aspx

Simply explained, this concept means that software should be designed as small function units. Data flows from unit to unit by events. If you are interested in more information you will find some “mind openers” in the following articles:

http://en.wikipedia.org/wiki/Flow-based_programming
http://en.wikipedia.org/wiki/Dataflow_programming
http://event-based.org/link-collection/index.html
http://geekswithblogs.net/theArchitectsNapkin/category/11899.aspx
http://de.wikipedia.org/wiki/Ereignisgesteuerte_Architektur
http://clean-code-advisors.com/ressourcen/flow-design-ressourcen (German)

In principle, C# supports event based programming. However, the usability is a little bit complicated. Therefore, there are some efforts to simplify the usage. Here are two possibilities:

Event-Based Component Tooling: http://ebclang.codeplex.com/
Flow Execution Engine NPantaRhei: http://geekswithblogs.net/theArchitectsNapkin/archive/2012/04/27/introduction-to-the-flow-execution-engine-npantarhei.aspx

After initial skepticism, this way of software development fascinated me but the implementation results didn’t impress me (maybe baseless). In my opinion, the success of EBC (and any other concept) depends on the usability of the implementation. This issue motivated me to develop my own implementation of tooling.

Documentation

"Real Live" Applications using the AppBuilder

AppDesigner

AB3.AppDesigner.MapPresentFlow.75.02.png
(included in downloads)

Party DJ Player

DJP.png
(See: https://djp.codeplex.com/)

Alarm Clock Sample

AB3.AlarmClockSample.png
(included in downloads)

ChangeLog

Last edited Feb 24 at 9:17 AM by InneHo, version 25