The Desire Language Specification.

On this page, we’re going to document the Formula language of Perfect Desire in detail.

We jump right into it, as fast as our Software accelerates when checking a simple option.

Start Simulation today.

See? – the innovation motor has been started, and our Startup engine is now accelerating over time. In this mode, no need to look at any #BigData from past. We use this at times when we understand what we are heading towards, as we’ll get sharper results now. We leave the past behind, start at present, and are just looking forward.

Thank you for going all the way down the road, and finally coming here.

This is the key one page.

And we really, really appreciate it. A reader.

Success is much about heading in the right direction, over time.
In brief, a Formula in System Dynamics could be any kind of mathematical equation.

  • T_TotalIncome = T_DailyIncome * i_WorkDays + i_FixedIncome
  • T_DailyIncome = i_BreadPrice * i_DailySales

Simple mathematical expressions like max(), min(), log(), exp(), and(), or(), ifzero(), and constants like pi, e and Time t are already supported.

You don’t see the point, right? – ok, about every program in the world has got these.

In Perfect Desire, for ease of conceptual understanding, we have limited time, although everyone knows it’s unlimited.

introducing t_max. Total Runtime.

In Desire, we define a simple list of pure mathematical Formula in a single file. In using a variety of (x1, … xn) for our input values, (y1, …, yn) for our target results and, of course, the Time t dependent notations including delay, we describe a 3d diagram over time.

We compile once.

Out comes a Dynamic Application.

So Perfect Desire, in itself, is no business model calculator at all.

See? – the Business Models are just Tutorial, a trick. Nobody needs to know if they’re not really interested. Like all those business people looking out for money, you know. The universal value holder, no sense at all in itself.

So even if they’d arrive on this page by accident, they’re already gone, as they’ve seen there’s no money to earn in this project, and that’s what they are quick at. Traders…

This project, however, is about working as good as you can. It’s about creating something: new things. Nobody should feel bad if they couldn’t do better. Lazy people should feel bad. If you ever tried something, with as much effort as you could, and you failed, you have:  learned.  Perfect!

From superior knowledge, you’re all ready to create unique values now. As new things are all unique selling points. So this page is about the really cool stuff and they will never find out. Don’t tell them, it’s needless. They won’t understand our language. Bitcoiners.

If you read up to here, shake your head, and you think trade units are as well important, ok, you’ve just bypassed the first blocker. We’ve lost the greedy ones by now. So is it possible you maximize net profit in Perfect Desire? – of course. It’s useful at times. In the end, we’re much about individualism and personal freedom, so we leave that up to you.

This software starts reading in a few Business Case declarations into its Engine and from there, it builds two dynamic lists.

1. Input Values. 2. Target Formula.

There is a third thing, likely overlooked, as it seems so small.

Perfect Desire always builds explanatory Tooltips for everything it calculates. Full Transpareny of conceptual description. For every thing we build, they document all formula. See? –

Super easy machine calculations in full transparency. All these are Sharing Economy things

by definition.

A brand new programming language compiler in itself. It’s fast enough that it can compile its dynamic user interface at the time when you’ve started the application and hit OK for the first time, just in time. So what the hell is Perfect Desire, then.

Congratulations, Young Modeler.

Get ready.

SPM_v200_bakery_tutorial_pd
Perfect Desire, v2.04: developing a company seems as complicated as predicting a smallworld.
This page is documenting the underlying formula language. We call it Desire, as it’s very simple and desired. Basically, most of it is a plain Math formula. We translate Targets. Try them out and select the right one to follow.

There’s a small language interpreter, consisting of a Lexer (lexicographical analysis), that is separating characters from spaces. Next, a Parser (identifying any keywords, operators, and a number of PD Input and Target Variables, mainly by keyword table lookup) and a differential equation solver. So the Parser is what really makes this a programming language. It can do Semantic Analysis of our simple language.

At the moment, you can not yet define custom or standalone applications in Perfect Desire, our professional client, yourself.

We’re planning to add this functionality with next major release, v2.0. It should be available from December. Even if it becomes January, 2017. It doesn’t matter. Content is key, and this is a conceptual description. It’s all there.

In v1, you can edit parameter values and development over time in detail, but there’s no way to adjust the calculation models and formula, themselves. So you’re a little limited to what we offer.

