Explore chapters and articles related to this topic
Architecture
Published in Hanky Sjafrie, Introduction to Self-Driving Vehicle Technology, 2019
All the features described in the functional architecture section above are implemented as software components in the application layer. Unlike the other two layers, which are normally provided as standard or off-the-shelf software products, the application layer contains tailor-made or highly customized software components that distinguish one SDV system from another. Most of the time, software in this layer interacts with other software components and the rest of the system through an API provided by the middleware. The interaction between the software components and middleware may be based on message passing, shared memory, function calls, etc. depending on the communication mechanism supported. Using an abstract interface like this allows the application layer to be middleware-independent.
Quality Assurance Framework
Published in William E. Lewis, David Dobbs, Gunasekaran Veerapillai, Software Testing and Continuous Quality Improvement, 2017
William E. Lewis, David Dobbs, Gunasekaran Veerapillai
The purpose of software configuration management is to identify all the interrelated components of software and to control their evolution throughout the various life-cycle phases. Software configuration management is a discipline that can be applied to activities including software development, document control, problem tracking, change control, and maintenance. It can provide high cost savings in software reusability because each software component and its relationship to other software components have been defined.
Wireless Sensor Networks for Automation
Published in Richard Zurawski, Networked Embedded Systems, 2017
Reuse of software components is advantageous under the condition that the sum of costs related to purchasing the code (internal or external), competence buildup, modification of components, integration of components, and testing is less than the cost of designing a component from scratch. Experience has shown that this is not easy unless other elements of the development organization are in place such as clear organizational roles, requirement management, product platform architecture, and design, etc.
GearWheels: A Software Tool to Support User Experiments on Gesture Input with Wearable Devices
Published in International Journal of Human–Computer Interaction, 2022
Ovidiu-Andrei Schipor, Radu-Daniel Vatavu
One popular strategy to implement asynchronous software applications is event-driven programming, where the processing flow is dictated by the occurrence of external events, eg, data from sensors (Schipor et al., 2019b), messages delivered by third-party applications and services, and user input for interactive systems (Schipor et al., 2019b). Event-driven programming enables low coupling among the multiple intercommunicating components of a system. Events are encapsulated in the form of messages, which implement notifications that travel in the software architecture (Chandy, 2006). During the inter-component communications, some of the software components act as producers and generate events, while others as consumers that receive messages and process the corresponding events (Moxey et al., 2010). Since events reflect changes in the state of the producers, they are strongly coupled with their source. Event-driven software architectures for implementing interactions with computer systems, such as Euphoria (Schipor et al., 2019a) for interactions in smart environments, and SAPIENS (Schipor et al., 2019b) for peripheral interaction, specifically require the implementation of producer and consumer software components according to their operation logic and data flows.
A fully coupled analysis of unsteady aerodynamics impact on vehicle dynamics during braking
Published in Engineering Applications of Computational Fluid Mechanics, 2019
Jakub Broniszewski, Janusz Piechna
Proposed co-simulation analysis requires a client-server connection between Fluent and Matlab. This is made via the component object model (COM) which is a platform independent, distributed, object-oriented system for creating binary software components that can interact. In such cases Fluent acts as a COM server and Matlab is a client.