VCB Frequently Asked Questions

What is VCB?
VCB stands for Visual Circuit Board. Basically it lets you visually create systems in a circuit board like manner. The whole thing behaves in a very intuitive manner by using visual tools to assemble systems from parts. From the user viewpoint VCB is just tools, parts and systems.

For example to build a small system you would go the part inventory and double click on a few parts to add them to a circuit. Then you would go to the circuit and drag the parts to where you wanted them. Then you would add a few links (connections) to hook up the parts. Next you could configure individual parts to work the way you wanted in this system, such as by setting values, colors, size, workflow steps, etc. Then you could start the system and use it immediately. Since it would invariably need further work you could continue building the system while it was running. This allows you to tinker and fine tune a system in real time.

What is part?
A part is a type of component. In VCB parts play the leading role, with a supporting cast of links, events, devices, pins, etc. All these other elements enhance the user’s abilities to assemble systems from parts as easily as playing with Lego blocks.

What is Hierarchical Composition?
It is the organization of a system’s elements into a strict tree of containers and leafs, with a single root container. This has many advantages. Large systems can be understood, navigated and managed better. Any properly encapsulated container can be reused in another system. Tools can handle hierarchical systems more easily that a glob or web of elements. Even system elements themselves can navigate and use their system or other systems easier.

Note that Hierarchical Composition is missing from standard OO languages. There’s nothing to prevent a complicated weblike object graph. This contributes to the tendency of large OO systems to be hard to fathom.

How I can develop a new part?
It could be done by 1) development of Java class, 2) composition of existed parts or devices, and 3) using state machine notation.

What is device?
Device is a part that contains other parts. We could have used the word “container” for this, but felt it was overused and not distinct enough. Instead we chose “device” so as to have a specific, unambiguous word to use in VCB. “Device” also implies complexity, which is exactly what’s happening – One assembles parts into a complex arrangement giving desired behavior, and the result is a device.

What is pin?
Pin is a part element that handles part’s input or output. Pin has a name, whether it’s an in or out pin, and pin fields. The pin name describes the overall responsibility. Fields are analogous to method arguments and return values. Fields are what a pin exposes (outpin) or anticipates (inpin) for read and write access. Pins are analogous to electronic part pins or ports, hence the choice of “Pin”.

What is the difference between VCB and other UML tools?
UML tools (Together/J, Rational Rose) are OOP tools and deals with classes and objects while VCB is CBD (Component Based Development) tool that deals with Component.

What is the difference between OOP and CBD (or objects vs. components)?
Components vs. Objects:

Components may be written in different languages
A component may have its own persistent state
A component may provide access to objects inside it
There may be more ways of interacting with a component other than method calls
Components are instantiated through containers
Components are generally more robustly packaged
Can l use Java Beans as VCB parts?
Yes. Standard wrapper will be provided.

Can l use plain java class as VCB part?
Yes. For complex cases Aspect Oriented Programming could be used. Aspect-oriented software development is a new technology for separation of concerns (SOC) in software development. The techniques of AOSD make it possible to modularize crosscutting aspects of a system

Can l use a module in C or other languages as VCB part?
Yes.

Can l develop distributed applications using VCB?
Yes.

Can l develop EJB applications using VCB?
Yes.

Can l generate executable class to improve performance?
Yes. …

Leave a Reply