Software development using Xsemble comprises of 3 steps – Design, Develop and Burn.

Xsemble process comprising of Design, Develop and Burn steps

The aim of the design step is to create the X-flowchart (the visual model). This step does not need any programming, so it is expected to be performed by anyone who can imagine how the software application can be decomposed into small moving parts. It involves the following activities:

[1] Identify components: Components are the basic molecular building blocks. They are grouped under Repositories. You can define components using Developer’s Workbench. The component definition involves defining the in arguments (for receiving data), out arguments (for sending data), exit paths (for passing control) and any parameters. You do not need to define if a component is already available. (Xsemble includes some repositories of reusable components. Plus, you may have some reusable components from your earlier working.)

[2] Create the flow: The control flow and data flow of the application is captured in an X-flowchart, which is also called a Project. This is done using Assembler’s Workbench. The nodes in X-flowchart are based on components (barring some types of nodes). These could be components defined by you or those which may be available to you. These nodes are connected together in the design step, and any parameters are set.

Xsemble provides “Health Check” facilities in both the Developer’s Workbench and the Assembler’s Workbench to carry out automated checks on the design.


This is the programming step. The code resides within the implementations of the components. When the components are defined, it starts with an empty implementation. It is also likely (but rare) that some components have more than one implementations. The aim of the development stage is to add working code to these implementations which do not have it.

[3] Open implementation: Open the component implementation to which you want to add code.

[4] Add Code: Xsemble automatically generates a code template based on your component definition. You can access this template within the Developer’s Workbench. It has comments to demarcate the places where the user is expected to add their code. Use those comments to identify where your implementation logic will go and add the code corresponding to that. You may use your favorite editor for adding this code.


In the Assembler’s Workbench, at the click of a button you burn the application locally. The term burn comes from likening this step to burning a compact disk.

[5] Generate Sources and Deployable(s): When you burn the application, the complete source code of the application is generated. This contains the code within the component implementations, plus glue code that is automatically generated by Xsemble that orchestrates between these components. This glue code is generated in accordance with the X-flowchart. This complete code is available for examination, debugging etc. There is no run-time dependency on Xsemble, so this code can be compiled and deployed with the usual development process as you would do with a handwritten code. To save repetitions, Xsemble is usually configured to fire the compilation and deployment, after a successful burn.

Download Xsemble and experience the process first hand. The User Guide that is included with Xsemble can get you started.