Still, in case you’ve seen a formula you’d like to understand better, this page may be useful as well.

Both v1 (Predicted Desire) and v2 (Perfect Desire) of our concept support 3d calculations with Input Values (x), Target Values (y) and Time Axis (t) already supported. We just use a special, split 2d projection (Detail Input: x over t, Result Graph: y over t), as it might still be difficult to view multiple 3d projections on a static 2d screen. Well, well.

With HoloLens coming up on Microsoft’s UWP Horizon (Universal Windows Platform API), we see options. Do you see them? – no need to hurry, we’re more than 4 years ahead. Even if we all got brand new 3d lenses, it’ll need more time to learn to read 3d projections than we need to support it. We support it by concept and keep growing slowly. See? –

it’s not important to support everything. It’s important that you can support the right thing in due time. Learn to look ahead.

That’s why we measure values over time.


Desire  Identifiers. Keywords.

dynamions_logo_48x48

First of all, for calculating formula with Input and Target Values, we need to identify these. In Perfect Desire (P), this is done automatically for you.

We just give a name to a value, like Employees, and give it a starting value: 1. 

Now Perfect Desire will automatically create and show the following ToolTip item:

i_Employees.

pd_docs_i_employees
one of our key most features in Desire v1.0: transparency of calculation.
Should you choose a multi-word label like “Number of Employees”, PD would still automatically create the keyword.

Only the hand-written comment is added by calling a small extra function, at the moment. We’ll make it available in the pro user interface with an editable comment field, so that you can document all extra formulas as well.

Examples.

Title: “Employees” => i_Employees

Title: “Number of Employees” => i_NumberOfEmployees

Title: “Total Numer of PV Panels on your roof” => i_TotalNumberOfPVPanelsOnYourRoof

As it would be a little difficult for our small language interpreter to understand values consisting of multiple words, like:

Installed Capacity = Panel power * Total Number of PV Panels on your roof ^ 2,

PD automatically creates a keyword for each parameter. It consists of all its words, written altogether without spaces, each starting with a capital letter for ease of reading, and a prefix like “i_” (Input Value), “T_” (Target Value) or “S_” (Stock Value). 

So we get:

T_InstalledCapacity = i_PanelPower * i_NumberOfPVPanelsOnYourRoof^2.

So this is a simplification, a tribute. We are making things easier for my Parser here. You have to use these systemic abbreviations in your formula. Because Perfect Desire has to know where the ^2 applies to (roof, or sentence as a whole).

The ^2 is a Tribute to Einstein of course, but it’s not gonna be included in our Photovoltaic System’s SD description model, as it wouldn’t make sense at all. This project is about building realistic machines. Sorry, Albert!

I am sure he will understand.


Reflection in Desire.

dynamic_idea_logo_48x48

Now that it’s understood, our little accelerator can now call the internal Math function of same name. So it replaces the ^2 expression with

Math.pow( x, 2)

the power fuction, which will calculate x^2. And here starts the fun part.

Math.pow() will do the work for us, it’s all there! Floating Point, Double Precision.

No problem at all for us, we already support a powerful function from math. As people at Microsoft have been programming a language, over almost 20 years now, that will do the remaining calculation. C#. 

Now you understand that Predicted Desire, our first ever product, was just a proof of concept.

It’s a cross-compiler from Desire to C#, and we are showing it to everyone all the time. Why did you think it takes a while to start a new model? – at this very moment, we compile text strings just-in-time, and our software builds a dynamic application, with all calculations and formula built into it. The ability to change any value over time is part of the standard product. So we add its ComboBox, as well. Pretty easy, actually.

Noone understands.

And from all these people hitting OK buttons, you came by here, today.

dna header - photovoltaic system glass roof
Photoelectric Effect: sun shines on silicium, and a few electrons start moving.
Back to our example. 

dynamions_logo_48x48

As well as being a more compact expression, this notation is also much more easily to interpretate for our Formula Solver, so we automatically create those keywords for you. A keyword in Desire will consist only of letters, so any numbers, braces, and comma in its title will be automatically removed. What remains is a compact expression, easy to remember, easy to translate.

Next, there are Target Values.

Target Values are calculating your results. These are explained in detail in the PD Input and Target Value documentation, so we’ll not repeat that here.

