The Experts below are selected from a list of 360 Experts worldwide ranked by ideXlab platform

Paris Avgeriou - One of the best experts on this subject based on the ideXlab platform.

  • The Importance of Architectural Knowledge in Integrating Open Source Software
    2011
    Co-Authors: Klaas-jan Stol, Muhammad Ali Babar, Paris Avgeriou
    Abstract:

    Open Source Software (OSS) is increasingly used in Component-Based Software Development (CBSD) of large software systems. An important issue in CBSD is selection of suitable components. Various OSS selection methods have been proposed, but most of them do not consider the software architecture aspects of OSS products. The Software Architecture (SA) research community refers to a product’s Architectural information, such as design decisions and underlying rationale, and used architecture patterns, as Architecture Knowledge (AK). In order to investigate the importance of AK of OSS components in integration, we conducted an exploratory empirical study. Based on in-depth interviews with 12 IT professionals, this paper presents insights into the following questions: 1) what AK of OSS is needed? 2) Why is AK of OSS needed? 3) Is AK of OSS generally available? And 4) what is the relative importance of AK? Based on these new insights, we provide a research agenda to further the research field of software architecture in OSS.

  • reducing Architectural Knowledge vaporization by applying the repertory grid technique
    European Conference on Software Architecture, 2011
    Co-Authors: Dan Tofan, Matthias Galster, Paris Avgeriou
    Abstract:

    The architecture of a software-intensive system is the composition of Architectural design decisions. These decisions are an important part of Architectural Knowledge (AK). Failure to document Architectural design decisions can lead to AK vaporization and higher maintenance costs. To reduce AK vaporization, we propose to apply the Repertory Grid Technique (RGT) to make tacit Knowledge about architecture decisions explicit. An architect can use the RGT to elicit decision alternatives and concerns, and to rank each alternative against concerns. To validate our approach, we conducted a survey with graduate students. In the survey, participants documented decisions using the RGT. We compared these decisions with decisions documented using a basic decision template. Our results suggest that RGT leads to less AK vaporization, compared to conventional ways of documenting decisions.

  • an enhanced Architectural Knowledge metamodel linking Architectural design decisions to other artifacts in the software engineering lifecycle
    European Conference on Software Architecture, 2011
    Co-Authors: Rafael Capilla, Uwe Zdun, Paris Avgeriou, Olaf Zimmermann, Jochen M Kuster
    Abstract:

    Software architects create and consume many interrelated artifacts during the architecting process. These artifacts may represent functional and nonfunctional requirements, Architectural patterns, infrastructure topology units, code, and deployment descriptors as well as Architecturally significant design decisions. Design decisions have to be linked to chunks of architecture description in order to achieve a fine-grained control when a design is modified. Moreover, it is imperative to identify quickly the key decisions affected by a runtime change that are critical for a system's mission. This paper extends previous work on Architectural Knowledge with a metamodel for Architectural decision capturing and sharing to: (i) create and maintain fine-grained dependency links between the entities during decision identification, making, and enforcement, (ii) keep track of the evolution of the decisions, and (iii) support runtime decisions.

  • capturing tacit Architectural Knowledge using the repertory grid technique nier track nier track
    International Conference on Software Engineering, 2011
    Co-Authors: Dan Tofan, Matthias Galster, Paris Avgeriou
    Abstract:

    Knowledge about the architecture of a software-intensive system tends to vaporize easily. This leads to increased maintenance costs. We explore a new idea: utilizing the repertory grid technique to capture tacit Architectural Knowledge. Particularly, we investigate the elicitation of design decision alternatives and their characteristics. To study the applicability of this idea, we performed an exploratory study. Seven independent subjects applied the repertory grid technique to document a design decision they had to take in previous projects. Then, we interviewed each subject to understand their perception about the technique. We identified advantages and disadvantages of using the technique. The main advantage is the reasoning support it provides; the main disadvantage is the additional effort it requires. Also, applying the technique depends on the context of the project. Using the repertory grid technique is a promising approach for fighting Architectural Knowledge vaporization.

  • workshop on sharing and reusing Architectural Knowledge shark 2011
    International Conference on Software Engineering, 2011
    Co-Authors: Paris Avgeriou, Patricia Lago, Philippe Kruchten
    Abstract:

    Architectural Knowledge (AK) is defined as the integrated representation of the software architecture of a software-intensive system or family of systems along with Architectural decisions and their rationale, external influence and the development environment. The SHARK workshop series focuses on current methods, languages, and tools that can be used to extract, represent, share, apply, and reuse AK, and the experimentation and/or exploitation thereof. This sixth edition of SHARK will discuss, among other topics, the approaches for AK personalization, where Knowledge is not codified through templates or annotations, but it is exchanged through the discussion between the different stakeholders.

