Explore chapters and articles related to this topic
The Effects of Encapsulation on Dismounted Warrior Performance
Published in Pamela Savage-Knepshield, John Martin, John Lockett, Laurel Allender, Designing Soldier Systems, 2018
Lamar Garrett, Debbie Patton, Linda Mullins
Encapsulation is defined as the inclusion of “one thing within another thing so that the included thing is not apparent”.1 Soldier encapsulation is defined as enclosing the soldier’s body in such a manner that all skin is protected from exposure to the elements of the battlefield. The Department of Defense performed numerous chemical protective clothing studies during the 1990s. Unfortunately, most of that research focused on performance in a taxing environment (such as sustained operations, continuous operations, heat, and so on), or using new tools or systems (such as medical scissors, microclimate control systems, and so on) rather than the effects of the suit on basic military skills (Headley, Hudgens, and Cunningham 1997, Fatkin and Hudgens 1994, Davis, Wick, Salvi, and Kash 1990, Blewitt et al. 1994). This type of information is critical to achieving effective mission performance, as well as the survival capabilities for the next generation of dismounted soldiers. Although research has been conducted on individual items of combat equipment and various components of dismounted soldier systems, very little performance-based research has been conducted using a system approach to validate soldier–equipment compatibility. Integration of the protective mask, chemical protective clothing (including gloves), boots, and individual combat equipment (that is, a helmet) is required when soldiers are operating in a suspected contaminated environment (Davis et al. 1990).
An Object-Oriented Architecture Perspective in Designing a Virtual Mind
Published in Niklas Hageback, The Virtual Mind, 2017
With the introduction of object-oriented programming, coding took a revolutionary step forward. This paradigm shift allowed for more complex and scalable software to be designed. Object-oriented programming is based on three fundamental concepts20,21: Inheritance: Similar classes allowed for functional reuse by designing a general ‘super class’ and more specialised subclasses.Encapsulation: Objects can have internal functionality only accessible to themselves or public classes accessible by any other class. This allows a software module to have small, specific footprints exposed even though there may be a complex algorithm contained.Polymorphism: Depending on what data are processed by a class, the functional behaviour can vary. This allows the design of a module's signature to be simpler and more generic.
C++ TM Toolkit for DOS
Published in Julio Sanchez, Maria P. Canton, William Perrizo, Space Image Processing, 2018
Julio Sanchez, Maria P. Canton, William Perrizo
The TM_DOS toolkit design is based on the following principles: Encapsulation ensures that the user is isolated from the hardware details while still maintaining a satisfactory level of programming control.Implementation of high-level functions is through a class library. This promotes software extensibility and facilitates maintenance.In order improve portability hardware-specific code (device drivers) are provided as library modules which can be replaced at link time.
Automating computer simulation and statistical analysis in production planning and control research
Published in International Journal of Computers and Applications, 2018
Jeng Feng Chin, Joshua Prakash, Shahrul Kamaruddin, Melissa Chea Ling Tan
The integrative module is constructed in Microsoft Visual Basic 6, based on object-oriented programming where the functional components are represented as “objects” containing individual data fields and methods. The motivation is to allow the current program to cater future expansion with more comprehensive automation. Object-oriented programming promotes advantages such as easier code maintainability, code reusability, and scalability as the program is structured as self-contained (encapsulation) objects [46]. Through object-oriented programming, the total life-cycle cost of software development can be reduced [47]. Identical objects such as simulation runs are defined as instances of same classes [47]. The class specifies how an instanced object receives, processes, and transfers data to other objects. Three main classes are developed and their architectures are given in Figure 1. The first class is factor-list, containing all the predetermined factors and values. The second class is response-list, containing all the predetermined performance measures as responses and its information. Finally, the experiments class contains the generated combination of factors and results from trials of single response. Fundamental statistical computations such as calculations of variance and mean are defined as methods of the experiment class.
Towards molecular simulations that are transparent, reproducible, usable by others, and extensible (TRUE)
Published in Molecular Physics, 2020
Matthew W. Thompson, Justin B. Gilmer, Ray A. Matsumoto, Co D. Quach, Parashara Shamaprasad, Alexander H. Yang, Christopher R. Iacovella, Clare McCabe, Peter T. Cummings
This example focuses on showcasing the extensibility of TRUE, emphasising the ability to modify and expand the project beyond the original study and parameters of interest. This goal can be achieved by applying Object-Oriented Programming (OOP) design principles, in combination with open-source libraries. Encapsulating frequently used code into classes and functions helps improve the reusability of codes and make it easier to create novel systems, just by changing and adding new variables. By pairing MoSDeF suite libraries, mBuild [28,29] and Foyer [30,64], with other open-source libraries, such as signac and signac-flow, part of the signac framework [33,128], the extensibility could be made even more manageable and achievable. Most importantly, all building blocks of the project have to be properly documented, either as comments in the code or in a separate manual. These practices can help projects expand effectively. For instance, in this example, although the arguments and variables were defined such that the surfaces were filled with 100, 17-carbon long, alkylsilane chains, each then capped with a methyl group, many unique systems can be created by altering the chain density, backbone chain length, backbone chemistries, terminal groups, and others as need arises. The latter part of the example shows how we can expand the project from the original system by varying backbone chain lengths. For the sake of demonstration, we only show the first few steps of the workflow, starting with setting up the workspace using signac [33,128], building corresponding systems with mBuild [28,29], and atom-typing, parametrising with Foyer [30,64]. Other steps of the simulation can be added analogously. We implement signac-flow [33,128] as the workflow manager. These tools will become vital when needing to run a complete workflow and managing thousands of systems. All scripts and files needed to run the above example are located in a GitHub repository [129]. Users can interface with this example through the Jupyter notebook located within the repository. By providing properly documented codes and scripts used to set up the system, using open-source libraries to perform simulation and data analysis, the first three criteria of TRUE are also satisfied. This example workflow is Transparent, Reproducible, Usable by others, and Extensible, or concisely, a TRUE simulation.