For the time being, just remember that each Target Value will calculate a Formula, and that one may consist of other, simpler Target Values, or a simple calculation of Input Values (e.g. addition, multiplication).

Then, there are also Stock Values, also explained in detail in our docs. In Perfect Desire, a Stock Value is typically based on a single Target Value, and it will simply accumulate all arriving values of that Target over time.

Mathematically spoken, it will calculate the Integral of the underlying Target Value‘s function over time. So every Stock Value describes a simple Differential Equation of first degree. We can do higher orders as well, however, if we overdo it, our little accelerator would slow down, soon. Fortunately, i haven’t been able to think about any useful Differential Equation of higher than 2nd degree that’s easy enough to understand.

In Information Theory, we aren’t much about Integrals and Differential Equations, though. Keep it simple.

a popular programmer slogan.


We are Nerds.

dynamions_logo_48x48

Nerds got a different word for it. Nerds call this kind of funtionality a for loop. So what’s a Stock value, then? It’s a universal accounter. A collection of values, a for loop, expressed in maximum compaction: in a single word. A Stock Value sums up a Target over time. ok!

it’s like a counter for bees. And what do bees do? – they keep collecting honey.

This is not what we are about.

We are Dynamic Applications. We are Sharing Economy.

Oh, by the way. Have you ever seen that movie, the social network? – hm hm.

Success is much about working on something great: on a better concept that also works in reality.
Success is much about working on something great: on a better, but realistic concept.
Don’t worry, if you don’t get it by now, you’ll find out later. Read on.

Facebook!

It’s all about valuating people. What kind of benefit is that? – what a waste, what a crap. It’s so boring! Silver Surfer Stuff. We recommend you leave Facebook today, and join here. We give every human in the world the same value. We don’t give separate values to super heros like Steve Jobs and the old guy from next street and the girl from next door.

In Math:  T_PersonValueAsAWhole = 1. 

So at Dynamic Applications, we believe in every human has their specific benefits and type characteristics, so however you sort them out, there’s advantages and disadvantages with everything. So how can say that Type 1 is always better than Type 2?

That’s what we call arrogant behavior.

With people like that around, no wonder we have so many conflicts in the world.

SocialStylesModel_Belbin_Pp_v2017
Social Styles Model, Belbin’s Team Roles: it’s ok to sort people, just don’t value them as a whole.
Don’t tell them, at Facebook, they’re old. And they know it. They are big, and big organizations become structured, fat, and full of rules. They are saturating.

Old people are getting slow.

This is our advantage.


Desire: Math Constants and Time Delay

dynamic_idea_logo_48x48

pd-constants
Constants in Desire v1.0
We are small, but we’re pretty sure that we got a better culture than Facebook.
Now take a guess on who’s expanding over time.

Ok, so let’s look at how we handle time constraints in Perfect Desire.

There are a few constants that can be used in Desire, like the mathematical constants:

e = 2.7182818… (Euler’s number)
pi = 3.1415926… (Circle constant)

t = the current Time value of the current Simulation Model. It represents the amount of time used up up to now. As Time Unit, we support years, months, weeks, days, hours, minutes, seconds.

t_max = the maximum Time value used in the current Simulation Model.

It represents the Total RunTime of our simulation.

The Time Values t and t_max are mainly used for delays, enclosed in rectangular brackets:

T_LastYearsNetProfit = T_NetProfit[t-1]

T_FiveYearsAgoNetProfit = T_NetProfit[t-5]

The reason to introduce delays is that this way, you can simulate Balanced Scorecards with circular dependencies, like the most attractive business model ever invented:

Success to the Successful.

See Wikipedia on System Dynamics, the section about dynamic archetypes, for more information. Or download PD, our proof of concept client. Just click on Desire. A short introduction in Business Dynamics Management shows up. Click on it, there you go.

sd-pattern-success-to-the-successful
Source: Wikipedia, System Archetypes.
Currently, the only allowed Syntax here is to have an Input or Target Value followed by an opening rectangular bracket, a t, a minus, then a 1 or 2-digit number, and finally a closing rectangular bracket. So [t-1] delivers the last moment in time that we measure.

So T_MyTarget[t-5] returns the starting value of T_MyTarget at t=5. If we measure seconds, this way, we can define a loop in time over 5 seconds. If we measure years, well, oh well, we’re talking about a real company here. A larger one, standard type, you know.

