157,263 research outputs found

    Automated analysis of feature models: Quo vadis?

    Get PDF
    Feature models have been used since the 90's to describe software product lines as a way of reusing common parts in a family of software systems. In 2010, a systematic literature review was published summarizing the advances and settling the basis of the area of Automated Analysis of Feature Models (AAFM). From then on, different studies have applied the AAFM in different domains. In this paper, we provide an overview of the evolution of this field since 2010 by performing a systematic mapping study considering 423 primary sources. We found six different variability facets where the AAFM is being applied that define the tendencies: product configuration and derivation; testing and evolution; reverse engineering; multi-model variability-analysis; variability modelling and variability-intensive systems. We also confirmed that there is a lack of industrial evidence in most of the cases. Finally, we present where and when the papers have been published and who are the authors and institutions that are contributing to the field. We observed that the maturity is proven by the increment in the number of journals published along the years as well as the diversity of conferences and workshops where papers are published. We also suggest some synergies with other areas such as cloud or mobile computing among others that can motivate further research in the future.Ministerio de Economía y Competitividad TIN2015-70560-RJunta de Andalucía TIC-186

    Variability and Evolution in Systems of Systems

    Full text link
    In this position paper (1) we discuss two particular aspects of Systems of Systems, i.e., variability and evolution. (2) We argue that concepts from Product Line Engineering and Software Evolution are relevant to Systems of Systems Engineering. (3) Conversely, concepts from Systems of Systems Engineering can be helpful in Product Line Engineering and Software Evolution. Hence, we argue that an exchange of concepts between the disciplines would be beneficial.Comment: In Proceedings AiSoS 2013, arXiv:1311.319

    Using problem descriptions to represent variabilities for context-aware applications

    Get PDF
    This paper investigates the potential use of problem descriptions to represent and analyse variability in context-aware software products. By context-aware, we refer to recognition of changes in properties of external domains, which are recognised as affecting the behaviour of products. There are many reasons for changes in the operating environment, from fluctuating resources upon which the product relies, to different operating locations or the presence of objects. There is an increasing expectation for software intensivedevices to be context-aware which, in turn, adds further variability to problem description and analysis. However, we argue in this paper that the capture of contextual variability on current variability representations and analyses has yet to be explored. We illustrate the representation of this type of variability in a pilot study, and conclude with lessons learnt and an agenda for further work

    A heuristic-based approach to code-smell detection

    Get PDF
    Encapsulation and data hiding are central tenets of the object oriented paradigm. Deciding what data and behaviour to form into a class and where to draw the line between its public and private details can make the difference between a class that is an understandable, flexible and reusable abstraction and one which is not. This decision is a difficult one and may easily result in poor encapsulation which can then have serious implications for a number of system qualities. It is often hard to identify such encapsulation problems within large software systems until they cause a maintenance problem (which is usually too late) and attempting to perform such analysis manually can also be tedious and error prone. Two of the common encapsulation problems that can arise as a consequence of this decomposition process are data classes and god classes. Typically, these two problems occur together – data classes are lacking in functionality that has typically been sucked into an over-complicated and domineering god class. This paper describes the architecture of a tool which automatically detects data and god classes that has been developed as a plug-in for the Eclipse IDE. The technique has been evaluated in a controlled study on two large open source systems which compare the tool results to similar work by Marinescu, who employs a metrics-based approach to detecting such features. The study provides some valuable insights into the strengths and weaknesses of the two approache

    'Create the future': an environment for excellence in teaching future-oriented Industrial Design Engineering

    Get PDF
    In 2001, the University of Twente started a new course on Industrial Design Engineering. This paper describes the insights that have been employed in developing the curriculum, and in developing the environment in which the educational activities are facilitated. The University of Twente has a broad experience with project-oriented education [1], and because one of the goals of the curriculum is to get the students acquainted with working methods as employed in e.g. design bureaus, this project-oriented approach has been used as the basis for the new course. In everyday practice, this implies a number of prerequisites to be imposed on the learning environment: instead of focusing on the sheer transfer of information, this environment must allow the students to imbibe the knowledge and competences that make them better designers. Consequently, a much more flexible environment has to be created, in which working as a team becomes habitual, and where cutting-edge technologies are available to facilitate the process. This can be realized because every student owns a laptop, with all relevant software and a full-grown course management system within reach. Moreover, the learning environment provides the fastest possible wireless network and Internet access available [2]. This obviously has its repercussions on the way the education is organized. On the one hand, e.g. virtual reality tools, CAD software and 3D printing are addressed in the curriculum, whereas on the other hand more traditional techniques (like sketching and model making) are conveyed explicitly as well. Together with a sound footing in basic disciplines ranging from mathematics to design history, this course offers the students a profound education in Industrial Design Engineering. The paper describes in more detail the curriculum and the education environment, based on which it is assessed if the course on Industrial Design Engineering can live up to its motto: ‘Create the future’, and what can be done to further enable the students to acquire the full denotation of that motto

    Software development: A paradigm for the future

    Get PDF
    A new paradigm for software development that treats software development as an experimental activity is presented. It provides built-in mechanisms for learning how to develop software better and reusing previous experience in the forms of knowledge, processes, and products. It uses models and measures to aid in the tasks of characterization, evaluation and motivation. An organization scheme is proposed for separating the project-specific focus from the organization's learning and reuse focuses of software development. The implications of this approach for corporations, research and education are discussed and some research activities currently underway at the University of Maryland that support this approach are presented
    corecore