scholarly journals SW-VHDL Co-Verification Environment Using Open Source Tools

Electronics ◽  
2020 ◽  
Vol 9 (12) ◽  
pp. 2104
Author(s):  
Maria Muñoz-Quijada ◽  
Luis Sanz ◽  
Hipolito Guzman-Miranda

The verification of complex digital designs often involves the use of expensive simulators. The present paper proposes an approach to verify a specific family of complex hardware/software systems, whose hardware part, running on an FPGA, communicates with a software counterpart executed on an external processor, such as a user/operator software running on an external PC. The hardware is described in VHDL and the software may be described in any computer language that can be interpreted or compiled into a (Linux) executable file. The presented approach uses open source tools, avoiding expensive license costs and usage restrictions.

2021 ◽  
Vol 11 (12) ◽  
pp. 5690
Author(s):  
Mamdouh Alenezi

The evolution of software is necessary for the success of software systems. Studying the evolution of software and understanding it is a vocal topic of study in software engineering. One of the primary concepts of software evolution is that the internal quality of a software system declines when it evolves. In this paper, the method of evolution of the internal quality of object-oriented open-source software systems has been examined by applying a software metric approach. More specifically, we analyze how software systems evolve over versions regarding size and the relationship between size and different internal quality metrics. The results and observations of this research include: (i) there is a significant difference between different systems concerning the LOC variable (ii) there is a significant correlation between all pairwise comparisons of internal quality metrics, and (iii) the effect of complexity and inheritance on the LOC was positive and significant, while the effect of Coupling and Cohesion was not significant.


Author(s):  
Yutaka Watanobe ◽  
Nikolay Mirenkov

Programming in pictures is an approach where pictures and moving pictures are used as super-characters to represent the features of computational algorithms and data structures, as well as for explaining the models and application methods involved. *AIDA is a computer language that supports programming in pictures. This language and its environment have been developed and promoted as a testbed for various innovations in information technology (IT) research and implementation, including exploring the compactness of the programs and their adaptive software systems, and obtaining better understanding of information resources. In this paper, new features of the environment and methods of their implementation are presented. They are considered within a case study of a large-scale module of a nuclear safety analysis system to demonstrate that *AIDA language is appropriate for developing efficient codes of serious applications and for providing support, based on folding/unfolding techniques, enhancing the readability, maintainability and algorithmic transparency of programs. Features of this support and the code efficiency are presented through the results of a computational comparison with a FORTRAN equivalent.


2020 ◽  
pp. 53-108
Author(s):  
Christian Schlegel ◽  
Alex Lotz ◽  
Matthias Lutz ◽  
Dennis Stampfer

AbstractSuccessful engineering principles for building software systems rely on the separation of concerns for mastering complexity. However, just working on different concerns of a system in a collaborative way is not good enough for economically feasible tailored solutions. A successful approach for this is the composition of complex systems out of commodity building blocks. These come as is and can be represented as blocks with ports via data sheets. Data sheets are models and allow a proper selection and configuration as well as the prediction of the behavior of a building block in a specific context. This chapter explains how model-driven approaches can be used to support separation of roles and composition for robotics software systems. The models, open-source tools, open-source robotics software components and fully deployable robotics software systems shape a robotics software ecosystem.


Author(s):  
Utku Köse

Using open software in e-learning application is one of the most popular ways of improving effectiveness of e-learning-based processes without thinking about additional costs and even focusing on modifying the software according to needs. Because of that, it is important to have an idea about what is needed while using an e-learning-oriented open software system and how to deal with its source codes. At this point, it is a good option to add some additional features and functions to make the open source software more intelligent and practical to make both teaching-learning experiences during e-learning processes. In this context, the objective of this chapter is to discuss some possible applications of artificial intelligence to include optimization processes within open source software systems used in e-learning activities. In detail, the chapter focuses more on using swarm intelligence and machine learning techniques for this aim and expresses some theoretical views for improving the effectiveness of such software for a better e-learning experience.


2015 ◽  
pp. 1966-1987
Author(s):  
Ricardo Perez-Castillo ◽  
Mario Piattini

Open source software systems have poor or inexistent documentation and contributors are often scattered or missing. The reuse-based composition and maintenance of open source software systems therefore implies that program comprehension becomes a critical activity if all the embedded behavior is to be preserved. Program comprehension has traditionally been addressed by reverse engineering techniques which retrieve system design models such as class diagrams. These abstract representations provide a key artifact during migration or evolution. However, this method may retrieve large complex class diagrams which do not ensure a suitable program comprehension. This chapter attempts to improve program comprehension by providing a model-driven reverse engineering technique with which to obtain business processes models that can be used in combination with system design models such as class diagrams. The advantage of this approach is that business processes provide a simple system viewpoint at a higher abstraction level and filter out particular technical details related to source code. The technique is fully developed and tool-supported within an R&D project about global software development in which collaborate two universities and five companies. The automation of the approach facilitates its validation and transference through an industrial case study involving two open source systems.


2009 ◽  
pp. 603-619
Author(s):  
Walt Scacchi

This study examines the development of open source software supporting e-commerce (EC) or e-business (EB) capabilities. This entails a case study within a virtual organization engaged in an organizational initiative to develop, deploy, and support free/open source software systems for EC or EB services, like those supporting enterprise resource planning. The objective of this study is to identify and characterize the resource-based software product development capabilities that lie at the center of the initiative, rather than the software itself, or the effectiveness of its operation in a business enterprise. By learning what these resources are, and how they are arrayed into product development capabilities, we can provide the knowledge needed to understand what resources are required to realize the potential of free EC and EB software applications. In addition, the resource-based view draws attention to those resources and capabilities that provide potential competitive advantages and disadvantages to the organization in focus.


2015 ◽  
Vol 5 (4) ◽  
pp. 24-35 ◽  
Author(s):  
Mamdouh Alenezi ◽  
Fakhry Khellah

Software systems usually evolve constantly, which requires constant development and maintenance. Subsequently, the architecture of these systems tends to degrade with time. Therefore, stability is a key measure for evaluating an architecture. Open-source software systems are becoming progressively vital these days. Since open-source software systems are usually developed in a different management style, the quality of their architectures needs to be studied. ISO/IEC SQuaRe quality standard characterized stability as one of the sub-characteristics of maintainability. Unstable software architecture could cause the software to require high maintenance cost and effort. In this work, the authors propose a simple, yet efficient, technique that is based on carefully aggregating the package level stability in order to measure the change in the architecture level stability as the architecture evolution happens. The proposed method can be used to further study the cause behind the positive or negative architecture stability changes.


Sign in / Sign up

Export Citation Format

Share Document