If a T_MyTarget[t-5] expression returns less than zero (0) when applying t-5 (for t=0 … t=4), zero itself is returned in all cases without looking at T_MyTarget, anymore.

So we can’t look past the beginning of our little simulation model, that easily. It starts where it starts.

And this way, we also can’t crash PD as easily. Hm hm.

One important thing to note that at the moment, we don’t support circular dependencies in Perfect Desire. This means that you can specify something like:

T_SuccessProfit = T_Customers * T_ProductsSold * T_PricePerProduct

T_PricePerProduct = T_MaterialCost + T_ProductionCost * T_ProductionTime

T_ProductionCost = T_MachineCost * T_ResearchAndDevelopmentFactor

T_ResearchAndDelopmentFactor = T_SuccessProfit * 0.01

Even when adding additional Input Values, there is no solution for this equation system, as T_SuccessProfit depends on T_PricePerProduct, which depends on T_ProductionCost, which depends on T_ResearchAndDevelopmentFactor, which depends on itself.

So this is not a defect, this is logical and if you have a = 2 * b and  b = a * 0.001, there’s only trivial solutions for this equation system (a=0, b=0), but you can’t calculate anything useful from there.

There’s an exception from this rule in that if we sort every single calculation over time in a sophisticated manner, it could be possible to make above Success formula system work by specifying:

T_ResearchAndDevelopmentFactor = T_SuccessProfit[t-1] * 0.01

So that would mean that you derive your R&D budget from the money in your pockets, which depends on your success from an earlier month. We are targeting to support all kinds of simulations like that. But at the moment, all we are saying is that it may work, already. This kind of loop is officially unsupported (not yet fully supported in all cases). It may work already, so you better verify what it does in detail, which it allows you to.

The background is that – as you can imaging – there are specific complicated cases with time loops, so we support a growing number of detail situations where it works, but i’m not 100% sure it’s complete in every logical formula system inter-dependency that a human mind could construct in theory. Finally, one important thing to consider is that we are not in a Science Fiction scenario here, but in a sophisticated mathematic simulation model environment. This means that we can not access future values, and we can not make time loops where all values are in the present (a = 2 * b , b = 2*a). The only thing that we can support in theory is to support access of past values, so we target to fully support all kinds of delays (a = 2 * b , b = 2 * a[t-1]). We derive this from pure logic, and pure logic explains why the only valid syntax for using the [t] notation is actually

T_InputValue[t-1]  
T_TargetValue[t-1]

where the “1” could also be a 5 or a 15, but if T_MaterialCost[t-15] goes beyond T=0, then this Target will be 0 in the formula. So again, we have to start somewhere, and once we define a start point, we can’t look at values before the start of the simulation, as we have limited time in Dynamic Applications.

Everything before the start of a Dynamic Application simulation (and everything beyond the end of the simulation Time frame) is defined to be 0. Of course, you can help yourself by defining a static constant like I_InitialValue and use that in your simulation, so it’s not a real limitation of what you can do. Just wanted to be clear what is possible and what is not possible, so to keep people from reporting illogical defects (which is hopeless, so this is much about being able to reject such bugs in a friendly way if they are reported. RTFM – Read the friggin’ manual before you report a bug… that you want to have fixed by us for you in due time, for free … believe me, it helps alot if it is possible to fix it in theory, so that your request is not impossible in theory and in practice, altogether, because you are lost in space and nothing makes any sense anymore to you :)

In case you have specific requirements here, and a good example, this is welcome.

Also, if you are lost in space and can’t get this crazy but utterly important simulation to work, just call. We’re going to take a look at it and help you for free, maybe even fix your simulation model for free, or add another clue to our platform for the next release for free, if we can do it in some reasonable amount of time and (most important) the solution will make a lot of sense to everyone else and will be easy enough to understand.

Good we’re not an iOS App, with our little cross compiler here.

At Apple, they wouldn’t let us into their App Store, as they’re always afraid to lose absolute control. So this project doesn’t seem to be about Leadership, even if it’s Steve Jobs the genius, right? – what a rip-off, by the way. They take 30% from every one, just for having invented the App Store! – ok, they’ve invented it, no question, it was an exceptionally great idea. 10 years later, all we do is financing the futuristic circular Apple Cupertino Headquarters from it, really, and lots of big guy’s salaries.

