The Bank Account product line is used as a common case study for Software Product Line Engineering (SPLE). This tutorial illustrates the development process of Bank Account with Prices-IDE, starting from feature modeling, UML modeling, IFML modeling, model transformation, and product derivation.
The first step in implementing the BankAccount Product Line is to create a feature diagram. A feature diagram is a tree-like structure that represents the features of a system and their relationships. It helps in understanding the variability and commonality of the product line.
The second step is UML-DOP modeling. UML-DOP profile is an extension of UML that allows for the modeling of variability and commonality in software product lines using DOP. In this section, we will demonstrate how to model the UML-DOP diagram of BankAccount case study.
Optionally, you can add UUID as datatype and then you can apply it like the following.
After generating the WinVMJ files from the UML-DOP model, the next step is to use the WinVMJ Composer to derive specific products from the BankAccount product line. This involves selecting features and composing the corresponding modules to create a tailored application.
Generated modules are available in the src directory. If the generated modules do not appear, ensure you have generated the modules from the UML and placed them in the modules directory.
The compiled application will be placed in the src-gen directory.
The next step is to create an IFML diagram as the frontend model of the Bank Account. We will create the core modul and also the delta modul of Bank Account. More info: IFML-DOP-Modeling-Guideline.
.uml file into the IFML project folder.main.core), then click Next..core file should now be visible in your project.Some components require specific naming conventions to work properly.
Table → for table-based viewsList → for card/list viewsHome with annotation /.
call/[feature]/[operation].
.core file.
/account/:id_account and
DataBinding to call call/account/detail.
overdraft.core
/overdraft for the URL.
main.core and
Generate the UI.
The last step is to generate the JavaScript application from the IFML model. This can be done using the Prices-IDE plugin for IFML to JavaScript transformation. More info on this can be found in the Generate UI tutorial.