21
I Know How To Thread-Level Code Design Components are Code Components There is no abstraction between Design Components and Code Components. What you design is directly made into code. No matter how complicated the Component, it is isolated and encapsulated at the lowest CPU-thread level. Knows How To Design Component Code Component Designers Programmers

Design Components are Code Components

  • Upload
    kert

  • View
    25

  • Download
    0

Embed Size (px)

DESCRIPTION

Knows How To. I Know How To. Thread-Level Code. Design Components are Code Components. - PowerPoint PPT Presentation

Citation preview

Page 1: Design Components are Code Components

I Know How To

Thread-Level Code

Design Components are Code Components

There is no abstraction between Design Components and Code Components. What you design is directly made into code. No matter how complicated the Component, it is isolated and encapsulated at the lowest CPU-thread level.

Knows How To

Design Component

Code Component

Designers

Programmers

Page 2: Design Components are Code Components

Automatically Instantiates

SnEn

I Know How To

The Snippet Engine automatically instantiates all Nodes when they are needed the first time. The programmer does not have to worry about how or when to get their Node into existence. Nodes may delete themselves when finished.

Nodes Exist only Logically

Is Needed For First Time I Know How To

Node Exists In RAM and On Disk

Is Automatically Created

Page 3: Design Components are Code Components

Programmers Are FocusedProgrammers are focused on only generating their Node’s code. They are coding a single CPU-thread, independent and autonomous, to ensure a designed purpose is accomplished. Dependencies on other Nodes which must execute first are automatically handled by the Snippet Engine. Thus, the programmer's attention is directly focused on only the lines of code within their own execution thread.

I Know How To

Knows How To

Design Component

Code Component

Page 4: Design Components are Code Components

Same Interface Access MethodsAll Nodes use the exact same Command Interface and Data Store access methods. All that the programmer needs to know is the format of the command packets and data records, which are defined during the Design Phase.

Interact

I Know How To

Commands In and Out

Data and State

Relationships

I Know How To

I Know How To

I Know How To

I Know How To

I Know How To

I Know How To

Interact Interact Interact Interact Interact

Opened

All Nodes Interact With Each Other The Same Way

Page 5: Design Components are Code Components

Asserted Using Same MechanismNodes have no calling sequence like a function. All Nodes are asserted into execution using the exact same mechanism. Asserting a Node to do its job is simple and is always done in the same way. This simplicity dramatically reduces the number of software interfaces that must be defined, programmed, tested, and documented.

GOGO

CPUCPU

GOGO

asynchronous asynchronous

All Nodes Interact With Each Other The Same Way

Page 6: Design Components are Code Components

Accomplished AsynchronouslyNodes are not called like a section of code, rather they are told to accomplish their task asynchronously. Nodes are asserted because their designed purpose is required, and they may be asserted in any order. Interdependencies between Nodes are automatically handled by the Snippet Engine.

I Know How To

I Know How To

I Know How To

I Know How To

I Know How To

I Know How To

GO

CPUCPU

GOI Know How To

I Know How To

asynchronous asynchronous

will wait for all pieces

Page 7: Design Components are Code Components

Easy To Handle RamificationsVariables are passed between Nodes by either sending commands, or by setting up a designed shared RAM context. Thus the programmer is relieved of having to understand ramification complications when key variables change. All a programmer needs to do is to "post" the changes to the Node which knows how to handle the changes. Since the receiving Node is executed as a separate thread, the programmer can literally "post and forget".

I Know How To

Change The

World

GOGO

CPUCPU

GOGO

asynchronous asynchronous

I Know How To

Commands In and Out

Data and State

Relationships

Oh No! I changed the world!

Page 8: Design Components are Code Components

I Know How To

Commands In and Out

Data and State

Relationships

Fetch Data DirectlyNodes which need to fetch data from other Nodes may do so directly, without posting commands. Data Stores reside in Shared RAM. Because all Nodes both store and retrieve data in exactly the same way, the programmer uses a standardized code-template to directly fetch data from any other Node. If necessary, a Node's Data Store may be locked and then unlocked by any other Node. This type of coupling is very fast.

I Know How To

Commands In and Out

Data and State

Relationships

OpenedOpened

at nanosecond speeds

Page 9: Design Components are Code Components

Reduced Number of InterfacesAll Nodes have only one State-variable, and this variable can have only five different values. This dramatically reduces the number of software interfaces, which dramatically reduces the number of test cases, which dramatically reduces the volume of documentation required in the project's life cycle.

