An Approach to manage variability in object-oriented applications with feature models

Bulut, Ender
In this thesis, an approach to manage variability in object-oriented applications by using a feature modeling language and a simple source code generation technique has been designed and developed. This approach provides developing configurable object oriented applications in a practical way. That is, an application developed with our approach takes just a configuration file including user selections in a pre-defined domain as input and then automatically configure and manage itself with respect to these selections. To build an application by using this approach, there are several steps that should be followed. First of all, the variability points in the domain are specified and designed by using feature model. After the feature model is designed, the code generator im- plemented for our approach produces automatically the semi-automatic source code templates containing interfaces, configurator classes and entity classes with attributes designed specially as data structures to be used to manage variability. Software developers who are experts in software architecture will be responsible for the next step. The developers manually develop the application with the generated source code tem- plates by using the data structures considering the commonality and variability of the domain and so the application can be provided to work for various feature combinations. In the final step, a developer or even a customer that can understand the feature diagram selects the desired features of the application according to the rules and constraints in the configurator of a feature modeling language like FeatureIDE and so that the variabilities in the domain can be reflected automatically and directly to this object-oriented application with the feature model. Moreover, the proposed approach is applied to an online shopping domain as a case study in order to demonstrate con- cretely the contribution of this work.


Investigation of the effects of structural characteristics of object-oriented software on fault-proneness
Gölcük, Halit; Bilgen, Semih; Department of Electrical and Electronics Engineering (2014)
This study investigates the effects of structural characteristics of object-oriented software, which are observable at the model level of the software developed by means of Unified Modeling Language (UML), on software quality, assessing quality in terms of fault-proneness. In the scope of this thesis study, real-time embedded software components developed by Aselsan, a leading defense industry company in Turkey, were analyzed. The correlation between software metrics measured from the UML models of the soft...
Analysis of extended feature models with constraint programming
Karataş, Ahmet Serkan; Oğuztüzün, Mehmet Halit S.; Department of Computer Engineering (2010)
In this dissertation we lay the groundwork of automated analysis of extended feature models with constraint programming. Among different proposals, feature modeling has proven to be very effective for modeling and managing variability in Software Product Lines. However, industrial experiences showed that feature models often grow too large with hundreds of features and complex cross-tree relationships, which necessitates automated analysis support. To address this issue we present a mapping from extended fe...
A metrics-based approach to the testing process and testability of object-oriented software systems
Yurga, Tolga; Doğru, Ali Hikmet; Department of Information Systems (2009)
This dissertation investigates the factors that affect testability and testing cost of object- oriented software systems. Developing a software program which eases the testing process by increasing testability is crucial. Also, to assess whether or not the testing effort and cost consumed or planned is adequate or not is another critical matter this dissertation aims to answer by composing a new way to evaluate the links between software design parameters and testing effort via source-based metrics. An auto...
An Object-oriented framework for functional mock-up interface co-simulation
Aslan, Memduha; Oğuztüzün, Mehmet Halit S.; Durak, Umut; Department of Computer Engineering (2016)
Integration of subsystem or component models in a simulation environment is a crucial task in system development. Variation in model interfaces due to the use of a variety of modeling tools from different vendors complicates this task. Functional Mockup Interface (FMI) is a standard that lays out a tool-independent interface for dynamic system models. In practice, the developers of FMI-compliant models, known as Functional Mockup Units (FMUs), need guidance. In this thesis, an object-oriented framework for ...
Development of a library for automated verification of UML models
Çelik, Makbule Filiz; Koçyiğit, Altan; Department of Information Systems (2006)
Software designs are mostly modeled as Unified Modeling Language (UML) diagrams when object oriented software development is concerned. Some popular topics in the industry such as Model Driven Development, generating test cases automatically in the early phases of software development, automated generation of code from design model etc. use the benefits of UML designs. All of these topics have something in common which is the need for accuracy against the meta-model not to face problems in the latter phases...
Citation Formats
E. Bulut, “An Approach to manage variability in object-oriented applications with feature models,” M.S. - Master of Science, Middle East Technical University, 2014.