Philippe Kruchten - One of the best experts on this subject based on the ideXlab platform.

  • workshop on sharing and reusing Architectural Knowledge shark 2011
    International Conference on Software Engineering, 2011
    Co-Authors: Paris Avgeriou, Patricia Lago, Philippe Kruchten
    Abstract:

    Architectural Knowledge (AK) is defined as the integrated representation of the software architecture of a software-intensive system or family of systems along with Architectural decisions and their rationale, external influence and the development environment. The SHARK workshop series focuses on current methods, languages, and tools that can be used to extract, represent, share, apply, and reuse AK, and the experimentation and/or exploitation thereof. This sixth edition of SHARK will discuss, among other topics, the approaches for AK personalization, where Knowledge is not codified through templates or annotations, but it is exchanged through the discussion between the different stakeholders.

  • where did all this good Architectural Knowledge go
    European Conference on Software Architecture, 2010
    Co-Authors: Philippe Kruchten
    Abstract:

    Software architecture represents a significant intellectual asset. But much of the Architectural Knowledge in organizations is still tacit Knowledge. Different parties involved in software development have different needs in terms of architecture at different point in time, not limited to the architects themselves. How can we deliver the right information at the right time to the right person, as schedules are compressed? And where would the information be coming from? And how good is it? Various strategies have been tried, from central, bureaucratic accumulation of data--codification strategies, to simply giving access to the right person--personalization strategies, and a few hybrid strategies in between. This goes beyond mere software documentation, we need to effectively support the reasoning of the architects and developers.

  • towards using Architectural Knowledge
    ACM Sigsoft Software Engineering Notes, 2009
    Co-Authors: Paris Avgeriou, Patricia Lago, Philippe Kruchten
    Abstract:

    The third workshop on Sharing and Reusing Architectural Knowledge (SHARK) was held jointly with ICSE 2008 in Leipzig, Germany. It featured two keynote talks, thirteen research position statements and three working groups that discussed on focused topics. This report presents the themes of the workshop, summarizes the results of the discussions held, and suggests some topics for future research.

  • documentation of software architecture from a Knowledge management perspective design representation
    Software Architecture Knowledge Management, 2009
    Co-Authors: Philippe Kruchten
    Abstract:

    In this chapter we survey how architects have represented Architectural Knowledge and in particular Architectural design. This has evolved over the last 3 decades, from very intuitive and informal, to very structured, abstract and formal, from simple diagrams and metaphors, design notations, and specific languages. As our understanding of Architectural Knowledge evolved, the importance of design rationale and the decision process became more and more prominent. There is however a constant through this evolution: the systematic use of metaphors.

  • third international workshop on sharing and reusing Architectural Knowledge shark 2008
    International Conference on Software Engineering, 2008
    Co-Authors: Paris Avgeriou, Patricia Lago, Philippe Kruchten
    Abstract:

    The shift of the software architecture community towards Architectural Knowledge has brought along some promising research directions. In this workshop we discuss the issues that lead to the application of Architectural Knowledge in research and industrial practice; ongoing research and new ideas to advance the field. In its previous editions we examined the state of the art and practice, future challenges and trends. This third edition will discuss, among others, Architectural Knowledge as perceived by different research communities, including requirements engineering, service-oriented computing and international standardization.

