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.
Researchers have developed ways to think about, visualize, and measure software modularity and its erosion objectively and quantifiably. Using these techniques, you’ll be able to determine whether your software is modular and identify complexity hotspots in your code that warrant further investigation.
A challenging issue in the architectural design of Systems-of-Systems (SoS) for the Internet-of-Things (IoT) is how to architect an SoS in a way that the required behavior to fulfil the SoS mission will emerge. Indeed, on the one hand, at design-time, most often we do not know which are the concrete IoT systems that will become constituents of the SoS, these being predominantly identified at run-time;...
Software architecting is about making decisions that have system-wide impact and that shape software product and process alike. While researchers and practitioners have tried to define and scope the role of the architect, social and organizational impacts on the architect and the architecting process are often neglected. The SODA workshop focuses on the social and organizational dimensions in which...
When developing complex software-intensive systems, it is nowadays common practice to base the solution partly on existing software components. Selecting which components to use becomes a critical decision in development, but it is currently not well supported through methods and tools. This paper discusses how a decision support system for this problem could benefit from a software ecosystem approach,...
Business processes as well as software systems face various changes during their lifetime. As they mutually influence each other, business processes and software systems have to be modified in co-evolution. Thus, to adequately predict the change impact, it is important to consider the complex mutual dependencies of both domains. However, existing approaches are limited to analyzing the change propagation...
Software architects don't just design architecture components or champion architecture qualities; they often must guide and harmonize the entire community of project stakeholders. The community-shepherding aspects of the architect's role have been gaining attention, given the increasing importance of complex "organizational rewiring" scenarios such as DevOps, open source strategies, transitions...
Enterprise architecture for smart cities is the focus of the research project “EADIC - (Developing an Enterprise Architecture for Digital Cities)” which is the context of the reported results in this work. We report in detail the results of a survey we contacted. Using these results we identify important quality and functional requirements for smart cities. Important quality properties include interoperability,...
The E-governance gained currency in recent years, agencies of information technologies such as wide area networks internet and mobile computing that have ability to transform relations with citizens, business and other government. These technologies can serve a variety of improved interactions with business and industry, benefits can be less corruption increased transparency greater convenience revenue...
Big data as a Service (BDaaS) provides a viable strategy for organizations to implement scalable, tailorable big data infrastructure and applications built on this infrastructure. New trends in the BDaaS market are moving toward an open world model -- what we call the Neo-Metropolis model -- for developing BDaaS platforms. The key to the success of such large-scale technology-agnostic platforms, we...
Organizations require cost estimates for delivering and operating software-intensive solutions. One of the factors impacting these costs is the solution's architecture. Applying solution architecting practices helps improve the accuracy of early cost estimating. In CGI, we have started to emphasize the application of architecting practices in cost estimating, and this paper reports on the early experiences...
Collective intelligence systems (CIS), such as wikis, social networks and content sharing platforms, have dramatically improved knowledge creation and sharing at society level. There is a trend to exploit the stigmergic mechanisms of CIS also at organization/corporate level. However, despite the wide adoption of CIS, there is a lack of consolidated systematic knowledge of the architectural principles...
Although critical for delivering resilient, secure, efficient, and easily changed IT systems, cross-technology, cross layer quality defect detection in IT systems still faces hurdles. Two hurdles involve the absence of an absolute target architecture and the difficulty of apprehending multi-component anti-patterns. However, Static analysis and measurement technologies are now able to both consume...
The proponents of Agile software development approaches claim that software architecture emerges from continuous small refactoring, hence, there is not much value in spending upfront effort on architecture related issues. Based on a large-scale empirical study involving 102 practitioners who had worked with agile and architecture approaches, we have found that whether or not architecture emerges through...
Managing architectural design decisions (ADDs) in software development process is an essential task for architectural knowledge management. As software ecosystems become a new software development paradigm in software engineering processes, it is important and necessary to capture and represent ADDs in open software development, and to evolve architectural knowledge with minimum knowledge evaporation...
Although there are contributions on component-oriented languages, components are mostly implemented using object-oriented (OO) languages. In this perspective, a component corresponds to a set of classes that work together to provide one or more services. Services are grouped together in interfaces that are each implemented by a class. Thus, dependencies between components are defined using the semantic...
The goal of this research is to understand the various dimensions along which the architectures in an ecosystem should scale to support successful software-intensive products. We used a case study approach in which we first identified characteristics of scalability from the research literature and then examined ecosystems to determine the extent to which their primary architectures possessed these...
To structure complex software systems by architecture models and specifications and also to provide a blueprint that is the foundation for later software engineering activities. Thanks to architecture specifications, software engineers are better supported in coping with the increasing complexity of today's software systems. We have performed a Systematic literature survey and also performed analysis...
Large legacy applications are rapidly becoming less practical for both the organizations they service, and for the organizations responsible for servicing them. This paper establishes a process model for refining the initial concept associated with overhauling legacy enterprise software applications, and examines a case study of that process as applied to a real-world legacy software system to demonstrate...
Evolvability has emerged as a crucial non-functional requirement for software. Normalized Systems (NS) theory studies how modular structures in software respond to increasing amounts of change. The theory is based on concepts such as stability from systems theory and consists of the derivation of four principles, which locate and identify so-called combinatorial effects. The theory also shows how...
This paper analyzes several industrial software architecture evaluation methods from the perspective of their contextual elements. Contextual elements include the time available for the evaluation, the personnel available, the openness of the results, the involvement of stakeholders, and so forth. The goal of this analysis is to inform managers and technical personnel about the possibilities for an...
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.