572 research outputs found
Towards a design-by-contract based approach for realizable connector-centric software architectures
Despite being a widely-used language for specifying software systems, UML remains less than ideal for software architectures. Architecture description languages (ADLs) were developed to provide more comprehensive support. However, so far the application of ADLs in practice has been impeded by at least one of the following problems: (i) advanced formal notations, (ii) lack of support for complex connectors, and (iii) potentially unrealizable designs. In this paper we propose a new ADL that is based on Design-by-Contract (DbC) for specifying software architectures. While DbC promotes a formal and precise way of specifying system behaviours, it is more familiar to practising developers, thus allowing for a more comfortable way of specifying architectures than using process algebras. Furthermore, by granting connectors a first-class status, our ADL allows designers to specify not only simple interaction mechanisms as connectors but also complex interaction protocols. Finally, in order to ensure that architectural designs are always realizable we eliminate potentially unrealizable constructs in connector specifications (the connector “glue”)
Recommended from our members
Design-by-contract for reusable components and realizable architectures
Architectural connectors can increase the modularity and reusability benefits of Component-based Software Engineering, as they allow one to specify the general case of an interaction pattern and reuse it from then on. At the same time they enable components to be protocol-independent – components do not need to know under which interaction patterns they will be used, as long as their minimal, local interaction constraints are satisfied. Without connectors one can specify only specific instances of such patterns and components need to specify themselves the interaction protocols that they will follow, thus reducing their reusability.
Connector frameworks so far allow designers to specify systems that are unrealizable in a decentralized manner, as they allow designers to impose global interaction constraints. These frameworks either ignore the realizability problem altogether, ignore connector behaviour when generating code, or introduce a centralized controller that enforces these global constraints but does so at the price of invalidating any decentralized properties of the architecture.
We show how the XCD ADL extends Design-by-Contract (DbC) for specifying (i) protocol-independent components, and (ii) arbitrary connectors that are always realizable in a decentralized manner as specified by an architecture – XCD connectors impose local constraints only. Use of DbC will hopefully make it easier for practitioners to use the language, compared to languages using process algebras. We show how XCD specifications can be translated to ProMeLa so as to verify that (i) provided services local interaction constraints are satisfied, (ii) provided services functional pre-conditions are complete, (iii) there are no race-conditions, (iv) event buffer sizes suffice, and (v) there is no global deadlock. Without formally analyzable architectures errors can remain undiscovered for a long time and cost too much to repair
Recommended from our members
Architectural specification and analysis with XCD: The aegis combat system case study
Despite promoting precise modelling and analysis, architecture description languages (ADLs) have not yet gained the expected momentum. Indeed, practitioners prefer using far less formal languages like UML, thus hindering formal verification of models. One of the main issues with ADLs derives from process algebras which practitioners view as having a steep learning curve. In this paper, we introduce a new ADL called XCD which enables designers to model their software architectures through a Design-by-Contract approach, as for example in the Java Modelling Language (JML). We illustrate how XCD can be used in architectural modelling and analysis using the Aegis combat software system
Are we there yet? Analyzing architecture description languages for formal analysis, usability, and realizability
Research on Software Architectures has been active since the early nineties, leading to a number of different architecture description languages (ADL). Given their importance in facilitating the communication of crucial system properties to different stakeholders and their analysis early on in the development of a system this is understandable. After all these years one would have hoped that we could point to a handful of ADLs as the clear winners as the languages of choice of practitioners for specifying software system architectures. However it seems that ADLs have still not entered the mainstream. We believe this is so because practitioners find the current offering either too difficult to use or not supporting automated analysis commensurate to the level of effort they require for specifying a system, especially so for complex systems.
In this paper we present a comparative analysis of a number of ADLs, both of first generation and more recent ones, against a small set of language properties that we believe are crucial for an ADL that would be easy for practitioners to adopt in their design and development practices. These properties are: formal semantics, usability, and realizability
Recommended from our members
Realizable, Connector-Driven Software Architectures for Practising Engineers
Despite being a widely-used language for specifying software systems, UML remains less than ideal for software architectures. Architecture description languages (ADLs) were developed to provide more comprehensive support. However, so far the application of ADLs in practice has been impeded by at least one of the following problems: (i) advanced formal notations requiring a steep learning curve, (ii) lack of support for user-defined, complex connectors, and (iii) potentially unrealizable architectural designs.
This paper proposes Xcd, a new ADL that aims at supporting user-defined, complex connectors to help increase architectural modularity. It also aims to help increase the degree of reusability, as now components need not specify interaction protocols, as these can be specified independently by connectors (which increases protocol reusability too).
Connector support requires to ensure that architectural designs are always realizable, as it is currently extremely easy to obtain unrealizable ones. Xcd eliminates potentially unrealizable constructs in connector specifications.
Finally, Xcd employs a notation and notions from Design-by-Contract (DbC) for specifying software architecture behaviour. While DbC promotes a formal and precise way of specifying system behaviours, it is not as challenging for practising developers as process algebras that are usually employed by ADLs
Recommended from our members
XCD – Simple, Modular, Formal Software Architectures
Connector-Centric Design (XCD) is a new approach for specifying software architectures that focuses on the use of complex connectors. In XCD simple interconnection mechanisms like procedure-calls, event-buses, etc. are abstracted and components take a second place. XCD aids the clear separation in a modular manner of the highlevel functional, interaction, and control system behaviour, thus increasing the reusability of both components and connectors. As such, XCD allows designers to experiment with different interaction behaviours (connectors), without having to modify the functional behaviour specifications (components). It further allows designers to experiment with different control behaviours (“role strategies”), without modifying components or connectors.
Inspired by JML, XCD follows a formal, Design-by-Contract approach, describing behaviour through simple pre/post-conditions, which should make it easier for practitioners to use. XCD extends Design-by-Contract so as to separate contracts into functional and interaction subcontracts, and so as to allow service consumers to specify their own contractual clauses. The specifications of XCD connectors are completely decentralized (e.g., no “connector glue”) to facilitate their realization and their refinement for further formal analyses
Synthetic Landscapes: New Strategies for Landscape, Infrastructure and Architecture
The decommissioned infrastructure and their temporary new life-spans have been experimented by architects and designers by repurposing old existed structures and buildings. These precedents were mainly to explore their potentials while proposing new but short programmes for sustainable and economic concerns in local communities.
In addition to these concerns, our aim was to examine the gradient between naturalised architecture and industrial/synthetic natures around them. Examining apparent opposites, we have been looking at continuities rather than fractures between landscape and the human demands placed upon it. Locating our specific site in London, United Kingdom, we have started to work on New River which is an artificial waterway located in England, opened essentially in 1613 to supply London inhabitants with fresh drinking water. Using this 400-year-old, 32km long item of infrastructure as our vehicle, the studio investigated what forms & roles architecture might adopt along its length in this specific region. By examining the environments that are seemingly natural and finding them man-made, our studies aim to utilize the nature that we find in our city (London). Our pedagogical goal was to develop a project framework to enable synthetic architectural design methodologies with potential to mitigate contextual use with new programmes.
To explore this goal, BA architecture students at the London South Bank University, under studio 1, have engaged in a series of design projects that have looked for novel and innovative approaches for integrating decommissioned infrastructure and new programmes that have highly complex but positive conditions. The students used contemporary surveying techniques that included extremely precise landscape and topographical details by using drones. Furthermore, contemporary computational techniques such as coding, spatial prototypes and finally design speculations that derived from the existed natural environments being studied.
The synthetic natures, as both practice and pedagogy, sought to extract both physical and social constraints of the natural environments and enable creative exploration of new programmes that might create new type of architectural interventions with infrastructure
Didáctica e possibilidades de divulgação do sĂtio paleontolĂłgico do Cretácico da Figueira da Foz (Portugal)
ABSTRACT: The sedimentary exposures and the palaeontological site of Figueira da Foz (Portugal) are located near the coastal town of the same name, in front of the Mondego river estuary, where a set of mid
Cenomanian to lower Turonian (Upper Cretaceous) marine beds of the West Portuguese Carbonate Platform are recorded by the Costa d’Arnes Formation. The 65 meters thick of the stratigraphic succession holds
several fossiliferous units with diverse ammonite species and other abundant benthic invertebrates with Tethyan affinities, quite accessible for outreach activities. This context allows to combine indoor and out-of school learning strategies along with diverse didactic methodologies, aiming to reach a meaningful learning by carrying out didactic activities at the site and other contemporary outcrops such as TamajĂłn (Spain). These
initiatives will incentive positive Geoconservation attitudes towards Natural Heritage, by means of outreach and Geotouristic events at the Figueira da Foz site, and related museums and interpretation centres.RESUMO: Os afloramentos e o sĂtio paleontolĂłgico da Figueira da Foz (Portugal) localizam-se junto da cidade com o mesmo nome, em frente ao estuário do rio Mondego. Correspondem a uma sucessĂŁo de estratos
marinhos do Cenomaniano médio a Turoniano inferior (Cretácico Superior) da Plataforma Carbonatada Ocidental Portuguesa, pertencente à Formação de Costa d’Arnes. Os 65 metros de espessura da sucessão
estratigráfica contĂŞm várias unidades fossilĂferas com amonites e abundantes invertebrados bentĂłnicos com afinidades tetisianas, bastante acessĂveis para actividades de divulgação. Este contexto permite combinar
estratĂ©gias de aprendizagem dentro e fora da escola, e diversas metodologias didácticas, para se alcançar uma aprendizagem significativa atravĂ©s da realização de actividades didácticas no geossĂtio e em outros
afloramentos contemporâneos, como em TamajĂłn (Espanha). Estas iniciativas poderĂŁo motivar atitudes positivas de Geoconservação do PatrimĂłnio Natural, se incluĂdas em eventos geoturĂsticos e de divulgação
no geossĂtio da Figueira da Foz, em museus e em centros de interpretação.info:eu-repo/semantics/publishedVersio
Recommended from our members
A Design-by-Contract based Approach for Architectural Modelling and Analysis
Research on software architectures has been active since the early nineties, leading to a number of different architecture description languages (ADL). Given their importance in facilitating the communication of crucial system properties to different stakeholders and their analysis early on in the development of a system this is understandable. However, practitioners rarely use ADLs, and, instead, they insist on using the Unified Modelling Language (UML) for specifying software architectures. I attribute this to three main issues that have not been addressed altogether by the existing ADLs. Firstly, in their attempt to support formal analysis, current ADLs employ formal notations (i.e., mostly process algebras) that are rarely used among practitioners. Secondly, many ADLs focus on components in specifying software architectures, neglecting the first-class specification of complex interaction protocols as connectors. They view connectors as simple interaction links that merely identify the communicating components and their basic communication style (e.g., procedure call). So, complex interaction protocols are specified as part of components, which however reduce the re-usability of both. Lastly, there are also some ADLs that do support complex connectors. However, these include a centralised glue element in their connector structure that imposes a global ordering of actions on the interacting components. Such global constraints are not always realisable in a decentralised
manner by the components that participate in these protocols.
In this PhD thesis, I introduce a new architecture description language called XCD that supports the formal specification of software architectures without employing a complex formal notation and offers first-class connectors for maximising the re-use of components and protocols. Furthermore, by omitting any units for specifying global constraints (i.e., glue), the architecture specifications in XCD are guaranteed to be realisable in a decentralised manner.
I show in the thesis how XCD extends Design-by-Contract (DbC) for specifying (i) protocol-independent components and (ii) complex connectors, which can impose only local constraints to guarantee their realisability. Use of DbC will hopefully make it easier for practitioners to use the language, compared to languages using process algebras. I also show the precise translation of XCD into SPIN’s formal ProMeLa language for formally verifying software architectures that (i) services offered by components are always used correctly, (ii) the component behaviours are always complete, (iii)there are no race-conditions, (iv) there is no deadlock, and (v) for components having event communications, there is no overflow of event buffers. Finally, I evaluate XCD via five well-known case studies and illustrate XCD’s enhanced modularity, expressive DbC-based notation, and guaranteed realisability for architecture specifications
- …