Patricia Lago - One of the best experts on this subject based on the ideXlab platform.

  • Architectural Knowledge management practices in agile global software development
    International Conference on Global Software Engineering, 2011
    Co-Authors: Viktor Clerc, Patricia Lago, Hans Van Vliet
    Abstract:

    The management of Knowledge, in particular Knowledge about the architecture, plays a pivotal role in global software development (GSD). In earlier research, we have defined what Architectural Knowledge is, and elaborated several practices for sound Architectural Knowledge management in a distributed setting. In this paper, we report on a large survey performed at an agile global software development organization in which we interviewed 38 employees spread across three development sites. Our aim was to validate our earlier research by determining what practices for Architectural Knowledge management in GSD are used in practice. The results show that the case study organization emphasizes Architectural Knowledge management practices that promote decentralization and, as a consequence, personalization (as opposed to centralization viz. codification). We identified one new useful practice: "peered sites", covering a combination of activities that support a balance in decision-making power across sites.

  • workshop on sharing and reusing Architectural Knowledge shark 2011
    International Conference on Software Engineering, 2011
    Co-Authors: Paris Avgeriou, Patricia Lago, Philippe Kruchten
    Abstract:

    Architectural Knowledge (AK) is defined as the integrated representation of the software architecture of a software-intensive system or family of systems along with Architectural decisions and their rationale, external influence and the development environment. The SHARK workshop series focuses on current methods, languages, and tools that can be used to extract, represent, share, apply, and reuse AK, and the experimentation and/or exploitation thereof. This sixth edition of SHARK will discuss, among other topics, the approaches for AK personalization, where Knowledge is not codified through templates or annotations, but it is exchanged through the discussion between the different stakeholders.

  • using wikis to support Architectural Knowledge management in global software development
    Sharing and Reusing Architectural Knowledge, 2010
    Co-Authors: Viktor Clerc, Edwin De Vries, Patricia Lago
    Abstract:

    In the past few years, the software architecture community has shown an increasing interest in Architectural Knowledge. In Global Software Development (GSD), software engineering practices are performed at geographically separate locations. With this trend, the management of Architectural Knowledge becomes even more important due to the geographical, temporal, and socio-cultural distance involved with GSD. Practices for Architectural Knowledge management in global software development may alleviate challenges associated with this distance. In this paper, we identify to what extent these practices may be implemented using wikis. We relate the practices to generic wiki functionalities and conclude that wikis form a good mechanism to implement a hybrid strategy for managing Architectural Knowledge in global software development and that a substantial part of the AKM practices may be implemented using wikis.

  • the griffin collaborative virtual community for Architectural Knowledge management
    Computational Science and Engineering, 2010
    Co-Authors: Patricia Lago, Paris Avgeriou, Anton Jansen, Remco C De Boer, Rik Farenhorst, Viktor Clerc, Hans Van Vliet
    Abstract:

    Modern software architecting increasingly often takes place in geographically distributed contexts involving teams of professionals and customers with different backgrounds and roles. So far, attention and effort have been mainly dedicated to individuals sharing already formalized Knowledge and less to social, informal collaboration. Furthermore, in Web 2.0 contexts, little to no attention has been given to practitioners carrying out complex, collaborative, and Knowledge-intensive tasks in organizational contexts.

  • ontology driven visualization of Architectural design decisions
    IEEE IFIP International Conference on Software Architecture, 2009
    Co-Authors: Remco C De Boer, Patricia Lago, Alexandru Telea, Hans Van Vliet
    Abstract:

    There is a gradual increase of interest to use ontologies to capture Architectural Knowledge, in particular Architectural design decisions. While ontologies seem a viable approach to codification, the application of such codified Knowledge to everyday practice may be non-trivial. In particular, browsing and searching an Architectural Knowledge repository for effective reuse can be cumbersome. In this paper, we present how ontology-driven visualization of Architectural design decisions can be used to assist software product audits, in which independent auditors perform an assessment of a product's quality. Our visualization combines the simplicity of tabular information representation with the power of on-the-fly ontological inference of decision attributes typically used by auditors. In this way, we are able to support the auditors in effectively reusing their know-how, and to actively assist the core aspects of their decision making process, namely trade-off analysis, impact analysis, and if-then scenarios. We demonstrate our visualization with examples from a real-world application.

