The Infona portal uses cookies, i.e. strings of text saved by a browser on the user's device. The portal can access those files and use them to remember the user's data, such as their chosen settings (screen view, interface language, etc.), or their login data. By using the Infona portal the user accepts automatic saving and using this information for portal operation purposes. More information on the subject can be found in the Privacy Policy and Terms of Service. By closing this window the user confirms that they have read the information on cookie usage, and they accept the privacy policy and the way cookies are used by the portal. You can change the cookie settings in your browser.
The architecture of a software system is result of architectural design decisions, where architects select among alternatives (architectural tactics) and software components when a stakeholders business objective is demanded. However, thereis not evidence of framework that conducts the appropriateselection of software components using architectural tactics. In this paper we present a PhD research...
In this paper, we motivate the usage of natural language processing techniques to detect the uncertainty cues in the software architecture documents. As an initial step of our study, we analyzed three real-world software architecture documents and manually retrieved examples of different types of uncertainties. Based on those examples, we formulated the hypothesis on how the communication of software...
Software architecting is a knowledge-intensive activity. However, obtaining and evaluating the quality of relevant and reusable knowledge (and ensuring that this knowledge is up-to-date) requires significant effort. In this paper, we explore how online developer communities (e.g., Stack Overflow), traditionally used by developers to solve coding problems, can help solve architectural problems. We...
Software architecture compliance is concerned with the alignment of implementation with its desired architecture and detecting potential inconsistencies. The work presented in this paper is specifically concerned with behavioral architecture compliance. That is, the focus is on semantic alignment of implementation and architecture. In particular, this paper evaluates three representative approaches...
The timely discovery, sharing and integration of architectural knowledge (AK) have become critical aspects in enabling the software architects to make meaningful conceptual and technical design decisions and trade-offs. In large-scale organizations particular obstacles in making AK available to architects are a heterogeneous pool of internal and external knowledge sources, poor interoperability between...
Software-intensive systems are often independently developed, operated, managed, and evolved. Progressively, communication networks have enabled these independent systems to interact, yielding a new kind of complex system, i.e. a system that is itself composed of systems, the so-called System-of-Systems (SoS). By its complex nature, SoS exhibits emergent behaviors. Nowadays, none of the Architecture...
Software architecture's interoperability faces many problems when it comes to integrating different components or formalisms in describing the architecture. Even within the same modeling language such as UML, the diversity of notations and the lack of semantic information make the interoperability between models difficult. In this paper, we propose semantic foundations that unify the notations of...
Many techniques have been proposed in the literature to support architecture definition, conformance, and analysis. However, there is a lack of adoption of such techniques by the industry. Previous work have analyzed this poor support. Specifically, former approaches lack proper analysis techniques (e.g., detection of architectural inconsistencies), and they do not provide extension and addition of...
In this paper, we report an experience on using and adapting Semantic Clustering to evaluate software remod-ularizations. Semantic Clustering is an approach that relies on information retrieval and clustering techniques to extract sets of similar classes in a system, according to their vocabularies. We adapted Semantic Clustering to support remodularization analysis. We evaluate our adaptation using...
In this paper, we propose a system of the security robot and its software architecture. The software architecture consists of two parts, which are an autonomous navigation part and a semantic perceptron part. Autonomous navigation software can drive a robot autonomously. An semantic perception software can perform the security missions. The security patrol scenario compromises three steps. In the...
The design of software architecture is hierarchical. The abstract level in different layers of software architecture is different, and certain conversion relation exists in adjacent layers of software architecture. The semantic layers of software architecture is analyzed from the views of topology and computation relationship, which explains causal relationship between adjacent layers where the upper...
A wide variety of programming abstractions have been developed for cyber-physical systems. These approaches provide support for the composition of cyber-physical systems from generic units of application functionality. This paper surveys the current state-of-the-art in composition mechanisms for cyber physical systems and reviews each approach in terms of its support for composition analysis, re-use...
In the current environment of accelerating technological change, software development continues to be difficult, unpredictable, expensive, and error-prone. Model Driven Architecture (MDA), sometimes known as Executable UML, offers a possible solution. MDA provides design notations with precisely defined semantics. Using these notations, developers can create a design model that is detailed and complete...
Service composition is an effective way to achieve value-added service, which has found wide application in various areas. security design at architecture level is critical to achieve high assurance for these applications. However, most security design techniques for service composition were in ad hoc fashion and fell short in precise notations. This paper proposes a formal aspect-oriented approach...
The expression of reactive behaviour is a significant and important requirement in robotic software engineering, since robots must cope with a wide range of unpredictable events and environments. However it is important that the semantics for reactive expression can be used across different architectures and languages. The RADAR robot programming language provides architecture- and language-independent...
Software evolution is characterized by its changing in accord with environment and requirement. It is one of the most difficult and important problems of software. From the runtime perspective, it includes two types: static evolution and dynamic evolution. Static evolution is mainly implemented by human static intervention and analysis. Dynamic evolution is based on the runtime evolution of software,...
Architecture description languages (ADLs) are a sound and convenient approach to software architecture representation. Unfortunately traditional ADLs lack the ability to describe the crosscutting concerns and crosscutting interaction in the software architecture, leading to the difficulties in comprehension, evolution and reusability of software architectural design decisions. This paper focuses on...
Within the MDA context, model transformations (MT) play an important role as they ensure consistency and significant time savings. Several MT frameworks have been deployed and successfully used in practice. Like for any software, the development of MT programs is error prone. However there is limited support for verification and validation in current MDA technologies. This paper presents an approach...
Services are successful for applications with high levels of dynamicity and interoperability. Ironically the actual Service-Oriented Computing (SOC) technologies are such that interoperability is problematic if different platforms are used simultaneously, and dedicated tools for the support of most engineering tasks are essentially missing. We address the interoperability issue through the definition...
As a standard modeling language of software architecture design, UML lacks formal semantics on account of its informal graphical notation. To further provide refined description of UML, OCL is primarily and widely employed. Generally, OCL constraints are written manually, which may cause incorrectness and extra overhead. Therefore, generating OCL constraints template for UML models is a superior solution...
Set the date range to filter the displayed results. You can set a starting date, ending date or both. You can enter the dates manually or choose them from the calendar.