ArticlePDF Available

Abstract and Figures

Although several software product line engineering (SPLE) methods have been described in the literature, adopting these methods in practice is often not straightforward. Thorough understanding of the methods and their artefacts is necessary to apply the methods in a proper manner, and likewise realize the expected goals of SPLE. Recently the Essence framework has been proposed to model the essential elements of a method and to support the modeling of a broad set of software development methods including plan-driven methods and agile methods. So far, the Essence framework has been applied to single system development methods and not yet for SPLE methods. To enhance the understanding of SPLE methods and support a vision for tailoring SPLE methods, we provide a mapping of an SPLE method to the Essence framework. We present experiences about modeling an SPLE method using the Essence framework within the industrial context of Havelsan.
Content may be subject to copyright.
A preview of the PDF is not available
... In section 2, we have provided the SPLE process, which we have also modeled in our earlier work [22] [23][24] [26]. The previous section has provided an explicit process model for PPS. ...
... Vulnerability Assessment of Physical Protection Systems.For identifying the PLE methods, we have used the traditional methods as published in the PLE community. In this paper, we do not elaborate on the modeling of the PLE method[19][6] since we have reported on these already in our earlier studies[22][23][24][26]. ...
Chapter
Full-text available
A physical protection system (PPS) integrates people, procedures, and equipment for the protection of assets or facilities against theft, sabotage, or other malevolent intruder attacks. Designing effective PPSs is not trivial and requires the consideration of multiple different concerns. Hence, several PPS methods have been proposed in the literature to design and analyze PPSs to realize the envisioned objectives. These methods have mainly considered the design of a single PPS. Yet, despite the differences, PPSs also share a common design and set of features and likewise can be developed using a systematic large scale reuse approach. Product line engineering (PLE) has been used in various application domains to exploit the potential for large scale reuse, and with this reduce the time-to-market, reduce the cost, and the overall quality of the developed systems. In this paper, we first report on the results of our study to explicitly model the process for developing PPSs. Subsequently, we present the integration of the PPS method with the current PLE method. For modeling the processes, we adopt the Business Process Modeling Notation (BPMN). The resulting method can be applied to the development of various PPSs while considering large-scale reuse.
... Bu yönüyle araştırmamız iki farklı ilgi alanını içeren Giray vd. [14]'nin çalışmasıyla benzer nitelikler taşımaktadır. Ancak, onlardan farklı olarak çalışmamızda aynı anda iki yazılım sisteminin ele alınmasında bazı güçlüklerin olduğu gözlenmiştir. ...
... Çalışmada araştırmacıların ilgilendiği diğer bir konu ise yöntem mühendisliği kapsamında ÖÇ'nin YYY uygulamalarını ne ölçüde modelleyebileceği ya da temsil yeteneğinin ne ölçüde güçlü olduğudur [14]. Genel olarak sorun yaşanmamakla birlikte tasarımın bazı detaylarında güçlükler gözlenmiştir. ...
Conference Paper
Full-text available
Günümüzde yazılım ömür devri kısalmış, güncel yazılım yöntem ve teknikleriyle geliştirilen sistemler eski yazılım sistemleri (legacy system) arasında yer almaya başlamıştır. Dolayısıyla, Yazılım Yeniden Yapılamanın (Software Re-engineering) (YYY) önemi artarak devam etmektedir. Bu bağlamda YYY projelerinde kullanılacak yazılım süreç modelleri iş kuralları, teknoloji ve bilgi alanından bağımsız olabilmeli ve her türlü yazılım gereksinimine cevap verebilmelidir. Çevik yazılım geliştirme yöntem ve uygulamaları desteklenirken yazılım takımları kendi ihtiyaçları ve deneyimleri doğrultusunda YYY için gereken uygulama, araç ve teknikleri esnek biçimde kullanabilmelidir. Değişik büyüklük, yapı ve platformdaki yazılım sistemlerine kolayca uyarlanabilmeli, küçük çaplı projeden büyüğe doğru evirilebilen ve ölçeklenebilir nitelikte olmalıdır. Literatür incelendiğinde söz konusu problem sahalarına çözüm getirebilecek bir YYY çerçevesinin olmadığı gözlenmektedir. Bu amaçla çalışmamızda, YYY süreçlerini bütünleşik olarak ele alan ve Öz Çerçeve (Essence Framework) (ÖÇ) Standardına dayalı bir YYY modeli geliştirilmiştir. İlk izlenimlerimiz önerilen modelin yazılım mühendisliği alanına katkıda bulunabilecek nitelikte olduğu, endüstri uygu-lamaları ve deneysel veriyle desteklenmesi gerektiği yönündedir.
... In our earlier work we have proposed an approach that can be used to model PLE methods using the Essence framework [30]. In that study we have shown that the Essence framework is expressive to model the selected PLE method, but we have also identified several challenges due to the two-life cycle approach of PLE. ...
Conference Paper
Full-text available
The Essence framework has been recently defined as a basis for modeling various kinds of software development methods. The framework includes the necessary concepts to instantiate the software development methods. In this way a new method can be better understood, learned and compared with other methods. In practice, it is not straightforward to model a given software development method using the Essence framework. In this paper we provide a systematic approach for mapping methods to the elements of the Essence framework. To illustrate our approach, we use the mapping of the Nexus, a scaled agile approach, to the Essence framework. We report on the lessons learned and provide our conclusions.
Article
Full-text available
This paper shows how Scrum project management practice can be described using Essence kernel and language which has recently been adopted as an official Object Management Group standard for creating and enacting software engineering methods. Practical benefits of using Essence as a common foundation for defining software engineering practices are demonstrated. These practical benefits include the ability to compare practices, assess potential gaps, make needed practice improvements, and assemble select practices into a coherent method to benefit the project team. In addition, by providing practical checklists, as opposed to conceptual discussions, the Essence-powered practice becomes something the team uses on a daily basis. This is a fundamental difference from traditional approaches, which tend to overemphasize method description as opposed to method use
Article
Full-text available
ContextAn optimal software development process is regarded as being dependent on the situational characteristics of individual software development settings. Such characteristics include the nature of the application(s) under development, team size, requirements volatility and personnel experience. However, no comprehensive reference framework of the situational factors affecting the software development process is presently available.Objective The absence of such a comprehensive reference framework of the situational factors affecting the software development process is problematic not just because it inhibits our ability to optimise the software development process, but perhaps more importantly, because it potentially undermines our capacity to ascertain the key constraints and characteristics of a software development setting.Method To address this deficiency, we have consolidated a substantial body of related research into an initial reference framework of the situational factors affecting the software development process. To support the data consolidation, we have applied rigorous data coding techniques from Grounded Theory and we believe that the resulting framework represents an important contribution to the software engineering field of knowledge.ResultsThe resulting reference framework of situational factors consists of eight classifications and 44 factors that inform the software process. We believe that the situational factor reference framework presented herein represents a sound initial reference framework for the key situational elements affecting the software process definition.Conclusion In addition to providing a useful reference listing for the research community and for committees engaged in the development of standards, the reference framework also provides support for practitioners who are challenged with defining and maintaining software development processes. Furthermore, this framework can be used to develop a profile of the situational characteristics of a software development setting, which in turn provides a sound foundation for software development process definition and optimisation.
Conference Paper
Full-text available
Independently from which software process was selected for a company or a project, the selected software process usually cannot be applied without any customization. Although the need to tailor a software process to specific project require-ments seems to be widely accepted and unquestioned, the way of doing the tailoring remains unclear and is, therefore, often left to the expertise of process engineers or project managers. What are the criteria to be applied in the tailor-ing? What are dependencies between different criteria and how should certain criteria influence the software process? In this paper we investigate concrete tailoring criteria for the tailoring of software processes. To this end, we present a collection of 49 tailoring criteria as the outcomes of a sys-tematic literature review. We further analyze the impact of the discovered tailoring criteria by relating them to a set of 20 exemplary tailoring actions, which affect the project-specific software process. Our outcomes show that the fac-tors influencing the tailoring are well understood, however, the consequences of the criteria remain abstract and need to be interpreted on a project-per-project basis.
Chapter
The Internet of Things (IoT) is a global network of smart devices which enables these objects to collect and exchange data. Research in the IoT is still progressing, and it is now being applied in various domains. One of the key observations is that the development of IoT systems is not trivial and needs to be carefully managed to meet the required functional and quality concerns. Due to the heterogeneous aspects including software, hardware, and communication, developing the IoT systems implies various challenges that need to be explicitly considered in the development process and successfully resolved. Unfortunately, less focus has been provided so far on the development methods for the IoT systems. To address the particular IoT development concerns, we analyze and discuss the existing approaches that target the development of IoT systems. For this purpose, we use the Essence Framework, which has been recently developed as a framework for modeling various kinds of software development practices and methods. We propose an initial practice library, which can be used to develop and/or tailor project-specific IoT system development methods.
Article
software knows it is a complex and risky business, and its participants are always on the lookout for new ideas that will lead to better software. Fortunately, software engineering is still a young and growing profession that sees innovations and improvements in best practices every year. Just look, for example, at the improvements and benefits that lean and agile thinking have brought to software-development teams. Successful software-development teams need to strike a balance between quickly delivering working software systems, satisfying their stakeholders.
Conference Paper
In this paper we present a comparison of the draft Essence 1.0 and SPEM 2.0 specifications for software engineering methods. The comparison is based on results from the REMICS research project where we are defining an agile methodology for model-driven modernization of legacy applications to service clouds.