My small company here, it does not even need an address of its own.

Our website is hosted for free by WordPress.com, from San Francisco, the company is really a Laptop hanging over my shoulder, where ever i am today. Our free FTP Server is hosted in Switzerland. Our software is hosted by hundreds of Freeware and Shareware websites, all over the world. Developers provide great software, they publish for free, and they got something in their store. Win-win.

oops, we’re not about anarchy, either! This is not an Open Source Project. Google. The Three Kings of Information Society, with 10000 employees.

Don’t be evil,

their first popular slogan. Hm hm. Workarounds.

These guys keep collecting huge amounts of data from you through all kinds of services, which is good for them in the first place. It allows them to create a lot of business models by selling that data in a more-or-less anonymized way, anonymized only if that doesn’t hinder the money collection, of course, which they explain as “necessary” to you.

So now you understand why they need that slogan, as a workaround. If they wouldn’t say that, everyone would instantly find out what kind of money print machine we got here.

At Dynamic Applications, we are Pirates of the sea.

In 21st century, we are many, as we found out there is just more open space, out there. And we love Freedom. We hide and seek. It’s not exactly a refugee thing. We just do it this way. This way we are expressing our culture.

Our culture defines what we are about. It identifies, it unifies us. We are courageous in a very special manner. We take from the rich and provide for the poor. Ah no, no robbery. We do it in a smarter way. We enter large seaships. Yes. But we are also a civilization.

Do you remember the culture thing? – we are 21st century dynamos. We enter a Vessel, settle down, free all slaves. And who doesn’t feel comfortable with it, will be allowed to leave in due time. We are renewable energy providers, wait no, energy is renewable by definition. We are 21st century energy providers. Yes. We are Innovators.

We create the kind of energy that keeps the world moving, in all its beauty, in global balance. We aren’t Steve Jobs. At Dynamic Applications, we create jobs. We catch up ideas and provide pretty, simple calculators that allow everyone to check out and understand whether they carry a brand new, realistic business case in them.

Transparent calculations.

As we are Sharing Economy, at Dynamic Applications, we try to give all benefits back.

Ever thought about defining your very own App? – just send in a small bunch of formula. If it fulfils any useful purpose, we’ll post your @dynamic_idea for free, and retweet that to 50.000 followers over time. We’ll host your version on our website for free, we support you, we’ll explain all you need. And we offer to share 75% of every net profit we do from selling your App. We’ll keep 25% for our effort, and that’s how we serve our supporters. We’re driven by customer’s vote, so who needs dictatorship in a free world. How about that, big Apple? – prepare to send in your tweet, Young Modeler. If you got more questions now, see Website Impressum for Dynamic Application’s contact address.

We imagine a wish comes true, here and there. As people find their way to follow, start believing that they also keep holding a key. A key to a successful, self-contained way, defined by their own hand’s craftmanship. We just provide the math part here, as maybe not everyone in the world has got resources to study a few semesters of Physics, including Math. We provide simple business cases like a bakery, that everyone can understand and verify with a pocket calculator. This way, we create trustful relationships. This is also why we publish our concept, but not our sourcecode. It’s an inventor thing. Be proud to understand and do it yourself. Develop a new, loosely connected international thing. Develop your own idea, world wide unique. What a USP.

So right from March 2016, when our first mockup was available for download, our network started growing. I was truly ashamed of it, yes, as it couldn’t even add up a few numbers. The solver class was not yet written, and i didn’t know whether my concept was going to work.

Predicted Desire v0.1: most exclusive version ever (10 downloads).
Predicted Desire v0.1: most exclusive version ever (10 downloads).
How it grew? – we grew it ourselves in the beginning, as if it would’ve existed! Just post a concept, publish a prototype, a mockup, a concept study, start inviting people, and fix the prototype. Every day. That’s what we do. And people start looking, laughing, you know. And once we got the first prototype, the bakery calculation, up and running, we started building the really cool stuff right into the application. And if you do it this way, at some point, the target group gets totally excited about what you do, so they’ll start telling everyone, look at this! Until then, we concentrate on building, and keep growing small. Who is our target group? – just people, you know. And we’re not talking about the money makers here. Just people like us. People who want to start working. Working on new solutions, that convince simply by functionality, by solutions, and make us proud in a good way. Proud of all the work we’re investing, as we believe in there’s a reason we are on this planet, and we want to contribute, not destroy. So even if we got not a single customer yet, we want to be the lucky ones. And i believe we are many, so that’s why i’ve started this project.

