Trigger Flow - Niomatic

Trigger Flow

Graphical programming languages have been using the Data-flow based since the early 1970s, resulting in at the final design stage a lot of complexity. All these constraints have led to creating an innovative graphics programming concept, due to its high performance, intuitive logic, high performance and synthesis, and comprehensive design. The name of this new structure is called Trigger-flow programming. The combination of the Trigger-flow programming capability and the simplicity of graphical programming led to the creation of the core of Niomatic.

Problematical data flow
An old visual programming language scheme which requires the analysis of graphs to understand the logic of the program

Insight

Intuitive trigger flow
A new visual programming language scheme which is used in Niomatic

Insight

Concept

Concept

One embodiment is related to an integrated development environment, wherein users can place some graphical blocks in response to the main aim of the graphical program. In another embodiment, the executive procedure of the program is constructed by Trigger signals, which are able to separately characterize the implementation order of different graphical blocks embodied in the program far from the Input-Output relationships between graphical blocks. Using the concept of the trigger, each graphical blocks has at least one input and output Trigger, so that if the input trigger of graphical block B is linked to output one of graphical block A, graphical block B is processed after the execution of graphical block A is completed. In other embodiment, the procedure of graphical programming is called as “causality flow programming”, in which graphical blocks as components of the graphical program are related according to cause and effect notion.

Trigger stimulating resources for graphical blocks may be in two forms: Routing trigger and Interrupting trigger. In some embodiments, Routing trigger is related to the connections between graphical blocks, situated inside a graphical program, which helps specify the order of execution of the blocks on the same basis. However, in other embodiments, Interrupting trigger is concerned to extrinsic sources of stimulating signals, such as alarms in the wireless sensor network, which is not synchronized to the processes inside the project and makes changes and pause in the functionality of an application. Note that the two mentioned types of trigger signals cover wide variety of applications, helping us to execute the process that is difficult to implement in dataflow programming.

In one embodiment, the causality flow programming using the presented structure is able to achieve combinations of graphical blocks that may be used in more complex process control. Keeping this fact to the mind that inputs and outputs of graphical blocks are independent of stimulating resources, which are responsible for running the blocks, causality flow programming makes it easy to the realization of much more complicated, wherein the control signals have various source either inside or outside the project. In addition, diverse coherent composition of triggers may offer a promising solution for visualization in management of hardware-software in automation system.

In some embodiments introduced in this invention, causality flow programming may be dynamically reconfigured by alteration of topology of graphical blocks at run time of project. Actually, using the units defined in the previous embodiments for handling triggers and management of data, it is applicable to change some part of configuration and connection between graphical blocks while the program can be correctly modified and executed according to new structure, with no need to be recompiled.

Thus, some fulfilled embodiments of the invention have been described above, which facilitate the implementation of graphical programming, so that they bring higher flexibility in programming, easier coding for graphical block and greater capability in comparison concurrent method applied in graphical programming. In particular, the embodiment regarding to trigger stimulating resources has an astonishing impact on the graphical programming as illustrated in the drawings and claimed in the following. Notice that there is no limitation on the proposed scheme to be implemented in any kind of language.  

News and Updates
See the latest announcements and recommendations for Apple developers.
Documentation
Browse a comprehensive set of API reference, articles, and sample code.
Software Downloads
Get the latest releases of Xcode, macOS, iOS, watchOS, tvOS, and more.
Developer Resources
Become a member to access the resources for distribution on Apple platforms.

To receive the latest news, visit and subscribe to our News and Updates.

Copyright© 2018 Niomatic™ group – Design and Development Company. All Rights Reserved.