The More Interfaces and Choices

The More Complicated The Software

The Heavier The Burden and Cost

With Only One Interface and 5 Choices

The Simpler The Software

The Lighter The Burden and Cost

Page 10: Design Components are Code Components

Certified “Bug-Free”Each Node can be independently tested, and most Nodes may even be certified to not have any bugs. The concept of code having hidden bugs is a result of not being able to test all software conditions. However with Snippet Nodes, because they are narrow scopes of autonomous logic with their own data store, it is possible to isolate a Node's execution-context in order to conduct stand-alone-testing which will test all software conditions. Nodes may be certified “bug-free”.

I Know How To

Commands In and Out

Data and State

Relationships

CertifiedBug-Free

Stand-a-loneTesting Of All

Software Conditions

I Know How To

Page 11: Design Components are Code Components

Maintenance and EnhancementsNodes are self contained, which helps in maintenance and future enhancements.

Page 12: Design Components are Code Components

Immediately ReusableMost Nodes are immediately reusable in future projects. Thus, the cost of future software development projects is dramatically reduced.

I Know How To

I Know How To

I Know How To

I Know How To

I Know How To

I Know How To

Ready On The Shelf To Be Reused

Page 13: Design Components are Code Components

More CPUs The Faster Will Run

I Know How To

I Know How To

I Know How To

I Know How To

I Know How To

I Know How To

GO

CPUCPU

GOI Know How To

I Know How To

asynchronous asynchronous

will wait for all pieces

Nodes may execute on any available microprocessor. Since each Node is its own thread of execution, the entire application may be massively solved in parallel by executing on computers with large numbers of microprocessors. The more available microprocessors, the faster the program will run.

CPU CPU

More CPUs means more GO

Page 14: Design Components are Code Components

Integration Is “Automatic”

I Know How To

I Know How To

I Know How To

A new Node's integration into the application is “automatic”. There is no need for a separate Integration Phase. In order to thoroughly test a Node, the programmer will include all of the other Nodes needed. Programming is best performed starting with the lowest level Nodes, and working upwards. Thus, Nodes are fully integration-tested each time a stand-alone-test is conducted.

I Know How To

I Know How To

Programming Is Done From The Bottom - Up

Page 15: Design Components are Code Components

Faster With More ProgrammersBecause the project is developed from the bottom-up and each Node is independently stand-alone-tested, the more programmers assigned the faster the project will be finished. This allows the software managers to effectively manage the cost and delivery schedule.

I Know How To

I Know How To

I Know How To

I Know How To

I Know How To

Programming Is Done From The Bottom - Up

I Know How To

I Know How To

Adding More Programmers Actually Helps

Page 16: Design Components are Code Components

Even Low-Level Nodes Use GUIAny Node may use the application’s User Interface to interact with the user. Thus even low-level code may have its own debugging, diagnostics, error reporting, and context help GUI.

I Know How To

I Know How To

I Know How To

I Know How To

I Know How To

Page 17: Design Components are Code Components

Any Node Talks To Any NodeAny Node may talk to and synchronize with any other Node running anywhere in the world. To the programmer, sending a command or data packet directly to a Node running on another computer is done the same way as sending the packet to a “local Node”. Thus, any execution thread may directly communicate with any other execution thread, even on a completely different computer. Creating applications that share synchronized data and capabilities between networked computers is very easy.

Nodes Can Send And Receive Commands and DataTo Other Nodes Running Anywhere In The World.

CPU-Threads on Different Computers CanDirectly Synchronize and Augment Their Capabilities.

Essential for Games, Robotics, and Mission ControlHaving a Distributed Database

I Know How To

I Know How To

GUI

Internet I Know How To

Local

Page 18: Design Components are Code Components

Nodes Are The Database ServersEach client-browser can communicate directly with its own Node, so that, each client-submenu can individually and concurrently work directly with only the small portion of the whole Database it is using. Each client-access-transaction is automatically distributed.

I Know How To

Page 19: Design Components are Code Components

Scalability I

I Know How To

I Know How To

I Know How To

I Know How To

I Know How To

I Know How To

I Know How To

Page 20: Design Components are Code Components

Scalability II

I Know How To

I Know How To

I Know How To

I Know How To

I Know How To

Page 21: Design Components are Code Components

Scalability III

I Know How To

I Know How To

CPU CPU

More CPUs means more GO

CPU CPU

More CPUs means more GO

More Servers means more GO

Internet