So even if we sell just one App a day at this very moment, in November 2016, don’t think we got no plan just talking. Once in a while, we put numbers in our own business model, the SocialMedia driven App Developer. And from September to October 2016, the number of visitors of this small website has more than doubled. 1252 people visiting our site, reading more than 2500 pages, up from 623 visitors in September. What an acceleration.

The Dynamic Applications project is much about enabling the poor. Our society is pretty much about a value.

We like to do it the best possible way. We are inventors, you know.

Inventors would do it this way, as they are idealistic. And so they got a pretty good idea about fairness. And fairness has got a lot to do with why we keep publishing new ideas to follow, all in the open. We invite people to join. And they are visiting this websites in thousands, already.

I am not saying this project is finished. You are invited to join in and provide change. Yes, you! We are discussing innovation. As soon as ready, we build machines. Pretty small ones. Some of them are IoT devices. Some of them are just about beauty and caring for each other. Some of them are renewable energy machines. But all of them are pretty idealistic.

Some people are laughing on us. Yea. Small believers. Look at the Pirate party project, an idealistic approach about a better society. This project has just been started, and they are leaving the already. As if they never heard what trend curves are about in a lifetime. These people have no idea how good it feels to do the hard part of the work.

At Dynamic Applications, we say they are going to join back, later, when there’s something to earn. Stupids! Missing the best part of it. The achievement phase. You find it confusing to find political messages on a company page? – remember this is a 21st century company, just in case. The new ones.

So if you are a Pirate, you know, from one of these parties forming worldwide these days, treasure island and stuff, don’t tell anyone full stop end of discussion. It’s not negotiable.

If you are not a Pirate already and you ask yourself, what is this guy writing here, i thought this was a language description page, don’t worry.

You’re a normal person. And that’s not your fault.

Just i wish at sometimes people would understand i was also born as i am.
And they never understand.

Imagination is everything. It’s the preview of life’s coming attractions.
Albert Einstein.

img_4981
Windmill. Leopold’s Height, Central Western Europe, 2016.10.27.

Desire:  Functions and Operators

dynamic_qs_logo_48x48

So here are the currently supported Functions and Operators. As you can see, these are called exactly as you know them from Mathematics.

We’re also supporting the standard Operator Priorities, with Brakets ‘(‘ and ‘)’ having the highest, followed by potentiation, then multiplication/division/modulo, addition and substraction, and finally, + or – sign.

pd-functions-and-operators
Functional reflection, and Operators, in Desire v1.0
As you see in this screenshot, the translation from Desire to C# is pretty much 1:1. We just added the developments over time aspect.

It’s natural. How could an innovator work without a good tool!

We’ve build it ourselves, of course. As if it would’ve existed.

Examples:

T_Result = 2 + 3^2 / 100 = 2 + 9 / 100  =  2.09

T_MyTarget = 5 + 1 / 10  =  5.10

T_Result = max( 11.25, T_MyTarget ) + 1  =  12.25

T_Result = ifzero( T_MySwitchVal, 100, T_MyTarget/T_MySwitchVal)

  • The ifzero() method will check the first parameter, first.
  • if zero (0.0), it will return the second (“then”) expression’s value:  returns 100.
  • if not zero, it will evaluate and return the third expression (“else”).

Other variants of if-then-else shall be implemented in a similar matter, comparative expressions (, ==, =, ) are already supported by the basic solver engine.

Oh, by the way. Desire is based on a small code sample, a simple function plotter i found on one of the garbage hills of science. It was x/y only, but the formula interpreter was ok.

It was done by a guy called Th69. So i had to add the time axis. It was difficult, as you’ll understand, as we have limited time in Desire, but it’s not a static constant array of values. In Perfect Desire, we are using dynamic time. The runtime value and unit aren’t constant. We can change them at runtime, PD extends and reduces as desired. It is a major experience, so we have to restart our little formula solver for it, at the moment. Dynamic Time. Hm hm.

Interesting, isn’t it? – what our little baby here seems to support by concept. Sometimes i wonder myself what kind of machines will be invented in Desire. Cloud walkers…

