There exists some analysis on the evolution of spl e. The fosd meeting is an informal meeting designed to bring together researchers working on featureoriented software development fosd. Ahead functions capture the lockstep update of program artifacts when a feature is added to a program. Evolution feature oriented model driven product line. A feature interaction occurs when one or more features modify or influence other features 14.
Instead of having an individual deployment of the system for each customer, in the saas model. This evidence strongly suggests that featureoriented modules will form a cornerstore of future software development technologies. Each crosscutting feature is an independent module that fundamentally yields an open system from a veri cation perspective. Feature interactions are a key issue in featureoriented designs. The approach will support dynamic evolution of the software service in clouds via a set of discovered evolution patterns. Evolutionary model is a combination of iterative and incremental model of software development life cycle. Research article open archive remodularizing java programs for improved locality of feature implementations in source code. Keywords feature model, featureoriented programming, eclipsefeatureide environment, banking software.
However, it cannot support the traceability naturally due to the big gap. Featureoriented software development a short tutorial on featureoriented programming. Mapping requirements to software architecture by feature. Ecco 3 is a featureoriented source code repository which allows maintaining and management variants and versions of feature implementations and automatically establishing and maintaining featuretocode mappings.
Different spl implementation techniques are integrated such as featureoriented programming. Feature models themselves are used as an enabling technique to model evolution plans. Modeldriven support for product line evolution on feature level a pleuss, g botterweck, d dhungana, a polzer, s kowalewski journal of systems and software 85 10, 22612274, 2012. An overview of featureoriented software development. Home icps proceedings vamos featureoriented software evolution. This software featurebased evolution variability modelling technique has led to an introduction of a new methodology producing an extended feature. Featureoriented software designs capture many interesting notions of crosscutting, and o er a powerful method for building productline architectures. Featureoriented development of software product lines. We evaluate our prototype implementation of fever by manually validating a subset of 300 randomly selected commits we extracted from release v3. Aosd workshop on linking aspect technology and evolution late, pp. Second, we exemplify featureoriented programming with. Then, we present the featureoriented change model we use to describe the evolution of such systems in section 4. In this paper, we develop a vision of software evolution based on a featureoriented perspective.
Software product lines spls, or software product line development, refers to software engineering methods, tools and techniques for creating a collection of similar software systems from a shared set of software assets using a common means of production the carnegie mellon software engineering institute defines a software product line as a set of softwareintensive systems that share a. Delivering your system in a big bang release, delivering it in incremental process over time is the action done in this model. Using feature as the firstclass entity for software evolution can improve program comprehension and design recovery. The features will first be located and mapped to the implementation module so that featureoriented components can be identified and retrieved, and then, through the analysis of the feature relations, the design model of legacy system can be recovered and used for the future evolution. We describe desiderata for verifying such modules through model.
Regarding software changes, in the last years more and more approaches were made in featureoriented software evolution and changes. Featureoriented modeldriven design fomdd combines the ideas of ahead with modeldriven design mdd a. Modeling interactions in feature oriented software designs. Featureoriented software evolution proceedings of the.
To optimally support model evolution, developers need adequate tools for model versioning tasks, including comparison, patching, and merging of models. Featureoriented software evolution chair of software engineering. Information on feature oriented programming fop also known as feature oriented software development fosd can be found here fosd on wikipedia. Featureide is an eclipsebased ide that supports all phases of featureoriented software development for the development of spls. The key research problems change propagation and traceability in requirementsdriven service evolution are discussed and the concept of feature is used to bridge the gap between requirements model and services model. Chapter 4 featureoriented programming in model driven. Scalable composition, evolution and verification through. Software engineering evolutionary model geeksforgeeks. A comprehensive featureoriented traceability model for. Evolution feature oriented model driven product line engineering approach for synergistic and dynamic service evolution in clouds. Featureoriented programming in model driven development. To address this problem, this paper proposes a software architecture to support computational reflection of runtime variability, along with a corresponding causalconnection mechanism to realize the introspection and intercession i.
It started in 2009 and has since evolved and expanded in what now is an international event. Assuming that the hypothesis holds, we argue that featureoriented software. Looking at the evolution of pl methods in relation to each other, one could extract the picture shown in. Assuming that the hypothesis holds, we argue that featureoriented software evolution relying on automatic traceability, analyses, and recommendations reduces existing challenges in understanding and managing evolution. Software engineering, icse, ieee, washington, dc, usa 2009, pp. Semantic evolution analysis of feature models request pdf. A shift to featureoriented modules, however, has farreaching effects in. The goal of fosd is to decompose a software system in terms of the features it provides and to create many different software products that share common features and differ in other. It makes a broad consistent software evolution possible. Software en gineers have a deep understanding of the changes at the code level, but much less so at the system level, including physical models. Featureoriented evolution of automation software systems in industrial software ecosystems. Module 2 christian doppler laboratory monitoring and.
In this paper, an approach is proposed to recover software design based on the feature model, which is a kind of legacy system knowledge. Featureoriented software evolution generative software. Its aim is to decrease the complexity of software engineering to a minimum by creating and maintaining only the necessary information at each stage and abstraction level in the software. Impact of unified userstorybased modeling on agile methods.
Modeldriven engineering mde is a development methodology that is based on models, metamodels, and model transformations model2model or model2text. Featureoriented software development carnegie mellon university. Supporting feature model evolution by lifting codelevel dependencies 5 table 2. Delivering software as a service saas has become a major trend in the last years. It functions like the heart in economic structure, where the capital provided by it acts like the blood. Introduction banking industry plays an important role in the economic life of the nation. Model check software product line propositional formula code fragment type check. Our approach consists of the following key elements.
Fosd 2015 is organized with support from the province of upper austria and the christian doppler laboratory mevss. From the fact that features provide a common ground to all stakeholders, we derive a hypothesis that changes can be e ectively managed in a featureoriented manner. Featureoriented traceability is essential for efficient software product line spl development, including product derivation and spl evolution. On the use of featureoriented programming for evolving software. Supporting feature model evolution by lifting codelevel. On the use of featureoriented programming for evolving.
Feature oriented modelling of product line evolution. Aspectoriented software development describes a number of approaches to software modularization and composition including, in order of publication, reflection and metaobject protocols, composition filters, developed at the university of twente in the netherlands, subjectoriented programming later extended as multidimensional separation of concerns at ibm, feature oriented. In this section, we provide definition and modelling for all the concepts related to duplication in featureoriented software product lines. Modelling and correcting duplication in evolving software. School of computing, edinburgh napier universityeh10 5dt, edinburgh, uk. Featureoriented software evolution proceedings of the seventh. The paper proposes a unified formal model driven approach to software evolution based on both program. Usecases are often found in the software product line engineering sple community, where fosd is one emerging field of implementation techniques whitepapers and tutorials on practical. It extends the concept of fop to all software artifacts, e. Featureoriented software development fosd is a paradigm for the. An extensible framework for featureoriented software. Proactive evolution is not supported by model comparison tools. Modelling product line evolution in this section we present our approach to featureoriented modelling of product line evolution.
Containment hierarchy left and feature model right of the expressionevaluatorexample. Proceedings of the 9th international software product line conference, splc. Tracking the evolution of feature oriented product lines. A feature is a unit of functionality of a software system that satisfies a requirement, represents a design decision, and provides a potential configuration option. In software ecosystems, individual products are often derived and adapted by adding new features or creating new versions of existing features to meet the customerspecific requirements. Many splrelated paradigms have been proposed, among which featureoriented software development fosd is an approach that structures the design and code of a software system using the concept of a feature. Ecco will serve as the underlying code repositiory of. Features are used for the specification of commonalities and variabilities of software systems. Evolving deltaoriented software product line architectures arxiv. Combining featureoriented and aspectoriented programming. Duplication detection when evolving feature models. We illustrate these ideas using an automotive example and raise research questions for the community. We therefore propose a new way of dealing with proactive evolution of feature models. Preface to the special issue on featureoriented software development fosd 2009 sven apel, christian lengauer, julia lawall.
See jan oliver ringerts webpage and contact details. Using featureoriented analysis to recover legacy software design for software evolution. A feature is a semantically cohesive unit of behavior of a software system. While standardization has empowered the software industry to substantially scale software. Citeseerx document details isaac councill, lee giles, pradeep teregowda. Change impact analysis for maintenance and evolution of variable software systems. Featureoriented development, software evolution, traceabil ity, analysis. Applying featureoriented software development in saas. But there are other functional relationships among program artifacts that express derivations. An initial survey informed us that such an approach does not exist yet and is in urgent need. Widelyused feature based method has been proved to be effective in domain analysis and modeling. Featureide an extensible framework for featureoriented.
Fosd feature oriented software development meeting 2017. Featureoriented programming fop is a programming paradigm, where feature is a major component. First, we introduce product lines, such as feature models and the process of domain engineering. Combining featureoriented and aspectoriented programming to support software evolution. Higherorder delta modeling for software product line. Requirementsdriven software service evolution springerlink. A development process for featureoriented product lines. Feature oriented programming fop is a specific approach to spl development where features not only sketch increments in program functionality, but are the building blocks of programs. In contrast, software architecting is concerned with the shape of the solution. In featureoriented spls, domain and application models. Fosd15 group picture the 7th meeting on featureoriented software development attracted 48 people from brazil, canada, denmark, germany, france, norway, spain, sweden, usa, and austria. From the fact that features provide a common ground to all stakeholders, we derive a hypothesis that changes can be effectively managed in a featureoriented manner. Using featureoriented analysis to recover legacy software. Software product lines reconcile mass production and standardization with mass customization in software engineering.
1162 18 546 42 583 198 1341 253 864 807 283 1317 506 1515 411 578 841 490 1413 955 1029 1332 6 352 52 89 1140 176 541 682 132 942