5,044 research outputs found

    Analysing the Contribution of Coupling Metrics for the Development and Management of Process Architectures

    Get PDF
    Currently, the development and modeling of enterprise architectures is an intensively discussed topic in both science and practice. Process architectures represent a core element in recent enterprise architecture frameworks. With process models being a central means for communicating and documenting the process architectures, both their quality and understandability are decisive. However, the concept of process model quality is still not fully understood. The recent development has highlighted the role of coupling in models. Coupling is expected to represent an important dimension of quality for conceptual models. Still, this perspective is hardly understood and its definition vague. Therefore, this work collects diverse coupling interpretations in the field of process modelling and integrates them to a common and precise definition. Once introduced and formally specified, the metrics serve as a basis for a discussion on coupling and on how the future development in respect to coupling could look like. The main findings are that currently metrics evaluate either the documentation of the process architecture regarding its understandability or they contribute to the individual applications of process architectures. These findings support practitioners selecting metrics for a particular task and scientists to identify research gaps for further development

    Coordination Implications of Software Coupling in Open Source Projects

    Get PDF
    The effect of software coupling on the quality of software has been studied quite widely since the seminal paper on software modularity by Parnas [1]. However, the effect of the increase in software coupling on the coordination of the developers has not been researched as much. In commercial software development environments there normally are coordination mechanisms in place to manage the coordination requirements due to software dependencies. But, in the case of Open Source software such coordination mechanisms are harder to implement, as the developers tend to rely solely on electronic means of communication. Hence, an understanding of the changing coordination requirements is essential to the management of an Open Source project. In this paper we study the effect of changes in software coupling on the coordination requirements in a case study of a popular Open Source project called JBoss

    Assessing architectural evolution: A case study

    Get PDF
    This is the post-print version of the Article. The official published can be accessed from the link below - Copyright @ 2011 SpringerThis paper proposes to use a historical perspective on generic laws, principles, and guidelines, like Lehman’s software evolution laws and Martin’s design principles, in order to achieve a multi-faceted process and structural assessment of a system’s architectural evolution. We present a simple structural model with associated historical metrics and visualizations that could form part of an architect’s dashboard. We perform such an assessment for the Eclipse SDK, as a case study of a large, complex, and long-lived system for which sustained effective architectural evolution is paramount. The twofold aim of checking generic principles on a well-know system is, on the one hand, to see whether there are certain lessons that could be learned for best practice of architectural evolution, and on the other hand to get more insights about the applicability of such principles. We find that while the Eclipse SDK does follow several of the laws and principles, there are some deviations, and we discuss areas of architectural improvement and limitations of the assessment approach

    Microservice Transition and its Granularity Problem: A Systematic Mapping Study

    Get PDF
    Microservices have gained wide recognition and acceptance in software industries as an emerging architectural style for autonomic, scalable, and more reliable computing. The transition to microservices has been highly motivated by the need for better alignment of technical design decisions with improving value potentials of architectures. Despite microservices' popularity, research still lacks disciplined understanding of transition and consensus on the principles and activities underlying "micro-ing" architectures. In this paper, we report on a systematic mapping study that consolidates various views, approaches and activities that commonly assist in the transition to microservices. The study aims to provide a better understanding of the transition; it also contributes a working definition of the transition and technical activities underlying it. We term the transition and technical activities leading to microservice architectures as microservitization. We then shed light on a fundamental problem of microservitization: microservice granularity and reasoning about its adaptation as first-class entities. This study reviews state-of-the-art and -practice related to reasoning about microservice granularity; it reviews modelling approaches, aspects considered, guidelines and processes used to reason about microservice granularity. This study identifies opportunities for future research and development related to reasoning about microservice granularity.Comment: 36 pages including references, 6 figures, and 3 table

    A goal-oriented approach for the generation and evaluation of alternative architectures

    Get PDF
    There is a recognized gap between requirements and architectures. There is also evidence that architecture evaluation, when done at the early phases of the development lifecycle, is an effective way to ensure the quality attributes of the final system. As quality attributes may be satisfied at a different extent by different alternative architectural solutions, an exploration and evaluation of alternatives is often needed. In order to address this issue at the requirements level, we propose to model architectures using the i* framework, a goal-oriented modelling language that allows to represent the functional and non-functional requirements of an architecture using actors and dependencies instead of components and connectors. Once the architectures are modelled, we propose guidelines for the generation of alternative architectures based upon existing architectural patterns, and for the definition of structural metrics for the evaluation of the resulting alternative models. The applicability of the approach is shown with the Home Service Robot case study.Peer ReviewedPostprint (author's final draft

    Design Performance Measurement in the Construction Sector: A Pilot Study

    Get PDF
    This paper examines the role and deployment of design performance measurements (DPMs) in the construction industry, focusing on the consulting engineering sector, the design 'heart' of construction. Compared with manufacturing, there has been very little research on the use of DPMs in construction, and firms often struggle to find appropriate performance indicators. Using results from structured questionnaires, the paper shows that the few DPMs which do exist focus mainly on cost. Other measures are needed to address quality, innovative performance and client satisfaction. In contrast to manufacturing, DPMs in construction also need to address the project-based, multi-firm and non-routine nature of construction design, as well as the separation of design from manufacturing, build and operation. Interviews and workshops with industrialists were used to identify recent DPM practices in construction and combine these with lessons from other sectors. The resulting DPM tools provide guidance on how to: (a) integrate design into wider business processes in construction; (b) identify key design indicators, at both project and firm level; and (c) use DPMs to provide a balanced scorecard for design performance.performance indicators, design integration, design indicators, construction industry

    Identification of microservices from monolithic applications through topic modelling

    Get PDF
    Dissertação de mestrado em Informatics EngineeringMicroservices emerged as one of the most popular architectural patterns in the recent years given the increased need to scale, grow and flexibilize software projects accompanied by the growth in cloud computing and DevOps. Many software applications are being submitted to a process of migration from its monolithic architecture to a more modular, scalable and flexible architecture of microservices. This process is slow and, depending on the project’s complexity, it may take months or even years to complete. This dissertation proposes a new approach on microservices identification by resorting to topic modelling in order to identify services according to domain terms. This approach in combination with clustering techniques produces a set of services based on the original software. The proposed methodology is implemented as an open-source tool for exploration of monolithic architectures and identification of microservices. An extensive quantitative analysis using the state of the art metrics on independence of functionality and modularity of services was conducted on 200 open-source projects collected from GitHub. Cohesion at message and domain level metrics showed medians of roughly 0.6. Interfaces per service exhibited a median of 1.5 with a compact interquartile range. Structural and conceptual modularity revealed medians of 0.2 and 0.4 respectively. Further analysis to understand if the methodology works better for smaller/larger projects revealed an overall stability and similar performance across metrics. Our first results are positive demonstrating beneficial identification of services due to overall metrics’ results.Os microserviços emergiram como um dos padrĂ”es arquiteturais mais populares na atualidade dado o aumento da necessidade em escalar, crescer e flexibilizar projetos de software, acompanhados da crescente da computação na cloud e DevOps. Muitas aplicaçÔes estĂŁo a ser submetidas a processos de migração de uma arquitetura monolĂ­tica para uma arquitetura mais modular, escalĂĄvel e flexivel de microserviços. Este processo de migração Ă© lento, e dependendo da complexidade do projeto, poderĂĄ levar vĂĄrios meses ou mesmo anos a completar. Esta dissertação propĂ”e uma nova abordagem na identificação de microserviços recorrendo a modelação de tĂłpicos de forma a identificar serviços de acordo com termos de domĂ­nio de um projeto de software. Esta abordagem em combinação com tĂ©cnicas de clustering produz um conjunto de serviços baseado no projeto de software original. A metodologia proposta Ă© implementada como uma ferramenta open-source para exploração de arquiteturas monolĂ­ticas e identificação de microserviços. Uma anĂĄlise quantitativa extensa recorrendo a mĂ©tricas de independĂȘncia de funcionalidade e modularidade de serviços foi conduzida em 200 aplicaçÔes open-source recolhidas do GitHub. MĂ©tricas de coesĂŁo ao nĂ­vel da mensagem e domĂ­nio revelaram medianas em torno de 0.6. Interfaces por serviço demonstraram uma mediana de 1.5 com um intervalo interquartil compacto. MĂ©tricas de modularidade estrutural e conceptual revelaram medianas de 0.2 e 0.4 respetivamente. Uma anĂĄlise mais aprofundada para tentar perceber se a metodologia funciona melhor para projetos de diferentes dimensĂ”es/caracterĂ­sticas revelaram uma estabilidade geral do funcionamento do mĂ©todo. Os primeiros resultados sĂŁo positivos demonstrando identificaçÔes de serviços benĂ©ficos tendo em conta que os valores das mĂ©tricas sĂŁo de uma forma global positivos e promissores

    Software Evolution for Industrial Automation Systems. Literature Overview

    Get PDF
    • 

    corecore