The new generation of Engineers always are inquisitive and want to know the rationale behind 'everything.' I dunno who started calling our generation as the 'Y-generation' but i believe its an apt description.
So Y should you use VisiSoft at the first place. This post is my perspective of this tool, and the benefits that i have perceived during my tenure here at PSI.
- Every piece of software has a structure, and this helps in Visualization of the software
- Each piece of software can be re-used, if appropriately designed, using copy-paste buttons
- Data is separated from instructions
- Mapping can be established from the structure of the program to the source code
- Once data structures are designed they can be locked from the programmer implementing the logic, so that design is not tampered with
Let me use an example to drive home the first benefit of VisiSoft. I am gonna show you the structure of a small application (this is a toy example when compared to the stuff that goes on in VisiSoft). The program is an implementation of the Shortest Path First using the Dijkstra's Algorithm.
There are some intricate details that the user need to be aware of, to implement a VisiSoft program, but for now lets start with the basics.
We can see from the figure that we essentially have 2 types of figures as part of the entire structure. Ovals and Rectangles. Ovals represent data elements, referred to as 'Resources' and Rectangles represent code elements referred to as 'Processes'.
I believe this figure in itself is a throw back to the history of programming languages. Data separated from instructions is a long-forgotten phenomenon but never was it used with such simplicity. We apparently have huge number of benefits with this philosophy, and i would dedicate a post in the future addressing this issue.
This figure is a run-time screen shot of the application whose structure is seen above.
We have various features in the application, such as adding nodes, changing the start node, changing the weight the edge, etc etc.
And any programmer who would try implementing this would agree that, this is not as trivial as it was made out to be (when i said a toy example). Most people usually use an example of "HelloWorld" for introducing a programming paradigm, and I for one do not believe that a program of such triviality should ever be used as an example. Thats making things too simplistic.
I would use the next post to explain the steps to be followed to build such an application in VisiSoft and i believe i can pursue my colleagues here at PSI to host an executable that could install VisiSoft on the machine, and you can contact me for getting a student version serial code to activate it. Please do comment on this post and that would help me design my next to best suit the interests of the reader.
Adios
Madhu