Uwe Zdun - One of the best experts on this subject based on the ideXlab platform.

  • guidelines and metrics for configurable and sustainable Architectural Knowledge modelling
    European Conference on Software Architecture, 2015
    Co-Authors: Carlos Carrillo, Rafael Capilla, Olaf Zimmermann, Uwe Zdun
    Abstract:

    Architectural Knowledge Management (AKM) has been an active research area in the last decade; the importance of making the right Architectural decisions -- and making these at the right time -- has been recognized by the contemporary software engineering practices. Several AKM meta-models, templates and tools have been proposed and applied in practice to capture Architectural design decisions and minimize Architectural drift during software evolution. However, most of these AKM models, and the Architectural decisions captured with them, lack contextual awareness, flexibility and maintainability over time. In this position paper, we outline an extended AKM meta-model and a set of guidelines with the goal to (i) allow AKM tool engineers to construct more configurable and therefore flexible AKM tools, (ii) allow Knowledge engineers and method coaches to create more sustainable and therefore maintainable decision logs (AK model instances). We approach these two goals by way of mapping the extended AKM meta-model concepts to quality attributes for Architectural Knowledge as well as supporting AK metrics.

  • harmonizing Architectural decisions with component view models using reusable Architectural Knowledge transformations and constraints
    Future Generation Computer Systems, 2015
    Co-Authors: Ioanna Lytra, Huy Tran, Uwe Zdun
    Abstract:

    Architectural design decisions (ADDs) have been used in recent years for capturing design rationale and documenting Architectural Knowledge (AK). However, various Architectural design views still provide the most common means for describing and communicating Architectural design. The evolution of software systems requires that both ADDs and Architectural design views are documented and maintained, which is a tedious and time-consuming task in the long run. Also, in lack of a systematic and automated support for bridging between ADDs and Architectural design views, decisions and designs tend to become inconsistent over time. In our proposal, we introduce a reusable AK transformation language for supporting the automated transformation of reusable AK Knowledge to component-and-connector models, the Architectural design view used most commonly today. In addition, reusable consistency checking rules verify the consistency between decisions and designs. We evaluate our approach in an industrial case study and show that it offers high reusability, provides automation, and can, in principle, deal with large numbers of recurring decisions. Reusable AK transformation language for automated transformation of ADDs into designs.Reusable constraints for consistency checking between decisions and designs.Tool support based on integration of two existing tools-ADvISE and VbMF.

  • reusable Architectural decision models for quality driven decision support a case study from a smart cities software ecosystem
    Proceedings of the Third International Workshop on Software Engineering for Systems-of-Systems, 2015
    Co-Authors: Ioanna Lytra, Daniel Schall, Gerhard Engelbrecht, Uwe Zdun
    Abstract:

    Architectural design decisions and Architectural Knowledge are becoming relevant in the current practice of software architecture. In addition, reusable Architectural Knowledge has gained much importance in the industrial practice. In the process of Architectural decision making, quality attributes constitute key drivers for designing software systems, therefore, it is important to document quality attributes along with the decisions captured. However, most of the current tools for management of Architectural decisions focus mainly on capturing or sharing of design decisions. We propose to enrich a reusable Architectural decision meta-model with quality attributes and introduce a corresponding tool. Our goal is to support software architects during decision making based on reusable decisions driven by quality attributes. Our approach was motivated by and applied in an industrial case study on a large-scale software ecosystem for smart cities, that constitute a complex and challenging system-of-systems domain. We applied our proposal in a few scenarios in the smart cities domain, in which the consideration of quality attributes is required to model reusable Architectural Knowledge adequately.

  • supporting consistency between Architectural design decisions and component models through reusable Architectural Knowledge transformations
    European Conference on Software Architecture, 2013
    Co-Authors: Ioanna Lytra, Huy Tran, Uwe Zdun
    Abstract:

    In recent years, the software architecture community has proposed to use Architectural design decisions (ADDs) for capturing the design rationale and the Architectural Knowledge (AK). As software systems evolve both ADDs and Architectural designs need to be documented and maintained. This is a tedious and time-consuming task because of the lack of systematic and automated support for bridging between ADDs and designs. As a result, decisions and designs become inconsistent over time. We propose to alleviate this problem by introducing an AK transformation language supporting reusable AK transformations from pattern-based ADDs to component-and-connector models. In addition, we devise reusable consistency checking rules for verifying the consistency between decisions and designs. Through the use of model-driven transformations, as well as reusable, pattern-based decision models, we ensure the reusability of our approach. We apply our approach in an industrial case study and show that it offers high reusability, is largely automated and scalable, and can deal with the complexity of large numbers of recurring decisions.

  • dsl based support for semi automated Architectural component model abstraction throughout the software lifecycle
    Quality of Software Architectures, 2012
    Co-Authors: Thomas Haitzer, Uwe Zdun
    Abstract:

    In this paper we present an approach for supporting the semi-automated abstraction of Architectural models throughout the software lifecycle. It addresses the problem that the design and the implementation of a software system often drift apart as software systems evolve, leading to Architectural Knowledge evaporation. Our approach provides concepts and tool support for the semi-automatic abstraction of Architectural Knowledge from implemented systems and keeping the abstracted Architectural Knowledge up-to-date. In particular, we propose architecture abstraction concepts that are supported through a domain-specific language (DSL). Our main focus is on providing Architectural abstraction specifications in the DSL that only need to be changed, if the architecture changes, but can tolerate non-Architectural changes in the underlying source code. The DSL and its tools support abstracting the source code into UML component models for describing the architecture. Once the software architect has defined an Architectural abstraction in the DSL, we can automatically generate UML component models from the source code and check whether the Architectural design constraints are fulfilled by the models. Our approach supports full traceability between source code elements and Architectural abstractions, and allows software architects to compare different versions of the generated UML component model with each other. We evaluate our research results by studying the evolution of Architectural abstractions in different consecutive versions and the execution times for five existing open source systems.

