Feature Modeling and Automated Analysis for an Embedded Software Product Family
Total Page:16
File Type:pdf, Size:1020Kb
FEATURE MODELING AND AUTOMATED ANALYSIS FOR AN EMBEDDED SOFTWARE PRODUCT FAMILY A THESIS SUBMITTED TO THE GRADUATE SCHOOL OF NATURAL AND APPLIED SCIENCES OF MIDDLE EAST TECHNICAL UNIVERSITY BY GÜLSEREN FEDAKAR GÖNÜL IN PARTIAL FULFILLMENT OF THE REQUIREMENTS FOR THE DEGREE OF MASTER OF SCIENCE IN COMPUTER ENGINEERING AUGUST 2013 Approval of the thesis: FEATURE MODELING AND AUTOMATED ANALYSIS FOR AN EMBEDDED SOFTWARE PRODUCT FAMILY Submitted by GÜLSEREN FEDAKAR GÖNÜL in partial fulfillment of the requirements for the degree of Master of Science in Computer Engineering Department, Middle East Technical University by, Prof. Dr. Canan Özgen _______________ Dean, Graduate School of Natural and Applied Sciences Prof. Dr. Adnan Yazıcı _______________ Head of Department, Computer Engineering Assoc. Prof. Dr. Halit Oğuztüzün _______________ Supervisor, Computer Engineering Dept., METU Examining Committee Members: Assoc. Prof. Dr. Ahmet Coşar Computer Engineering Dept., METU _____________________ Assoc. Prof. Dr. Halit Oğuztüzün Computer Engineering Dept., METU _____________________ Assoc. Prof. Dr. Pınar Karagöz Computer Engineering Dept., METU _____________________ Assoc. Prof. Dr. Uluç Saranlı Computer Engineering Dept., METU _____________________ Dr. Ahmet Serkan Karataş K&K Teknoloji Ltd. _____________________ Date: 28.08.2013 I hereby declare that all information in this document has been obtained and presented in accordance with academic rules and ethical conduct. I also declare that, as required by these rules and conduct, I have fully cited and referenced all material and results that are not original to this work. Name, Last name: Gülseren Fedakar Gönül Signature : iv ABSTRACT FEATURE MODELING AND AUTOMATED ANALYSIS FOR AN EMBEDDED SOFTWARE PRODUCT FAMILY Fedakar Gönül, Gülseren M.Sc., Department of Computer Engineering Supervisor: Assoc. Dr. Halit Oğuztüzün August 2013, 132 pages In the context of software product line engineering, feature models are used for modeling variability and commonality in product families. This thesis presents a basic feature model for a commercial television set product family. This work consists of three stages. First, a feature model is constructed, based on the analysis of the product family requirements. The constructed model is supplemented with a feature glossary. FeatureIDE is used as the model editor. Feature attributes, not supported by FeatureIDE, are represented in the basic feature model by using additional features. Second, the feature model in XML format is converted into the schema of the analysis tool, using a custom parser developed for this purpose. Third, the model is analyzed by well-known analysis operations. FAMA is used as the analysis tool. Performance results are obtained. Finally, lessons learned from the whole effort are discussed. Keywords: Feature Modeling, Extended Feature Model, Software Product Lines, Commonality, Variability, Variability Management. iii ÖZ BİR GÖMÜLÜ YAZILIM AİLESİ İÇİN ÖZELLİK MODELLEMESİ VE OTOMATİK ANALİZİ Fedakar Gönül, Gülseren Yüksek Lisans, Bilgisayar Mühendisliği Bölümü Tez Yöneticisi: Doç. Dr. Halit Oğuztüzün Ağustos 2013, 132 sayfa Yazılım üretim bandı mühendisliği bağlamında, özellik modelleri ürün ailelerinde değişkenlik ve ortaklıkları modellemek için kullanılmaktadır. Bu tez, ticari bir televizyon sistemi ürün ailesi için basit bir özellik modeli sunar. Bu çalışma üç aşamadan oluşur. İlk olarak, ürün ailesinin gereksinimlerinin analizine dayanan bir özellik modeli oluşturulur. Oluşturulan model, özellik sözlüğü ile desteklenir. Model editörü olarak FeatureIDE kullanılır. Ek özellikler kullanılarak, FeatureIDE’de desteklenmeyen öznitelikleri, basit özellik modelinde gösterilir. İkinci olarak, bu amaca özel geliştirilen bir çözümleyici ile XML formatındaki özellik modeli, analiz aracının şemasına dönüştürülür. Üçüncü olarak, model tanınmış analiz işlemleri üzerinden analiz edilir. Analiz aracı olarak FAMA kullanılır. Performans sonuçları elde edilir. Son olarak, bütün çalışma sonucunda öğrenilen deneyimler tartışılır. Anahtar Kelimeler: Değişkenlik Modelleme, Genişletilmiş Özellik Modeli, Yazılım Ürün Hatları, Ortaklık, Değişkenlik, Değişkenlik Yönetimi iv To My Parents v ACKNOWLEDGEMENTS I would like to express my candid gratitude and appreciation to my supervisor, Assoc. Prof Dr. Halit Oğuztüzün, for his encouragement, guidance and support all throughout my graduate studies as well as during the preparation of this thesis. I am also thankful to Ahmet Serkan Karataş for his guidance. I would like to thank to Arçelik Inc. especially to Özgür Say and Mustafa Uğuz for their continuous support during the implementation of the study. Without them, this work could not have been completed. I also would like to thank to Jose Angel Galindo Duarte from the FAMA group for his support. I am deeply grateful to my husband for his love, continuous support and encouragement which helped me in completion of this project. Also I would like to express my heartfelt thanks to my beloved parents for their blessings. vi TABLE OF CONTENTS ABSTRACT ........................................................................................................................... iii ÖZ ......................................................................................................................................... iv ACKNOWLEDGEMENTS ................................................................................................... vi TABLE OF CONTENTS ...................................................................................................... vii LIST OF TABLES .................................................................................................................. x LIST OF FIGURES ............................................................................................................... xi LIST OF ABBREVIATIONS .............................................................................................. xiii CHAPTERS 1 INTRODUCTION ............................................................................................................ 1 2 BACKGROUND AND RELATED WORK .................................................................... 5 2.1 Software Reusability and Software Product Line Engineering ................................. 5 2.1.1 Studies Related to Software Product Line Approach in Turkey ................ 7 2.1.2 Software Product Line Processes .............................................................. 9 2.2 Software Product Line Management ....................................................................... 10 2.2.1 Commonality and Variability in Software Product Lines ....................... 10 2.2.2 Variability Management .......................................................................... 11 2.3 Feature Models and Feature Representation ............................................................ 11 2.3.1 Basic Feature Models .............................................................................. 13 2.3.2 Cardinality Based Feature Models .......................................................... 14 2.3.3 Extended Feature Models ........................................................................ 14 2.3.4 Feature Relationships and Dependencies ................................................ 14 2.3.5 Feature Attributes .................................................................................... 15 2.3.6 Feature Management ............................................................................... 16 vii 3 TOOL SUPPORT FOR MANAGEMENT AND AUTOMATED ANALYSIS OF FEATURE MODELS............................................................................................................ 17 3.1 FeatureIDE ............................................................................................................... 17 3.2 FAMA ...................................................................................................................... 18 3.3 Other Tools ............................................................................................................... 20 3.3.1 VARP ....................................................................................................... 20 3.3.2 PureVariants ............................................................................................. 20 3.3.3 SPLOT ..................................................................................................... 21 3.3.4 Gears ........................................................................................................ 21 4 FEATURE MODELING OF NEWGENTV SPL ........................................................... 23 4.1 Introduction .............................................................................................................. 23 4.2 Domain Analysis ...................................................................................................... 23 4.3 Modeling in FeatureIDE ........................................................................................... 26 4.3.1 Feature Identification ............................................................................... 27 4.3.2 Feature Model Organization .................................................................... 29 4.3.3 Feature Relationships and Dependencies ................................................. 30 4.3.4 Defining Feature Attributes ..................................................................... 32 4.3.5 Model Management in FeatureIDE .........................................................