Note that at the moment, all expressions in Desire are assumed to return a value. We are still calculating.

The expressions we talk about here, they are going to be used by all our young System Dynamics Formula modelers. And we’re talking about youth of mind here. Everyone can join. Just remember this project is a peaceful one. It’s a sustainability project, with a very slight attitude towards the progressive side, maybe as much as the greens are a very little on the conservative side. It’s ok. We invite Young Modelers of the green party and we’ll try to convert them on the way, naturally.

Ready?


Desire:  Grammar

dynamions_logo_48x48

The following screenshot will show the basic expression syntax, noted down in a formal description called EBNF notation (Extended Backus-Naur Format).

pd-desire-language-grammar-in-ebnf
Desire v1.0: formal language description (ref. to Chomsky/EBNF).
It’s a formal language description. Read Wikipedia on Noam Chomsky sometime for a good story about developing Formal Language Description Theory. Thank you, Noam!


Final notice

dynamions_logo_48x48

If you got any idea of a Machine, Product or Balanced Scorecard that could be represented by our Formula Language, feel free to let us know, and contact us anytime.

As far as Perfect Desire is being developed now, we describe a whole Simulation Model in a single file. We just specify the simulation model’s Target Formula and Input Parameters in that file. Then, we compile once.

There you go:

A new Product Calculator adds itself to the list of Startup Cases. As well, it is compiled when you are hitting OK. 

Out comes another Dynamic Application! 

Photovoltaic System. 

The second one. 

So now that Photovoltaic System is working allright, at Dynamic Applications, we already know that we can define many.

pd-desire-pv-system-model-declaration
Photovoltaic System, including Prosumer Trading. Full model declaration in Desire.
All Input and Target Values as well as all concerned User Interface Panels are constructed automatically from the model’s declaration, with Values filled in, ToolTips generated, and all Formula automatically resolved. So if you know the relevant formula describing your product, well, send them in, and we’ll build a custom calculator for you in one day.

The final missing piece in this picture is that there are a lot of addComment() functions below the text where we are declaring our formulas, as shown above. As i said, we’ll transfer it into a user editable comment field asap. So everyone can comment tooltips as they want, but noone can hide formula as they want. So if you ever see a model in PD, with mysteriously long formula, beware. That one could be a cheater. Hasn’t understood.

Transparency and Comments. So here we talk about what the model does. How you can fine-tune this very Rocket to calculate something really, really useful to you.

Here we talk about the kind of Optimization Problem you can solve now, all by yourself, using Photovoltaic System. Bringing it all together, PD is all about squaring the circle. It’s as simple as calculating PV Panels: if you take just one, you’ll easily self-consume all its power, so it’ll produce electricity at about 10..12 ct/kWh. If you fill your roof with panels though, you won’t be able to consume all its power in summer anymore. And now imagine in 20 years from now, about every household has them. At sunshine, noone can sell electricity, it’s all surplus. Well, maybe, we’ll find other useful ways, like empowering our smart electric cars. However, it depends on electricity net price developments are well as on how many people will build PV Systems.

Ok, back to the simple optimization problem we wanted to solve today, just by checking a few options. In PD, for Input Values we just estimate what we think realistic, one by one. PD counts it all together in a second and tells us the exactly measured, combined outcome over time.

The perfect number of PV Panels for every single person in the world. 

We’re not saying the number we get is mathematically exact. We are saying it is exact enough. 

We are saying you’re not gonna be taking a pair of scissors and cut a PV Panel in Three Parts if the true number is 7.333 panels, anyways.

So yes, if you look closely enough, there will always be bugs in our PV model declaration. And you’ll always find a formula, or even an Input Value, that could be split into more details.

It doesn’t matter.

And now you understand the Potential of System Dynamics.
It’s been a Game Changer Innovation. The Perfect Overview. 

Remember Jay W. Forrester.


reflection.

dynamic_qs_logo_48x48

in german, my old native language (before i became a refugee and converted to the world of digital natives (don’t tell anyone, they’ll think i’m a crazy old guy)), we used to say the same thing in a different way. As being pirates, we say:

Wir stellen das mal infrage. 

We put reality in question. We think innovation is a good thing, overall, if you clearly imagine the advantage of your innovation against the static world, defined by law and order. Nobody understood our slogan. Sometimes i think they all understood, and the only problem was that everyone understood it in a different way. It was a beginning.

