317 research outputs found

    The Impact of Code Review on Architectural Changes

    Get PDF
    Although considered one of the most important decisions in the software development lifecycle, empirical evidence on how developers perform and perceive architectural changes remains scarce. Architectural decisions have far-reaching consequences yet, we know relatively little about the level of developers' awareness of their changes' impact on the software's architecture. We also know little about whether architecture-related discussions between developers lead to better architectural changes. To provide a better understanding of these questions, we use the code review data from 7 open source systems to investigate developers' intent and awareness when performing changes alongside the evolution of the changes during the reviewing process. We extracted the code base of 18,400 reviews and 51,889 revisions. 4,171 of the reviews have changes in their computed architectural metrics, and 731 present significant changes to the architecture. We manually inspected all reviews that caused significant changes and found that developers are discussing the impact of their changes on the architectural structure in only 31% of the cases, suggesting a lack of awareness. Moreover, we noticed that in 73% of the cases in which developers provided architectural feedback during code review, the comments were addressed, where the final merged revision tended to exhibit higher architectural improvement than reviews in which the system's structure is not discussed

    Proof-of-Concept Application - Annual Report Year 1

    Get PDF
    In this document the Cat-COVITE Application for use in the CATNETS Project is introduced and motivated. Furthermore an introduction to the catallactic middleware and Web Services Agreement (WS-Agreement) concepts is given as a basis for the future work. Requirements for the application of Cat-COVITE with in catallactic systems are analysed. Finally the integration of the Cat-COVITE application and the catallactic middleware is described. --Grid Computing

    Characterizing and Diagnosing Architectural Degeneration of Software Systems from Defect Perspective

    Get PDF
    The architecture of a software system is known to degrade as the system evolves over time due to change upon change, a phenomenon that is termed architectural degeneration. Previous research has focused largely on structural deviations of an architecture from its baseline. However, another angle to observe architectural degeneration is software defects, especially those that are architecturally related. Such an angle has not been scientifically explored until now. Here, we ask two relevant questions: (1) What do defects indicate about architectural degeneration? and (2) How can architectural degeneration be diagnosed from the defect perspective? To answer question (1), we conducted an exploratory case study analyzing defect data over six releases of a large legacy system (of size approximately 20 million source lines of code and age over 20 years). The relevant defects here are those that span multiple components in the system (called multiple-component defects - MCDs). This case study found that MCDs require more changes to fix and are more persistent across development phases and releases than other types of defects. To answer question (2), we developed an approach (called Diagnosing Architectural Degeneration - DAD) from the defect perspective, and validated it in another, confirmatory, case study involving three releases of a commercial system (of size over 1.5 million source lines of code and age over 13 years). This case study found that components of the system tend to persistently have an impact on architectural degeneration over releases. Especially, such impact of a few components is substantially greater than that of other components. These results are new and they add to the current knowledge on architectural degeneration. The key conclusions from these results are: (i) analysis of MCDs is a viable approach to characterizing architectural degeneration; and (ii) a method such as DAD can be developed for diagnosing architectural degeneration

    Historic Preservation as Social Justice: Analyzing Historic Charleston Foundation\u27s Elliottborough Neighborhood Impact Initiative

    Get PDF
    While scholars debate the causes of gentrification and some question if it exists, the revitalization of inner-city neighborhoods more often than not results in the displacement of many of its residents. Failure to engage the unintended consequences of gentrification are world-wide. Some policy-makers embraced gentrification as a panacea for all their city\u27s problems. The displacement of the urban poor and lower-middle class weakens not only their bonds with generations of community but also the character of the neighborhood which attracted the gentrifiers in the first place. Grassroots organizations have attempted anti-displacement efforts by in many places, but there have been few studies of their effects. In the late 1990s, Historic Charleston Foundation, an organization with a long record of accomplishment in neighborhood-wide regeneration efforts, joined forces with Calvary Episcopal Church\u27s Community Housing Development Organization in an effort to rehabilitate blighted properties in the Elliottborough neighborhood while mitigating displacement. This paper analyzes the program from a demographic, financial, and social perspective utilizing archival records and oral histories to explore the positive and negative outcomes. These outcomes inform recommendations for future projects which seek to preserve the architectural fabric of a community while providing equitable access to the resulting environment for present and future residents

    Time for space : typologically flexible and resilient buildings and the emergence of the creative dweller

    Get PDF
    There is apparent tension between the continual social changes and the fixed and homogeneous solutions in present day housing production. It can in the long run, jeopardize the resilient development, if people in the future cannot accommodate their needs and aspirations within the built environment produced today. Basing the spatial production on assumptions of predictability and a mechanistic understanding of the world, which is geared towards universal housing solutions, cannot necessarily guarantee the longevity of the building stock. To promote the best possible way the use of natural, economic or mental resources, the thesis puts forward the significance of spatial conditions as a prerequisite for long-term resilient development of the built environment, as well as the enhancement of people’s wellbeing. The focus of the thesis is in design and its context. The main research question is: how could spatial criteria for resilient spatial conditions be perceived, defined and developed from strategic starting points in design? The thesis emphasizes the creative process of design and its more autonomic character in processes as prerequisites for the emergence of new ways of living. This can be attained by means of buildings that are responsive to proactive changes throughout their whole life span. The approach is both theoretical and practical. Housing has become a consumer product in which people are seen merely as objects of design. Instead, spatial production could be seen through the concept of lived space that promotes people’s proactive role as creative dwellers. This concept takes into account the self-organizational potential of buildings and space that can spark the emergence of new social and spatial conditions in a resilient manner and understands human activity as important resource in societies. The systems thinking and resilience thinking connected to design thinking are the key approaches used in the thesis. They emphasize the long term view and the constant responsiveness of systems to change, which are accomplished through their intrinsic characters of adaptability and flexibility. A strategic understanding of cities and their self-organizing potential is already being applied to urban environments in cities as emerging planning practices. In this thesis the strategic understanding is taken beyond the urban approach as integral character of buildings as well. This also stresses the inseparable connection between urban and building contexts. To better understand the uniform context of prevailing housing production solutions, the thesis examines the viewpoints and presumptions prevalent in Finnish planning, guidance and building culture. The thesis highlights the path-dependencies and systemic context that have evolved into a non-developing system. The process of producing built environment emphasize efficiency and optimization of parts, rather than being holistic and open to new typologies and adaptive solutions. To be able to better define the resilient objectives and contexts for adaptability and flexibility of space, existing approaches and architectural theories relevant to these concepts are examined. These are studied through the key concepts of multi-usability, as objective of all building, and transformability, as assisting concept to fulfill this objective. The conclusions emphasize resilient spatial solutions as an important criteria of sustainability that promote the advancement of resilient buildings. This demands a strategic dimension in design that understands the buildings as processes in evolutionary terms. The context of strategic dimension in design is developed through the concept of typological flexibility, which also recognizes the architectural character as a whole to promote meaningful interaction between people and space. The strategic understanding of buildings is based on abstract modularity inherent in typological flexibility. The concept interlinks all scales of conduct as in resilient systems that promote diversity and is based on space unit logic connected to abstract modularity. The thesis proposes box within a box –thinking to design, which originates from systems thinking. All aspects inherent in buildings from mental to physical can be covered in nested concepts and interlinked conceptual levels and scales of buildings named as: type, spatial configuration, space part, space unit and room. The characteristics of typologically flexible buildings are breathability, dynamism and elasticity. They are interpreted as the means and ends of typological flexibility that the nested concepts give rise to, and that promote resilient building stock in the long term. The metaphor of breathability (as the ends) relates to metabolism, to the breathing that enables the “organism” to stay alive and “breathe in” and “breathe out” different uses. Dynamism (as means) is the way of bringing about adaptability and flexibility in the building. Elasticity establishes the link between breathability and dynamism and refers to how breathable – and thus multi-usable – the space actually is. The more transformations the building or dwelling needs for changes, the less elastic it is. A valuation table is introduced comprising all these above mentioned attributes of typological flexibility to assess whether the building fulfills the criteria of resilient building, and can promote the emergence of the creative dweller.Nykyisen asuntotuotannon luomien homogeenisten asuntoratkaisujen ja jatkuvan sosiaalisen muutoksen välillä on olemassa jännite, mikä pitkällä tähtäimellä vaarantaa yhteiskunnan kestävän kehityksen, jos ihmiset tulevaisuudessa eivät voi elää tarpeittensa ja toiveittensa mukaisesti tänä päivänä tuotetussa rakennuksissa ja rakennetussa ympäristössä. Tilan tuotanto, joka pohjaa olettamaan ennustettavuudesta ja ymmärrykseen universaaliudesta sekä painottaa teknologiaa, ei välttämättä voi turvata rakennuskannan pitkäikäisyyttä. Edesauttaakseen luonnonvarojen tasapainoista käyttöä sekä taloudellisten että henkisten resurssien parasta mahdollista hyödyntämistä väitöskirja tuo esiin tilallisten ratkaisujen merkityksen pitkän tähtäimen kestävälle kehitykselle ja ihmisten hyvinvoinnille. Työn fokus on suunnittelussa ja siinä kontekstissa missä se toimii. Päätutkimuskysymys on miten resilientit tilalliset kriteerit hahmotetaan, määritellään ja kehitetään strategisista lähtökodista, jotta suunnittelu mahdollistaisi joustavan ja jatkuvasti ennakoimattoman muutoksiin sopeutuvan rakennuskannan. Tämä voidaan saavuttaa rakennusten avulla, jotka kykenevät reagoimaan spontaanisti muutoksiin koko elinkaarensa ajan. Tutkimuksen lähestymistapa on sekä teoreettinen että käytäntöön kohdistuva. Asumisesta on tullut kulutushyödyke, jossa ihmiset nähdään pitkälti suunnittelun kohteina. Sen sijaan tilantuotanto voitaisiin ymmärtää käsitteiden eletty tila (lived space) ja ihmisten aktiivisempaa roolia korostavan luova asuja (creative dweller) kautta, jotka ymmärtävät inhimillisen toiminnan yhteiskunnallisena resurssina kestävä kehitys huomioiden. Näiden käsitteiden soveltaminen tilantuotantoon edellyttää rakennuksilta ja tiloilta kykyä itse-organisoitua, joka voi tuoda esiin ja mahdollistaa uusia sosiaalisia ja tilallisia olosuhteita. Tutkimuksen päälähestymistavat ovat systeemiajattelu ja resilienssiajattelu suhteessa suunnitteluajatteluun. Lähestymistavat korostavat pitkän tähtäimen näkökulmaa ja systeemien jatkuvaa kykyä reagoida muutokseen sisäisen adaptiivisuutensa ja joustavuutensa avulla. Strategista ymmärrystä kaupunkisuunnittelusta, joka pohjaa ymmärrykseen kaupunkien itse-organisoituvasta luonteesta, sovelletaan jo. Tämä tutkimus vie kuitenkin strategisen ajattelun vielä pidemmälle myös elimelliseksi osaksi rakennusten suunnittelua, mikä korostaa myös urbaanin tilan ja rakennusten elimellistä yhteyttä. Ymmärtääkseen paremmin vallitsevan asuntotuotannon ratkaisujen kehitystä tutkimus tarkastelee näkökulmia ja olettamuksia suomalaisen kaavoituksen, suunnittelun ohjauksen ja rakennuskulttuurin takana. Väitöskirja tähdentää polkuriippuvuuksien ja systeemisten olosuhteiden merkitystä, jotka ovat muodostuneet ei-kehittyväksi systeemiksi. Nykyiset rakennettua ympäristöä tuottavat prosessit korostavat tehokkuutta ja osien optimointia ennemminkin kuin holistista näkemystä ja mahdollisuutta jatkuvasti tuottaa uudistuvia tilallisia asuinratkaisuja. Jotta tavoitteet ja sisällöt resilientin rakennuskannan suunnittelulle voitaisiin paremmin määrittää, väitöskirjassa tutkitaan jo olemassa olevia merkityksellisiä näkökulmia ja suunnitteluteorioita. Niitä tarkastellaan kahden avainkäsitteen pohjalta, joita ovat monikäyttöisyys (multi-usability) tilantuotannon tavoitteena, ja muunneltavuus (transformability), joka edistää tätä tavoitetta. Johtopäätökset korostavat resilienttien tilaratkaisujen merkitystä kestävän kehityksen kriteerinä, jotka edesauttavat mukautuvan ja kestävän rakennuskannan edistämistä. Tämä vaatii suunnittelulta strategista ulottuvuutta, joka ymmärtää rakennukset alati kehittyvinä mentaalisina ja fyysisinä prosesseina. Rakennussuunnittelun strateginen ulottuvuus on kehitetty käsitteen typologinen joustavuus pohjalta, joka ottaa kokonaisvaltaisesti huomioon niin rakennuksen arkkitehtuurin kuin tilan ja ihmisten vuorovaikutuksen hyvinvoinnin edistämiseksi. Rakennusten strateginen ymmärrys pohjautuu tilayksikköajatteluun (space unit logic) ja abstraktiin modulaarisuuteen (abstract modularity) osana typologisen joustavuuden käsitettä. Konsepti yhdistää kaikki tilalliset skaalat, mikä on resilientin systeemin yleinen luonne, huonetiloista kaupunkirakenteeseen. Väitöskirja ehdottaa suunnittelun osaksi uudenlaista systeemiajattelun sisältä kumpuavaa ”laatikko laatikon sisällä” (box within box) ajattelua. Kaikki rakennusta koskevat näkökohdat mentaalisesta fyysiseen voidaan kattaa sisäkkäisillä konsepteilla ja kytketyillä konseptuaalisilla tasoilla, joita ovat: tyyppi (type), tilakonfiguraatio (spatial configuration), tilaosa (space part), tilayksikkö (space unit) ja huonetila (room). Typologisen joustavuuden ominaisuuksia ovat hengittävyys (breathability), dynaamisuus (dynamism) ja elastisuus (elasticity). Ne käsitetään samanaikaisesti sekä typologisen joustavuuden keinoksi että päämääriksi, jotka edellä mainitut sisäkkäiset konseptit mahdollistavat, ja jotka edistävät resilientin rakennuskannan muodostumista. Hengittävyyden metafora (päämäärä) liittyy metabolismiin, joka edistää resilienttien rakennusten mahdollisuutta ”hengittää” sisään ja ulos erilaisia käyttötarkoituksia. Dynaamisuus (keino) on adaptiivisuuden ja joustavuuden luonne rakennuksessa. Elastisuus luo linkin hengittävyyden ja dynaamisuuden välille ja ilmaisee, kuinka hengittävä - monikäyttöinen – rakennus tosiasiassa on. Mitä enemmän rakennuksen tilat ja asunnot tarvitsevat muunneltavuutta, sen vähemmän elastinen rakennus on. Tutkimuksen osana on kehitetty arviointitaulukko, joka sisältää kaikki typologisen joustavuuden ulottuvuudet, mikä auttaa hahmottamaan kuinka rakennukset täyttävät typologisen joustavuuden kriteerit ja kuinka rakennus edistää luovan asujan syntymistä ja olemassa oloa

    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

    Integrating Design Decision Management with Model-based Software Development

    Get PDF
    corecore