From idea to code... less complexity with more control. That's the promise of ABSE. But how exactly do we go from an idea to a running system using ABSE and AtomWeaver?
Step 1 : Think about your development process
You must stop for a moment and think about how you develop software. Which languages, architecture, platform do you target? How do you organize your project? What "big parts" can you identify? |
 |
Step 2 : Isolate problems and identify repetitive patterns
You surely find yourself feeling like you are doing the same things over and over, but always with a slight variation. Those are repetitive patterns you'll use many times, and that you can automate through ABSE. Remember: reuse is your key objective. |
 |
Step 3 : Decompose problems and patterns into concepts
The key question here is : "How is this done?". You decompose the problems you have isolated into discrete solution parts that we can call concepts, and then identify their variability. |
 |
Step 4 : Map your concepts into target code
Now that you have split up your problems into smaller parts, you should now determine how each concept results into a portion of your system's code. Identify which code can be automatically generated and which code can/must be manually written. |
 |
Step 5 : Build and fine-tune your Atom Template libraries
Now that you have your concepts ready, turn them into Atom Templates: Concept = Atom Template. Concept variability is supported through Template Parameters. You can group related Atom Templates into Atom Libraries. |
 |
Step 6 : Build models by reusing your Atom Templates
Now that your reusable assets are ready, start building your systems by combining your previously captured concepts. Go back to Step 5 if something is still missing. |
 |
Step 7 : Generate things from your models
Once you have a model ready, you can order AtomWeaver to generate the corresponding code. You don't need a complete system. You just need a valid model. |
 |
Step 8 : Adjust, refactor, re-generate
Generate, test, adjust your model, edit your Templates, decompose existing concepts, add more variability. Go back to any of the previous steps. |
 |