Catalogue Search | MBRL
Search Results Heading
Explore the vast range of titles available.
MBRLSearchResults
-
DisciplineDiscipline
-
Is Peer ReviewedIs Peer Reviewed
-
Item TypeItem Type
-
SubjectSubject
-
YearFrom:-To:
-
More FiltersMore FiltersSourceLanguage
Done
Filters
Reset
166
result(s) for
"component-based software"
Sort by:
A Proposal for New Software Testing Technique for Component Based Software System
2018
A Component-Based Software (CBS) system consists of integrated components that work together to perform specific tasks. Different components are selected and integrated to form a new software system. The components may have been developed by other third party, thus it is expected that the development time and effort can be reduced significantly. However just like any traditional development, the testing activities requires a specific evaluation to assess the software. Most of the components do not come with the source code, but only some information of the components. Thus, a specific testing technique is required. In this paper, we propose a new testing technique for Component-Based Software system. Older techniques had been developed based on traditional metrics, while other CBS system had different strategy from what we propose in this research. The technique help determining test adequacy criteria based on a set of complexity and criticality metrics of a CBS system. Based on this test adequacy criteria, our experimental studies have shown that it has assisted in reducing the number of test suite and test cases. For software testers, this technique would significantly reduce the testing time and effort in CBS development.
Journal Article
SmartTS: A Component-Based and Model-Driven Approach to Software Testing in Robotic Software Ecosystem
2021
Validating the behaviour of commercial off-the-shelf components and of interactions between them is a complex, and often a manual task. Treated like any other software product, a software component for a robot system is often tested only by the component developer. Test sets and results are often not available to the system builder, who may need to verify functional and non-functional claims made by the component. Availability of test records is key in establishing compliance and thus selection of the most suitable components for system composition. To provide empirically verifiable test records consistent with a component’s claims would greatly improve the overall safety and dependability of robotic software systems in open-ended environments. Addi-tionally, a test and validation suite for a system built from the model package of that system empirically codifies its behavioural claims. In this paper, we present the “SmartTS methodology”: A component-based and model-driven approach to generate model-bound test-suites for software components and systems. SmartTS methodology and tooling are not restricted to the robotics domain. The core contribution of SmartTS is support for test and validation suites derived from the model packages of components and systems. The test-suites in SmartTS are tightly bound to an application domain’s data and service models as defined in the RobMoSys (EU H2020 project) compliant SmartMDSD toolchain. SmartTS does not break component encapsulation for system builders while providing them complete access to the way that component is tested and simulated.
Journal Article
A review of the application of component-based software development in open CNC systems
by
Yao, Yingxue
,
Li, Jianguang
,
Liu, Lisi
in
CAE) and Design
,
Computer-Aided Engineering (CAD
,
Domains
2020
The development of open CNC systems is a popular topic in the past three decades. From the perspective of software engineering, most open CNC prototypes are developed based on the component-based software development (CBSD) approach. That is, they are constructed by composing functional or logical components. This paper retrospects the development of CBSD-based open CNC systems. These systems are analyzed from three aspects. For the component granularity aspect, CNC domain analysis and component reusability are discussed. For the component model aspect, component models used in open CNC systems are summarized, illustrated, and discussed. Likewise, for the software architecture aspect, architecture styles are summarized, described, and analyzed. But due to the diversity and platform dependency of component models, there is no widely accepted platform that can collect and execute heterogeneous CNC components. Service is an evolution of components. It makes a traditional component to be platform-independent and supports communication via message. Thus, a service-oriented architecture (SOA)-based universal open CNC platform is an attractive development trend of diverse CBSD-based open CNC systems. And its development is similar to the development of the CBSD-based system, but more complicated because it contains more domain logic. Therefore, this paper provides a technical foundation for developing SOA-based open CNC platform which is a part of novel automation patterns, such as cloud manufacturing and cyber-physical production system.
Journal Article
An Intelligent Platform for Software Component Mining and Retrieval
by
De la Sen, Manuel
,
Afzal, Farkhanda
,
Bibi, Nazia
in
code recommendation
,
Code reuse
,
component-based software development
2023
The development of robotic applications necessitates the availability of useful, adaptable, and accessible programming frameworks. Robotic, IoT, and sensor-based systems open up new possibilities for the development of innovative applications, taking advantage of existing and new technologies. Despite much progress, the development of these applications remains a complex, time-consuming, and demanding activity. Development of these applications requires wide utilization of software components. In this paper, we propose a platform that efficiently searches and recommends code components for reuse. To locate and rank the source code snippets, our approach uses a machine learning approach to train the schema. Our platform uses trained schema to rank code snippets in the top k results. This platform facilitates the process of reuse by recommending suitable components for a given query. The platform provides a user-friendly interface where developers can enter queries (specifications) for code search. The evaluation shows that our platform effectively ranks the source code snippets and outperforms existing baselines. A survey is also conducted to affirm the viability of the proposed methodology.
Journal Article
A Technique to Support Incremental Construction and Verification in Component-Based Software Development
by
Nejati, Faranak
,
Yap, Ng Keng
,
Ghani, Abdul Azim Abd
in
Case studies
,
Computer science
,
Construction
2025
Technological advancements in recent decades have significantly increased the scale and complexity of software systems, which poses challenges to their development and reliability. Component-based software development (CBSD) offers a promising solution by enabling modular and efficient software construction. However, CBSD alone cannot fully address challenges such as ensuring reliability and avoiding errors like deadlocks. Verification techniques, such as model-checking, are necessary to ensure the correctness of CBSD systems. Despite its effectiveness in verifying system properties, model-checking faces a critical issue known as state-space explosion (SSE), which hinders scalability. This study introduces an incremental verification technique for CBSD to address SSE and ensure deadlock freedom. The proposed technique incrementally constructs and verifies component-based systems, eliminating verified portions of components to minimize state-space size during subsequent verification steps. It utilizes a component model that supports encapsulation of computation and control, making incremental verification feasible. Evaluation of the technique using coloured petri nets with non-trivial case studies demonstrates its ability to detect deadlocks early and manage SSE effectively, thereby improving the efficiency of the verification process.
Journal Article
Self-organized design of virtual reality simulator for identification and optimization of healthcare software components
by
Kumar, Shishir
,
Zareapoor, Masoumeh
,
Srivastava, Amit Kumar
in
Ant colony optimization
,
Architecture
,
Artificial Intelligence
2024
As in the current trend, the virtual reality-based application is very popular in the medical healthcare system to generate a realistic virtual 3-D simulation environment that users can interact with specialized devices. The increasing demand for advancement in the requirement of the virtual environment of healthcare policies as well as the systems needs changes in the simulation environment. In reference to such requirement, the software industry needs improvement in the development process which reduces the effect of software cost, complexity and resource planning. From last few years, optimization in development of simulation environment’s cost-benefit aspects is also the challenging area. In view of such issues, there are several guided (supervised) and unguided (unsupervised) algorithms are using evolutionary approaches and nature-inspired self-organized swarm intelligence approaches have been developed by the researchers for virtual real-time healthcare search based software system. However, there is still a gap in the development of such a simulation environment for identification of the software component. This paper proposes a self-organizing component identification technique using medoid based ant colony clustering algorithms. The proposed algorithm has been compared to classical centroid-based clustering (K-means,CRUD, and FCA) and evolutionary approach(genetic algorithm) on the case study of the virtual real-time healthcare system. For the accuracy and precision of the approach two already studied cases have also been used.
Journal Article
Component attributes and their importance in decisions and component selection
by
Gorschek Tony
,
Chatzipetrou Panagiota
,
Papatheocharous Efi
in
Commercial off-the-shelf technology
,
Cost analysis
,
Data analysis
2020
Component-based software engineering is a common approach in the development and evolution of contemporary software systems. Different component sourcing options are available, such as: (1) Software developed internally (in-house), (2) Software developed outsourced, (3) Commercial off-the-shelf software, and (4) Open-Source Software. However, there is little available research on what attributes of a component are the most important ones when selecting new components. The objective of this study is to investigate what matters the most to industry practitioners when they decide to select a component. We conducted a cross-domain anonymous survey with industry practitioners involved in component selection. First, the practitioners selected the most important attributes from a list. Next, they prioritized their selection using the Hundred-Dollar ($100) test. We analyzed the results using compositional data analysis. The results of this exploratory analysis showed that cost was clearly considered to be the most important attribute for component selection. Other important attributes for the practitioners were: support of the component, longevity prediction, and level of off-the-shelf fit to product. Moreover, several practitioners still consider in-house software development to be the sole option when adding or replacing a component. On the other hand, there is a trend to complement it with other component sourcing options and, apart from cost, different attributes factor into their decision. Furthermore, in our analysis, nonparametric tests and biplots were used to further investigate the practitioners’ inherent characteristics. It seems that smaller and larger organizations have different views on what attributes are the most important, and the most surprising finding is their contrasting views on the cost attribute: larger organizations with mature products are considerably more cost aware.
Journal Article
A theoretical framework of component-based software development phases
2010
Component-Based Software Development (CBSD) is considered by many as the next revolution in systems development. Its focus is on the integration of pre-fabricated software components to build systems that increase portability and flexibility. CBSD purports to address the problem of systems which are delivered behind schedule, over-budget, and inadequately meeting user requirements. A major contribution of this work is providing a solid theoretical foundation using Simon's (1977) problem solving model and the tenets of design science to the emerging CBSD paradigm which has lacked a theoretical-base. In doing so, we construct a theoretical framework of the CBSD development phases by synthesizing the current CBSD related literature and developing propositions for guiding future research. This framework clearly differentiates between component and systems development in the CBSD approach. Implications for both research and practice are also discussed.
Journal Article
An Aspects Framework for Component-Based Requirements Prediction and Regression Testing
2022
Component-based software development has become more popular in recent decades. Currently, component delivery only includes interface specifications, which complicates the selection and integration of suitable components to build a new system. The majority of the components are reused, after appropriate modifications in accordance with the new system, or new version of the system. After components integration, errors may occur during the interaction of their features due to incomplete, ambiguous, or mismatched terms used in requirement analysis and specification, affecting component validation. Therefore, there is a need for a study that identifies challenges and covert concepts into practice by providing solutions to these challenges. The objective of this study is to identify some attributes and information sources that are essential during component-based development. The proposed framework is based on these attributes and information sources. In this study, we provide a taxonomy of attributes and information sources among different activities of component development, and propose a framework to improve the component development process. To investigate the proposed framework, we performed an experimental study to get real-world scenario results from industrial practitioners. The results showed that the proposed framework improves the process of component specification and validation without ambiguity and component failures. Additionally, compared with other methods (random priority, clustering-based and execution rate), the proposed framework successfully outperforms other methods. As a result, the proposed framework’s accuracy, F-measures, and fault identification rate were higher (i.e., greater than 80%) than those of other methods (i.e., less than 80%). The proposed framework will provide a significant guideline for practitioners and researchers.
Journal Article