Software product line engineering (SPLE) adalah salah satu pendekatan pengembangan perangkat lunak yang mempertimbangkan aspek commonality dan variability. SPLE memiliki mekanisme untuk menghasilkan beberapa produk pada suatu domain secara bersamaan. Penelitian ini bertujuan untuk merancang pendekatan model-driven SPLE (MDSPLE) berdasarkan delta-oriented programming (DOP). Pendekatan yang diusulkan mencakup proses SPLE pada problem domain dan solution domain. Pada problem domain, digunakan feature model dan Unified Modeling Language (UML) yang dilengkapi oleh UML-VM profile. UML profile ini didefinisikan berdasarkan variability modules (VM) untuk mendukung pemodelan variasi pada UML. Pada domain implementation, diusulkan metode baru yang disebut dengan Variability Modules for Java (VMJ). VMJ merupakan architectural pattern di Java yang disusun berdasarkan DOP dengan memanfaatkan design pattern dan Java module system. Selain itu untuk memodelkan variasi abstract user interface, pada domain implementation juga dilakukan pemodelan dengan Interaction Flow Modeling Language (IFML) yang dilengkapi dengan DOP Extension. Pendekatan MDSPLE pada penelitian ini juga dilengkapi oleh alat bantu yang dikembangkan pada Eclipse IDE, yang disebut dengan PRICES-IDE. Proses pengembangan dengan PRICES-IDE meliputi pemodelan dengan diagram editor, model transformation, domain implementation, dan product generation. Penerapan MDSPLE dengan PRICES-IDE ditunjukkan dengan studi kasus yang dievaluasi berdasarkan applicability dari UML-VM profile, degree of automation pada code generator, dan juga process improvement. Evaluasi juga dilakukan dengan membahas Threats to Validity yang dapat mempengaruhi hasil penelitian. Dengan demikian, penelitian pada disertasi ini memiliki kontribusi pada pengembangan perangkat lunak dengan mengusulkan pendekatan MDSPLE berbasis DOP yang dilengkapi dengan alat bantu yang terintegrasi. Software product line engineering (SPLE) is an approach that enables the development of software with shared commonality and variability. It offers a reusable mechanism for creating various products within a specific domain. In this research, we aim to design a model-driven SPLE (MDSPLE) approach based on delta-oriented programming (DOP). The proposed approach encompasses the SPLE process in both the problem and solution domains. In the problem domain, we use feature models and Unified Modeling Language (UML). A UML profile, namely the UML-VM profile, is defined based on variability modules (VM) to model variations in UML diagrams. We introduce a new implementation approach called Variability Modules for Java (VMJ) in the solution domain. VMJ is an architectural pattern in Java that follows DOP principles. Furthermore, we employ the Interaction Flow Modeling Language (IFML) with DOP extensions to model abstract user interfaces (UI) within the solution domain. A set of tools has been designed within the Eclipse IDE to support the development process, called Prices-IDE. The process in Prices-IDE encompasses modeling in the diagram editors, model transformation, domain implementation, and product generation. The practical application of the proposed MDSPLE approach is demonstrated through a case study. The evaluation of the approach focuses on three perspectives: the applicability of the UML-VM profile as a foundation, the degree of automation in the code generator, and the process improvement. We also discuss threats that could affect the validity of this research. In conclusion, this research contributes to the advancement of SPLE methodologies based on DOP through the proposed MDSPLE approach. |