Intention Space For Software Development
Design Chunks in Intention Space embodies a computational process small enough to be understood and managed by a small group of people between 1-3 from its inception to its full embodiment or deployment. As a system develops, the system may have several design chunks; a design chunk constantly morphs within its boundary and interacts with the outside world through well-defined intents. In the Intention space, a Design Chunk can have content in any form that makes sense to the human user. In the coding world, a single function or a collection of functions can be in a design chunk; it may have some UI/UX elements related to those functions, and there can be a prototype element. The domain of operation of Design Chunks are not the numbers and strings, but they are question-answer pairs that make sense to a human.Intention Space takes computation as an act of taking a set of question-answer pairs and producing another set of question-answer pairs; instead of the traditional notion that a computation step has an input, generating an output, a Design Chunk acts on a set of question-answer pairs and passes question-answer pairs to another Design Chunk as computation proceeds. The 'function parameters,' a foundational element in traditional definitions of functions in computation, is looked upon as a question-answer pair received or generated by the Design Chunks; e.g., instead of just declaring a parameter variable called 'apple' and assigning a value, say $5 ,as the price of apple, e.g., var apple = 5, Intention space equivalent will be a question-answer pair, represented as a JSON object: {'what is the price of apple':'$5' }. Any operation in Intention Space operates over a set of JSON question -answers; a Design Chunk passes question-answer pairs to another Design Chunk through some rules of operation in Intention Space as computation proceeds.
Intention Space's operation rules come through two more operators along with the Design Chunks: 'Object Phrases' and 'Intention Phrases'. Each Design Chunk has a name; we can refer to it as a Design Chunk Phrase. Intention Space maintains three dictionaries of phrases corresponding to each phrase category in Intention Space as defined below.
Categories Of Phrases in Intention Space
i. Design Chunk Phrases(DP)
ii. Intention Phrases (IP)
iii. Object Phrases (OP)
Intention Space holds three dictionaries, each corresponding to one of the phrase categories above. The word Object has special significance in Intention Space. An Object has a name and the only behaviour /capability it has is to receive and reflect 'intentions'. . Objects in Intention Space don't hold any custom code ,there are just named entities which receives Intentions from Design Chunks and reflects intention to another Design Chunk.
Thus we have a five element vector which presents a progression in computation from one design chunk to another=> {dc,in,ob,in,dc} .
While it is indeed possible to think certain computation can have only one Design Chunk ,but in Intention Space we find , we need at least two different intention to produce an output set of question-answer from a given input of question-answer.
The Intention Space is generated by vector operators with five elements { design chunk,intention,object,intention,design chunk) .
The word vector implies a specific direction. In Intention Space, this direction is the progression of computation starting from the initial design chunk leading to the final design chunk in the vector through the intermediate intention ,object,intention trio while transforming a set of question-answer to a resulting question-answer sets in the model of computation described below.
Model Of Computation in Intention Space:An Intention starts a computation
Computation in a Design Chunk
In Intention Space, a computation triggered by an intention received by a Design Chunk, which consumes a question-answer set, and the design chunk either produces a question-answer set as a result or continues the computation by emitting an intention phrase from a set of enumerable intentions, aka dictionary. However this emitted intention does not reach another design chunk directly ,instead it has to be reflected by an object.
Computation continues by reflecting an Intention from an Object
Intentions emitted from a Design chunk in turn reflected by an object phrase ,chosen from an enumerable set of object phrases and is subsequently consumed by another Design Chunk, and the process continues as shown in Fig 1. As mentioned, Design Chunk names also come from an enumerable set of Design Chunk names, aka Design Chunk dictionary in Intention Space.
Execution Steps of Design Chunks.