Hans Van Vliet - One of the best experts on this subject based on the ideXlab platform.

  • supporting architecture documentation a comparison of two ontologies for Knowledge retrieval
    Evaluation and Assessment in Software Engineering, 2015
    Co-Authors: Klaas Andries De Graaf, Peng Liang, Antony Tang, Hans Van Vliet
    Abstract:

    Context: Software architecture documentation is used to communicate Architectural Knowledge. It is often difficult for document users to find all the Architectural Knowledge they need to do their tasks, and this results in wasted time and mistakes during development. Objective: In this paper we investigate how ontology-based documentation may support users in finding the Architectural Knowledge they need. Method: We executed a controlled experiment to test for differences in Knowledge retrieval efficiency and effectiveness between two groups of master students that used two ontologies built from different understandings of the Architectural Knowledge needs of document users. Results: Use of the ontology built based on a better understanding of Architectural Knowledge needs was significantly more efficient or effective for retrieving part of the Knowledge needed by document users. We analysed participants' search actions and identified which organisation of Knowledge in the ontologies resulted in efficient and effective Knowledge retrieval. Conclusion: We found that an improved understanding of Knowledge needs allows for the construction of an ontology from which document users retrieve Knowledge more efficiently and effectively. In some cases we found that the ontology support for Knowledge needs had to be traded off against ontology design criteria.

  • Architectural Knowledge management practices in agile global software development
    International Conference on Global Software Engineering, 2011
    Co-Authors: Viktor Clerc, Patricia Lago, Hans Van Vliet
    Abstract:

    The management of Knowledge, in particular Knowledge about the architecture, plays a pivotal role in global software development (GSD). In earlier research, we have defined what Architectural Knowledge is, and elaborated several practices for sound Architectural Knowledge management in a distributed setting. In this paper, we report on a large survey performed at an agile global software development organization in which we interviewed 38 employees spread across three development sites. Our aim was to validate our earlier research by determining what practices for Architectural Knowledge management in GSD are used in practice. The results show that the case study organization emphasizes Architectural Knowledge management practices that promote decentralization and, as a consequence, personalization (as opposed to centralization viz. codification). We identified one new useful practice: "peered sites", covering a combination of activities that support a balance in decision-making power across sites.

  • experiences with semantic wikis for Architectural Knowledge management
    IEEE IFIP International Conference on Software Architecture, 2011
    Co-Authors: Remco C De Boer, Hans Van Vliet
    Abstract:

    In this paper, we reflect on our experiences with using semantic wikis for Architectural Knowledge management in two different contexts: e-government and distributed software development. Whereas our applications of semantic wikis in e-government focus on organizing and structuring Architectural Knowledge for reuse, the applications in distributed software development focus on searching and querying Architectural Knowledge. Yet, the emerging research challenges -- alignment of Knowledge models, Knowledge versioning, change acKnowledgements -- are very similar.

  • the griffin collaborative virtual community for Architectural Knowledge management
    Computational Science and Engineering, 2010
    Co-Authors: Patricia Lago, Paris Avgeriou, Anton Jansen, Remco C De Boer, Rik Farenhorst, Viktor Clerc, Hans Van Vliet
    Abstract:

    Modern software architecting increasingly often takes place in geographically distributed contexts involving teams of professionals and customers with different backgrounds and roles. So far, attention and effort have been mainly dedicated to individuals sharing already formalized Knowledge and less to social, informal collaboration. Furthermore, in Web 2.0 contexts, little to no attention has been given to practitioners carrying out complex, collaborative, and Knowledge-intensive tasks in organizational contexts.

  • ontology driven visualization of Architectural design decisions
    IEEE IFIP International Conference on Software Architecture, 2009
    Co-Authors: Remco C De Boer, Patricia Lago, Alexandru Telea, Hans Van Vliet
    Abstract:

    There is a gradual increase of interest to use ontologies to capture Architectural Knowledge, in particular Architectural design decisions. While ontologies seem a viable approach to codification, the application of such codified Knowledge to everyday practice may be non-trivial. In particular, browsing and searching an Architectural Knowledge repository for effective reuse can be cumbersome. In this paper, we present how ontology-driven visualization of Architectural design decisions can be used to assist software product audits, in which independent auditors perform an assessment of a product's quality. Our visualization combines the simplicity of tabular information representation with the power of on-the-fly ontological inference of decision attributes typically used by auditors. In this way, we are able to support the auditors in effectively reusing their know-how, and to actively assist the core aspects of their decision making process, namely trade-off analysis, impact analysis, and if-then scenarios. We demonstrate our visualization with examples from a real-world application.