User Tools

Site Tools


principles:breakthrough

Breakthrough

On this page, we will answer the four questions asked on Origin:

  • How a small team can make big applications?
  • How can we create software without bugs and in simpler way?
  • How can we use standard tools to enable new and clear opportunities?
  • Is it possible to add a new functionality to a piece of software without thinking of existing ones ?

The key

Only the three classes (defined in Principles) make the difference:

  1. The EvenDoor as a driver or Procedural IO interface generates Data from or to the “Room” of the Evenja paradigm.
  2. The EvenPrg is the “method” called in a Dataflow way.
  3. The EvenBoard adds a notion of Space and Time which allow to merge data. Pieces of data are merged without specific “procedures”, but by using a link value.

The last point if the BIG BREAKTHROUGH with respect to other ways of doing software, in which there are a procedure and a pre-coded data flow that make the link between two pieces of data.

With Evenja, only data, i.e. what they represent, when and where they are (in Evenja's abstraction of space and time) will produce the next step of the software.

This is done by EvenBoard, which reads the link value of the data he receives, and following basic rules produces the new data and therefore allows the program to move on to the next step, without any specific procedure.

LinkValue

The link value is a specific value inside each independent piece of data, which define the data at a given moment and a given place (again, in Evenja's abstraction of space and time).

E.g. a link value can be a Name or City field value. So when two pieces of data with the same link value arrive in a given EvenBoard, then they will be merged and an action selected.

Action

Action is an Evenja structural task on the data.

Exemple of Actions (leader & follower) :

Data A Data B Where they go
leader leader The last arrived destination
leader follower Data A destination
follower leader Data B destination
folloer follower The last arrived destination

Why a breakthrought ?

Evenja's principle is so simple: When Data A, defined by a link value and its physical location at a given time, meets Data B, also defined by a link value and its physical location at a given time (which are actually the same as for Data A), and produces new data.

So the Evenja paradigm uses:

  1. Procedures for IO in the EvenDoor class inheritors, which convert internal Evenja data (EvenData) from or to arbitrary data formats found in the outside world.
  2. Dataflow behavior in the EvenPrg class inheritors, which modify, split or test (if) values without having to care about data structure.
  3. EvenBoard class inheritance, to merge data using only their own content (link value) and define an action

SO THE BREAKTHROUGH IS

8-o 8-o THE DATA'S “USE-CASE” DEFINED IN EVENJA'S WAY IS THE SOFTWARE LOL LOL

Why a headache ?

The only problem you will have to solve is your headache, because there are a lot of small differences in the way developers build their software.

Fabian J. Padilla used the Evenja paradigm from 1992 to 1998 without knowing it. He discovered the paradigm when he built hotline statistics generators in three days, installed new functionalities the fourth day and then thought about it the fifth: he realized that he could add something complex in existing and running code without much work. It took three months with a big headache to understand what and why this was possible, and admit that it was working well… 15 clients had such a system installed and working.

So the answer to the first four questions are :

  • How a small team can make big applications ? By adding a new functionnality in such a way that it does not interfere with existing ones. So adding a tested functionality can be done by only one person. Then a ten people team can add ten tested functionalities everyday… without bugs.
  • How can we create software without bugs and in simpler way ? If the data's “use-case” is the software, then no complex analysis is required at all… and no major release either.
  • How can we use standard tools to enable new and clear opportunities ? Evenja paradigm is an OOP Library, so every OOP language can build software with Evenja paradigm (Java, C++, C#, …).
  • Is it possible to add a new functionality to a piece of software without thinking of existing ones ? Evenja does that and much more.

m( 8-o :-/ :-( FIXME m( 8-o :-/ :-( FIXME m( 8-o :-/ :-( FIXME m( 8-o :-/ :-( FIXME

If you have a headache, it is normal, it is the evidence that Evenja is a new Software Paradigm.

But then you will think: “Why did I not see softwares this way before?” as Evenja is so simple.

LOL LOL LOL LOL LOL LOL LOL LOL LOL LOL LOL LOL LOL LOL LOL LOL LOL LOL LOL LOL LOL LOL LOL LOL LOL LOL LOL LOL LOL LOL LOL LOL LOL LOL

principles/breakthrough.txt · Last modified: 2022/02/21 23:34 (external edit)