194 research outputs found
Validating a model-driven software architecture evaluation and improvement method: A family of experiments
Context: Software architectures should be evaluated during the early stages of software development in
order to verify whether the non-functional requirements (NFRs) of the product can be fulfilled. This
activity is even more crucial in software product line (SPL) development, since it is also necessary to
identify whether the NFRs of a particular product can be achieved by exercising the variation
mechanisms provided by the product line architecture or whether additional transformations are
required. These issues have motivated us to propose QuaDAI, a method for the derivation, evaluation
and improvement of software architectures in model-driven SPL development.
Objective: We present in this paper the results of a family of four experiments carried out to empirically
validate the evaluation and improvement strategy of QuaDAI.
Method: The family of experiments was carried out by 92 participants: Computer Science Master s and
undergraduate students from Spain and Italy. The goal was to compare the effectiveness, efficiency,
perceived ease of use, perceived usefulness and intention to use with regard to participants using the
evaluation and improvement strategy of QuaDAI as opposed to the Architecture Tradeoff Analysis
Method (ATAM).
Results: The main result was that the participants produced their best results when applying QuaDAI, signifying
that the participants obtained architectures with better values for the NFRs faster, and that they
found the method easier to use, more useful and more likely to be used. The results of the meta-analysis
carried out to aggregate the results obtained in the individual experiments also confirmed these results.
Conclusions: The results support the hypothesis that QuaDAI would achieve better results than ATAM in
the experiments and that QuaDAI can be considered as a promising approach with which to perform
architectural evaluations that occur after the product architecture derivation in model-driven SPL
development processes when carried out by novice software evaluators.The authors would like to thank all the participants in the experiments for their selfless involvement in this research. This research is supported by the MULTIPLE Project (MICINN TIN2009-13838) and the ValI+D Program (ACIF/2011/235).González Huerta, J.; Insfrán Pelozo, CE.; Abrahao Gonzales, SM.; Scanniello, G. (2015). Validating a model-driven software architecture evaluation and improvement method: A family of experiments. Information and Software Technology. 57:405-429. https://doi.org/10.1016/j.infsof.2014.05.018S4054295
A Reference Architecture for Electronic Business-to-Business Collaboration Setup and Enactment Systems
The question what a business-to-business (B2B) collaboration setup and enactment application-system should look like remains open. An important element of such collaboration constitutes the inter-organizational disclosure of business-process details so that the opposing parties may protect their business secrets. For that purpose, eSourcing [37] has been developed as a general businessprocess collaboration concept in the framework of the EU research project Cross- Work. The eSourcing characteristics are guiding for the design and evaluation of an eSourcing Reference Architecture (eSRA) that serves as a starting point for software developers of B2B-collaboration systems. In this paper we present the results of a scenario-based evaluation method conducted with the earlier specified eSourcing Architecture (eSA) that generates as results risks, sensitivity, and tradeoff points that must be paid attention to if eSA is implemented. Additionally, the evaluation method detects shortcomings of eSA in terms of integrated components that are required for electronic B2B-collaboration. The evaluation results are used for the specification of eSRA, which comprises all extensions for incorporating the results of the scenario-based evaluation, on three refinement levels.Peer reviewe
Kollaboratives Reengineering und Modularisieren von Softwaresystemen
Software systems evolve over their lifetime. Changing requirements make it inevitable for developers to modify and extend the underlying code base. Specific requirements emerge in the context of open source software where everybody can contribute and requirements can change over time. In particular, research software is often not structured with a maintainable and extensible architecture. Furthermore, often databases are employed for retrieving, storing, and processing application data. Insufficient knowledge of the actual structure and behavior of such software systems and related databases can entail further challenges. Thus, understanding these software systems embodies a crucial task, which needs to be addressed in an appropriate way to face inevitable challenges while performing software changes. Approaches based on alternative display and interaction concepts can support this task by offering a more immersive user experience. In this thesis, we introduce three complementary approaches to support the evolution and particularly understanding of software systems in different aspects. Our main contributions are (i) an approach named CORAL for enabling collaborative reengineering and modularization of software systems, (ii) a gesture-based, collaborative, and multi-user-featuring Virtual Reality approach named ExplorViz VR for the software city metaphor, and (iii) a database behavior live-visualization approach named RACCOON for database comprehension of software systems. An extensive case study shows that our CORAL approach is capable of supporting reengineering and modularization processes. Furthermore, several lab experiments demonstrate the high usability, and efficiency and effectiveness for solving comprehension tasks when using the visualization within our multi-user VR approach ExplorViz VR. All implementations are available as open-source software on www.explorviz.net. Additionally, we provide an extensive experimental package of our latest VR evaluation to facilitate the verifiability and reproducibility of our results
A Reference Architecture for Provisioning of Tools as a Service: Meta-Model, Ontologies and Design Elements
Abstract not availableMuhammad Aufeef Chauhan, Muhammad Ali Babar, Quan Z. Shen
A reactive architecture for cloud-based system engineering
PhD ThesisSoftware system engineering is increasingly practised over globally distributed locations. Such a practise is termed as Global Software Development (GSD). GSD has become a business necessity mainly because of the
scarcity of resources, cost, and the need to locate development closer to
the customers. GSD is highly dependent on requirements management,
but system requirements continuously change. Poorly managed change in
requirements affects the overall cost, schedule and quality of GSD projects.
It is particularly challenging to manage and trace such changes, and hence
we require a rigorous requirement change management (RCM) process.
RCM is not trivial in collocated software development; and with the presence of geographical, cultural, social and temporal factors, it makes RCM
profoundly difficult for GSD. Existing RCM methods do not take into
consideration these issues faced in GSD. Considering the state-of-the-art
in RCM, design and analysis of architecture, and cloud accountability,
this work contributes:
1. an alternative and novel mechanism for effective information and
knowledge-sharing towards RCM and traceability.
2. a novel methodology for the design and analysis of small-to-medium
size cloud-based systems, with a particular focus on the trade-off of
quality attributes.
3. a dependable framework that facilitates the RCM and traceability
method for cloud-based system engineering.
4. a novel methodology for assuring cloud accountability in terms of
dependability.
5. a cloud-based framework to facilitate the cloud accountability methodology.
The results show a traceable RCM linkage between system engineering
processes and stakeholder requirements for cloud-based GSD projects,
which is better than existing approaches. Also, the results show an improved dependability assurance of systems interfacing with the unpredictable cloud environment. We reach the conclusion that RCM with
a clear focus on traceability, which is then facilitated by a dependable
framework, improves the chance of developing a cloud-based GSD project
successfully
Blockchain and Cryptocurrencies: a Classification and Comparison of Architecture Drivers
Blockchain is a decentralized transaction and data management solution, the
technological leap behind the success of Bitcoin and other cryptocurrencies. As
the variety of existing blockchains and distributed ledgers continues to
increase, adopters should focus on selecting the solution that best fits their
needs and the requirements of their decentralized applications, rather than
developing yet another blockchain from scratch. In this paper we present a
conceptual framework to aid software architects, developers, and decision
makers to adopt the right blockchain technology. The framework exposes the
interrelation between technological decisions and architectural features,
capturing the knowledge from existing academic literature, industrial products,
technical forums/blogs, and experts' feedback. We empirically show the
applicability of our framework by dissecting the platforms behind Bitcoin and
other top 10 cryptocurrencies, aided by a focus group with researchers and
industry practitioners. Then, we leverage the framework together with key
notions of the Architectural Tradeoff Analysis Method (ATAM) to analyze four
real-world blockchain case studies from industry and academia. Results shown
that applying our framework leads to a deeper understanding of the
architectural tradeoffs, allowing to assess technologies more objectively and
select the one that best fit developers needs, ultimately cutting costs,
reducing time-to-market and accelerating return on investment.Comment: Accepted for publication at journal Concurrency and Computation:
Practice and Experience. Special Issue on distributed large scale
applications and environment
- …