Our secret Nerd language here, Desire, was not yet born at that time. That’s the true reason. Well maybe, i won’t know, Desire was never born, i am not here, the Matrix exists. I just think i am, so i am. And i thought that something was missing in the picture.

So i’ve invented that part of our little society. It’s like imaginating an electron for the first time, in a way. Nobody understood what that guy was about.

img_0872
a real-time Photovoltaic System, waiting for construction.
Customization Requests.

dynamic_qs_logo_48x48

Our standard rates are 75 €/h for customization requests. We’ll lower them to 45 €/h if we find what you need will benefit and enhance the solution for all.

Our rates are 75% for you if you are a consultant or sales person, and you mention our solution to a customer, got them attracted, and deliver their basic product’s formula to us (as long as it works, we’ll support you for free in this case).

Our rates are zero (0) if you want to develop your product and you got questions. Only condition is nobody has built it before.

If you can build a concept and sell it and our little calculator is part of it, your standard rate is 75% only, so yeah, inventors have to pay as well, only later.

It will be 25% of the pilot project’s value for us as a tribute, as a guideline (remember we’re nothing better or more worthful than normal people, so we got the same conditions for all – you get most of the benefit, we get a small, fair share). Our product will help you to proof your concept, and you pay us for our support. And belive me, it’s very difficult to explain something completely new, even to an inventor.

If you say this seems generally too much, see our 2017 customer waiting list for the standard conditions.

I’ve researched this whole life to understand how to build this one. Now that i found that out, i am building this one machine, PD, the inventor accelerator, and since i got the feeling i’m not desired in a standard company, this one is my home now. And since i’ve built it, of course, it’ll be of no interest for any other inventors, as guys like us are all about inventing completely new things.

And now it seems really mean to you that we mention it right now that you can pay?

Well, just found no better solution in the beginning of our little project here. Maybe it helps if you know that we have earned 250 € in 2016, total orders. Still, with more than a thousand free downloads a month, we’re expanding rapidly.

And that’s what Early Movers are about.

The very first person in the world who understood what we are doing here, and, nevertheless, ordered a piloting consultation, is Norbert Grote. A Carpenter.

Well, well. We are not accepting any more product customization orders in 2016, and there is a 2017 customer waiting list on this website. As i have now decided to build the next big thing, first. Adaptable simulation models as a standard product, as easy to operate as a silly children’s game. Rule of Three, all you need.

Sometime they’ll understand.

We’re not saying that Carpenters are not important. We think they are as important as everyone else. Just in case.

For everyone else out there, Photovoltaic System will be available as a paid Windows 10 Store App from 2016.10.30.

We think our product is crap really, at the moment, considering how wonderful it’s gonna be. It’s unfinished. However, it’s also good enough: it works. And I have decided to sell it, yesterday. Just compiled it and uploaded the Appx package to the Microsoft Store.

it’s 99 ct. for everyone.

Just hope it was the right decision. So now you see how life starts feeling once you took yourself the time and started to learn a brand new programming language.

For Apps that can be developed and deployed to the official Windows 10 App Store on day one.

We do it so that it is completely up to you to decide to pay us, ever, for a standard product.

Our betas are free; you’re testing, it’s free. If you think this is any useful what we do here, you can buy one of our original Apps. One of the really early ones, you know. The unfinished ones. They’re as good as possible, and improving over time by concept. Pay once, get unlimited upgrades. We think it’s fair.

As we are many, someday my share should be enough for a decent, small living.

We think it’s gonna be a great business model for a lifetime. Start working for people from day one, as good as you can, and define a way that’ll help to sort honest people turn into long-time customers, all by themselves. This is all about developing your own thing, right? –

We don’t know how to go on from after 2017, but we don’t worry, as there is still time. So how about the first paid Dynamic Application, built in second one?

this is the result of a crowdfunding idea, it’s the February 2016 winner of @dynamic_idea, our customer competition, and it was able to solve only one simple optimization problem:

The perfect number of PV Panels on your own house.

It may be useful to check out our concept in detail. So get your own picture.

Since it was the first product ever compiled in Desire, created in second one, we used to call it

Photovoltaic System.

pd_v1-40_photovoltaic_system
Photovoltaic System, with Prosumer Network Trading. Written in Desire.