917 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

    Defining and validating a multimodel approach for product architecture derivation and improvement

    Full text link
    The final publication is available at Springer via http://dx.doi.org/10.1007/978-3-642-41533-3_24Software architectures are the key to achieving the non-functional requirements (NFRs) in any software project. In software product line (SPL) development, it is crucial to identify whether the NFRs for a specific product can be attained with the built-in architectural variation mechanisms of the product line architecture, or whether additional architectural transformations are required. This paper presents a multimodel approach for quality-driven product architecture derivation and improvement (QuaDAI). A controlled experiment is also presented with the objective of comparing the effectiveness, efficiency, perceived ease of use, intention to use and perceived usefulness with regard to participants using QuaDAI as opposed to the Architecture Tradeoff Analysis Method (ATAM). The results show that QuaDAI is more efficient and perceived as easier to use than ATAM, from the perspective of novice software architecture evaluators. However, the other variables were not found to be statistically significant. Further replications are needed to obtain more conclusive results.This research is supported by the MULTIPLE project (MICINN TIN2009-13838) and the Vali+D fellowship program (ACIF/2011/235).González Huerta, J.; Insfrán Pelozo, CE.; Abrahao Gonzales, SM. (2013). Defining and validating a multimodel approach for product architecture derivation and improvement. En Model-Driven Engineering Languages and Systems. Springer. 388-404. https://doi.org/10.1007/978-3-642-41533-3_24S388404Ali-Babar, M., Lago, P., Van Deursen, A.: Empirical research in software architecture: opportunities, challenges, and approaches. Empirical Software Engineering 16(5), 539–543 (2011)Ali-Babar, M., Zhu, L., Jeffery, R.: A Framework for Classifying and Comparing Software Architecture Evaluation Methods. In: 15th Australian Software Engineering Conference, Melbourne, Australia, pp. 309–318 (2004)Basili, V.R., Rombach, H.D.: The TAME project: towards improvement-oriented software environments. IEEE Transactions on Software Engineering 14(6), 758–773 (1988)Barkmeyer, E.J., Feeney, A.B., Denno, P., Flater, D.W., Libes, D.E., Steves, M.P., Wallace, E.K.: Concepts for Automating Systems Integration NISTIR 6928. National Institute of Standards and Technology, U.S. Dept. of Commerce (2003)Bosch, J.: Design and Use of Software Architectures. Adopting and Evolving Product-Line Approach. Addison-Wesley, Harlow (2000)Botterweck, G., O’Brien, L., Thiel, S.: Model-driven derivation of product architectures. In: 22th Int. Conf. on Automated Software Engineering, New York, USA, pp. 469–472 (2007)Buschmann, F., Meunier, R., Rohnert, H., Sommerlad, P., Stal, M.: Pattern-Oriented software architecture, vol. 1: A System of Patterns. Wiley (1996)Cabello, M.E., Ramos, I., Gómez, A., Limón, R.: Baseline-Oriented Modeling: An MDA Approach Based on Software Product Lines for the Expert Systems Development. In: 1st Asia Conference on Intelligent Information and Database Systems, Vietnam (2009)Carifio, J., Perla, R.J.: Ten Common Misunderstandings, Misconceptions, Persistent Myths and Urban Legends about Likert Scales and Likert Response Formats and their Antidotes. Journal of Social Sciences 3(3), 106–116 (2007)Clements, P., Northrop, L.: Software Product Lines: Practices and Patterns. Addison-Wesley, Boston (2007)Czarnecki, K., Kim, C.H.: Cardinality-based feature modeling and constraints: A progress report. In: Int. Workshop on Software Factories, San Diego-CA (2005)Datorro, J.: Convex Optimization & Euclidean Distance Geometry. Meboo Publishing (2005)Davis, F.D.: Perceived usefulness, perceived ease of use and user acceptance of information technology. MIS Quarterly 13(3), 319–340 (1989)Douglass, B.P.: Real-Time Design Patterns: Robust Scalable Architecture for Real-Time Systems. Addison-Wesley, Boston (2002)Feiler, P.H., Gluch, D.P., Hudak, J.: The Architecture Analysis & Design Language (AADL): An Introduction. Tech. Report CMU/SEI-2006-TN-011. SEI, Carnegie Mellon University (2006)Gómez, A., Ramos, I.: Cardinality-based feature modeling and model-driven engineering: Fitting them together. In: 4th Int. Workshop on Variability Modeling of Software Intensive Systems, Linz, Austria (2010)Gonzalez-Huerta, J., Insfran, E., Abrahao, S.: A Multimodel for Integrating Quality Assessment in Model-Driven Engineering. In: 8th International Conference on the Quality of Information and Communications Technology (QUATIC 2012), Lisbon, Portugal, September 3-6 (2012)Gonzalez-Huerta, J., Insfran, E., Abrahao, S., McGregor, J.D.: Non-functional Requirements in Model-Driven Software Product Line Engineering. In: 4th Int. Workshop on Non-functional System Properties in Domain Specific Modeling Languages, Insbruck, Austria (2012)Guana, V., Correal, V.: Variability quality evaluation on component-based software product lines. In: 15th Int. Software Product Line Conference, Munich, Germany, vol. 2, pp. 19.1–19.8 (2011)Insfrán, E., Abrahão, S., González-Huerta, J., McGregor, J.D., Ramos, I.: A Multimodeling Approach for Quality-Driven Architecture Derivation. In: 21st Int. Conf. on Information Systems Development (ISD 2012), Prato, Italy (2012)ISO/IEC 25000:2005, Software Engineering. Software product Quality Requirements and Evaluation SQuaRE (2005)Kazman, R., Klein, M., Clements, P.: ATAM: Method for Architecture Evaluation (CMU/SEI-2000-TR-004, ADA382629). Software Engineering Institute, Carnegie Mellon University, Pittsburgh (2000), http://www.sei.cmu.edu/publications/documents/00.reports/00tr004.htmlKim, T., Ko, I., Kang, S., Lee, D.: Extending ATAM to assess product line architecture. In: 8th IEEE Int. Conference on Computer and Information Technology, Sydney, Australia, pp. 790–797 (2008)Kitchenham, B.A., Pfleeger, S.L., Hoaglin, D.C., Rosenber, J.: Preliminary Guidelines for Empirical Research in Software Engineering. IEEE Transactions on Software Engineering 28(8) (2002)Kruchten, P.B.: The Rational Unified Process: An Introduction. Addison-Wesley (1999)Martensson, F.: Software Architecture Quality Evaluation. Approaches in an Industrial Context. Ph. D. thesis, Blekinge Institute of Technology, Karlskrona, Sweden (2006)Maxwell, K.: Applied Statistics for Software Managers. Software Quality Institute Series. Prentice-Hall (2002)Olumofin, F.G., Mišic, V.B.: A holistic architecture assessment method for software product lines. Information and Software Technology 49, 309–323 (2007)Perovich, D., Rossel, P.O., Bastarrica, M.C.: Feature model to product architectures: Applying MDE to Software Product Lines. In: IEEE/IFIP & European Conference on Software Architecture, Helsinki, Findland, pp. 201–210 (2009)Robertson, S., Robertson, J.: Mastering the requirements process. ACM Press, New York (1999)Roos-Frantz, F., Benavides, D., Ruiz-Cortés, A., Heuer, A., Lauenroth, K.: Quality-aware analysis in product line engineering with the orthogonal variability model. Software Quality Journal (2011), doi:10.1007/s11219-011-9156-5Saaty, T.L.: The Analytical Hierarchical Process. McGraw- Hill, New York (1990)Taher, L., Khatib, H.E., Basha, R.: A framework and QoS matchmaking algorithm for dynamic web services selection. In: 2nd Int. Conference on Innovations in Information Technology, Dubai, UAE (2005)Wohlin, C., Runeson, P., Host, M., Ohlsson, M.C., Regnell, B., Weslen, A.: Experimentation in Software Engineering - An Introduction. Kluwer (2000

    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

    Projectional Editing of Software Product Lines–The PEoPL approach

    Get PDF

    A Configuration Management System for Software Product Lines

    Get PDF
    Software product line engineering (SPLE) is a methodology for developing a family of software products in a particular domain by systematic reuse of shared code in order to improve product quality and reduce development time and cost. Currently, there are no software configuration management (SCM) tools that support software product line evolution. Conventional SCM tools are designed to support single product development. The use of conventional SCM tools forces developers to treat a software product line as a single software project by introducing new programming language constructs or using conditional compilation. We propose a research conguration management prototype called Molhado SPL that is designed specifically to support the evolution of software product lines. Molhado SPL addresses the evolution problem at the configuration level instead of at the code level. We studied the type of operations needed to support the evolution of software product lines and proposed a versioning model and eight cases of change propagation. Molhado SPL supports independent evolution of core assets and products, the sharing of code and the tracking relationships between products and shared code, and the eight cases of change propagation. The Molhado SPL consists of four layers with each layer providing a different type of service. At the heart of Molhado SPL are the versioning model, component object, shared component object, and project objects that allow for independent evolution of products and shared artifacts, for sharing, and for supporting change propagation. Furthermore,they allow product specific changes to shared code without interfering with the core asset that is shared. Products can also introduce product specific assets that only exist in that product. In order to for Molhado SPL to support product line, we implemented XML merging, feature model editing and debugging, and version-aware XML documents. To support merging of XML documents, we implemented a 3-way XML document merging algorithm that uses versioned data structures, change detection, and node identity. To support software product line derivation or modeling of software product line, we implemented support for feature model including editing and debugging. Finally, we created the version-aware XML document framework to support collaborative editing of XML documents without requiring a version repository. The version history is embedded in the documents using XML namespaces, so that the documents remain valid under the XML specification. The version-aware XML framework can also be used to support the exporting of documents from Molhado SPL repository to be edit outside and import back the change history made to the document. We evaluated Molhado SPL with two product lines: a document product line and a the graph data structures product line. This evaluation showed that Molhado SPL supports independently evolution of products and core assets and the eight change propagation cases. We did not evaluate MolhadoSPL in terms of scalability or usability. The main contributions of this dissertation research are: 1) Molhado SPL that supports the evolution of product lines, 2) a fast 3-way XML merge algorithm, 3) a version-aware XML document framework, and 4) a feature model editor and debugger

    Sound based social networks

    Get PDF
    The sound environment is an eco of the activity and character of each place, often carrying additional information to that made available to the eyes (both new and redundant). It is, therefore, an intangible and volatile acoustic fingerprint of the place, or simply an acoustic snapshot of a single event. Such rich resource, full of meaning and subtleness, Schaeffer called Soundscape. The exploratory research project presented here addresses the Soundscape in the context of Mobile Online Social Networking, aiming at determining the extent of its applicability regarding the establishment and/or strengthening of new and existing social links. Such research goal demanded an interdisciplinary approach, which we have anchored in three main stems: Soundscapes, Mobile Sound and Social Networking. These three areas pave the scientific ground for this study and are introduced during the first part of the thesis. An extensive survey of the state-of-the-arte projects related with this research is also presented, gathering examples from different but adjacent areas such as mobile sensing, wearable computing, sonification, social media and contextaware computing. This survey validates that our approach is scientifically opportune and unique, at the same time. Furthermore, in order to assess the role of Soundscapes in the context of Social Networking, an experimental procedure has been implemented based on an Online Social Networking mobile application, enriched with environmental sensing mechanisms, able to capture and analyze the surrounding Soundscape and users' movements. Two main goals guided this prototypal research tool: collecting data regarding users' activity (both sonic and kinetic) and providing users with a real experience using a Sound-Based Social Network, in order to collect informed opinions about this unique type of Social Networking. The application – Hurly-Burly – senses the surrounding Soundscape and analyzes it using machine audition techniques, classifying it according to four categories: speech, music, environmental sounds and silence. Additionally, it determines the sound pressure level of the sensed Soundscape in dB(A)eq. This information is then broadcasted to the entire online social network of the user, allowing each element to visualize and audition a representation of the collected data. An individual record for each user is kept available in a webserver and can be accessed through an online application, displaying the continuous acoustic profile of each user along a timeline graph. The experimental procedure included three different test groups, forming each one a social network with a cluster coefficient equal to one. After the implementation and result analysis stages we concluded that Soundscapes can have a role in the Online Social Networking paradigm, specially when concerning mobile applications. Has been proven that current offthe- shelf mobile technology is a promising opportunity for accomplishing this kind of tasks (such as continuous monitoring, life logging and environment sensing) but battery limitations and multitasking's constraints are still the bottleneck, hindering the massification of successful applications. Additionally, online privacy is something that users are not enthusiastic in letting go: using captured sound instead of representations of the sound would abstain users from utilizing such applications. We also demonstrated that users who are more aware of the Soundscape concept are also more inclined to assume it as playing an important role in OSN. This means that more pedagogy towards the acoustic phenomenon is needed and this type of research gives a step further in that direction.O ambiente sonoro de um lugar é um eco da sua atividade e carácter, transportando, na maior parte da vezes, informação adicional àquela que é proporcionada à visão (quer seja redundante ou complementar). É, portanto, uma impressão digital acústica - tangível e volátil - do lugar a que pertence, ou simplesmente uma fotografia acústica de um evento pontual. A este opulento recurso, carregado de significados e subtilezas, Schafer chamou de Paisagem-Sonora. O projeto de investigação de carácter exploratório que aqui apresentamos visa o estudo da Paisagem-Sonora no contexto das Redes Sociais Móveis Em-Linha, procurando entender os moldes e limites da sua aplicação, tendo em vista o estabelecimento e/ou reforço de novos ou existente laços sociais, respectivamente. Para satisfazer este objectivo foi necessária uma abordagem multidisciplinar, ancorada em três pilares principais: a Paisagem-Sonora, o Som Móvel e as Redes Sociais. Estas três áreas determinaram a moldura científica de referência em que se enquadrou esta investigação, sendo explanadas na primeira parte da tese. Um extenso levantamento do estado-da-arte referente a projetos relacionados com este estudo é também apresentado, compilando exemplos de áreas distintas mas adjacentes, tais como: Computação Sensorial Móvel, Computação Vestível, Sonificação, Média Social e Computação Contexto-Dependente. Este levantamento veio confirmar quer a originalidade quer a pertinência científica do projeto apresentado. Posteriormente, a fim de avaliar o papel da Paisagem-Sonora no contexto das Redes Sociais, foi posto em prática um procedimento experimental baseado numa Rede Social Sonora Em-Linha, desenvolvida de raiz para dispositivos móveis e acrescida de mecanismos sensoriais para estímulos ambientais, capazes de analisar a Paisagem-Sonora envolvente e os movimentos do utilizador. Dois objectivos principais guiaram a produção desta ferramenta de investigação: recolher dados relativos à atividade cinética e sonora dos utilizadores e proporcionar a estes uma experiência real de utilização uma Rede Social Sonora, de modo a recolher opiniões fundamentadas sobre esta tipologia específica de socialização. A aplicação – Hurly-Burly – analisa a Paisagem-Sonora através de algoritmos de Audição Computacional, classificando- a de acordo com quatro categorias: diálogo (voz), música, sons ambientais (“ruídos”) e silêncio. Adicionalmente, determina o seu nível de pressão sonora em dB(A)eq. Esta informação é então distribuída pela rede social dos utilizadores, permitindo a cada elemento visualizar e ouvir uma representação do som analisado. É mantido num servidor Web um registo individual da informação sonora e cinética captada, o qual pode ser acedido através de uma aplicação Web que mostra o perfil sonoro de cada utilizador ao longo do tempo, numa visualização ao estilo linha-temporal. O procedimento experimental incluiu três grupos de teste distintos, formando cada um a sua própria rede social com coeficiente de aglomeração igual a um. Após a implementação da experiência e análise de resultados, concluímos que a Paisagem- Sonora pode desempenhar um papel no paradigma das Redes Sociais Em- Linha, em particular no que diz respeito à sua presença nos dispositivos móveis. Ficou provado que os dispositivos móveis comerciais da atualidade apresentam-se com uma oportunidade promissora para desempenhar este tipo de tarefas (tais como: monitorização contínua, registo quotidiano e análise sensorial ambiental), mas as limitações relacionadas com a autonomia energética e funcionamento em multitarefa representam ainda um constrangimento que impede a sua massificação. Além disso, a privacidade no mundo virtual é algo que os utilizadores atuais não estão dispostos a abdicar: partilhar continuamente a Paisagem-Sonora real em detrimento de uma representação de alto nível é algo que refrearia os utilizadores de usar a aplicação. Também demonstrámos que os utilizadores que mais conhecedores do fenómeno da Paisagem-Sonora são também os que consideram esta como importante no contexto das Redes Sociais Em-Linha. Isso significa que uma atitude pedagógica em relação ao fenómeno sonoro é essencial para obter dele o maior ganho possível. Esta investigação propõe-se a dar um passo em frente nessa direção

    Derivation and consistency checking of models in early software product line engineering

    Get PDF
    Dissertação para obtenção do Grau de Doutor em Engenharia InformáticaSoftware Product Line Engineering (SPLE) should offer the ability to express the derivation of product-specific assets, while checking for their consistency. The derivation of product-specific assets is possible using general-purpose programming languages in combination with techniques such as conditional compilation and code generation. On the other hand, consistency checking can be achieved through consistency rules in the form of architectural and design guidelines, programming conventions and well-formedness rules. Current approaches present four shortcomings: (1) focus on code derivation only, (2) ignore consistency problems between the variability model and other complementary specification models used in early SPLE, (3) force developers to learn new, difficult to master, languages to encode the derivation of assets, and (4) offer no tool support. This dissertation presents solutions that contribute to tackle these four shortcomings. These solutions are integrated in the approach Derivation and Consistency Checking of models in early SPLE (DCC4SPL) and its corresponding tool support. The two main components of our approach are the Variability Modelling Language for Requirements(VML4RE), a domain-specific language and derivation infrastructure, and the Variability Consistency Checker (VCC), a verification technique and tool. We validate DCC4SPL demonstrating that it is appropriate to find inconsistencies in early SPL model-based specifications and to specify the derivation of product-specific models.European Project AMPLE, contract IST-33710; Fundação para a Ciência e Tecnologia - SFRH/BD/46194/2008
    corecore