Software System Flashcards
Actuators
what robots use to manipulate objects
Age of Computers
this provided the ability to execute complex control algorithms and process large amounts of data in real time
Aggregation
a type of association where the aggregated object has a weaker form of association with the objects that it is aggregating than is the case with composition. These objects have an existence independent of the aggregated object and can continue to exist even after the aggregated object is disposed of
Argument
where a parameter is given a specific value
Association
having a link to a network in order to authenticate it
Automation
use of control systems such as computers to operate on an environment
Fixed Automation
assembly lines in manufacturing a single project
Flexible Automation
industrial robots that can perform various tasks and be reprogrammed easily
Programmable Automation
machines that can be reprogrammed for different tasks
Automation Knight
the first robot, built by Leonardo Da Vinci and worked using various pulleys
Backtracking
after finding a solution or goal fails, go back to an earlier point and take alternative routes through facts and rules until the goal is achieved or all possibilities are exhausted
Backward Chaining
a process used by expert systems that starts with a goal and works backwards, step-by-step, to determine what facts or conditions need to be true to achieve that goal
Backward Propagation
a method used in neural networks to update the world
Control Systems
use of computers to control physical systems
Cracking
mechanically decrypting data
Declarative Programming
where we specify facts, rules and a goal and the program searches for a solution without the programmer specifying how
Defensive Programming
program for the worst possible scenario and hope it never happens
Early Automation
occurred during the Industrial Revolution and relied on steam engines and mechanical looms to perform repetitive tasks but lacked flexibility
Electronics Revolution
involved the introduction of programmable logic controllers enabling flexible automation marking a shift from mechanical systems to electronic control
Expert Systems
designed to mimic and provide the skills of a human expert to solve a complex problem through reasoning using user interfaces, knowledge bases, facts and rules and inference engines
Facts
something that is always unconditionally true
Fault Tolerance
the systems must be designed to handle faults without failing catastrophically; for example, an aircraft control system must have multiple redundancies so if one part fails, another can take over
Formal Methods
mathematical techniques are often used to prove the correctness of a system, unlike typical software, where bugs might be annoying, but tolerable, but in safety-critical systems, one bug may lead to disaster
Forward Chaining
a process used by expert systems that starts with known facts and applying rules to infer new facts until a goal is reached
Free Licence
where you can use proprietary software for free
Functional Safety
where the system is always safe, and even if it fails, it will not cause serious problems
General Public Licence
a licence for proprietary software that is not free and has strict terms and conditions for copying, modifying and distributing the data
HARA
Hazard Analysis and Risk Assessment
a systematic process used in ISO to identify and evaluate potential hazards in electric cars that ISO applies to
High-Level Language
one statement translates to many machine code instructions, resembles English, problem-oriented, has advanced features like mathematical functions, meaningful data types and is easy to learn and debug and is machine/OS independent
IEC61508
safety standards for electrical, electronic or programmable electronic systems and products
Imperative Programming
where we give the program step-by-step instructions to solve the problem
Inference Engine
analyses the links in the data allowing it to infer things that aren’t explicitly specified and deduce new knowledge
Instantiation
the creation of a real instance or particular realisation of an abstraction or template
ISO26262
safety standards for electric vehicles
Internet
consists of a network of interconnected computer networks using a globally unique address space based on the IP and the TCP to support public access
Knowledge Base
holds all the knowledge, facts and rules for the expert system allowing it to make decisions
Low-Level Language
a programming language that contains basic instructions recognised by a CPU, such as assembly code and machine code, where there is a 1:1 relationship with written code and machine code
Middleware
software that acts as a bridge between an operating system or database and applications, especially on a network
Page Rank
assigned to each webpage in an index by the web crawler in terms of how relevant it is to the user
Predicate
testing a true/false statement
Programming Paradigm
method of program organisation
Query
something to be solved
Race Condition
where a catastrophic error depends on a series of conditions at specific times
Real Time Path Planning
how robots like lawn mowers plan their route and respond to real-time obstacles
Rigorous Testing
safety-critical systems must comply with strict standards and go through thorough testing and evaluation
Risk Based Approach
involves identifying, assessing and managing risks based on the likelihood and impact of them happening
Robot
machine that does a task automatically with minimal human intervention using sensors to interpret the environment, actuators to manipulate objects and a control system to process information and make decisions
Robot Simulators
enables virtual training, programming and testing of robots through simulation
ROS
Robot Operating Systems
open-source middleware suite to program robots quickly
Rules
something that is always unconditionally true
Safety Critical Systems
systems whose failure could result in significant harm, either in terms of loss of life or severe injury or damage to property or severe environmental damage
Safety Interlock
login functions that prevents a process from occurring when a hazard exists
Specialisation
developing safety critical systems through rigorous testing, fault tolerance and formal methods
Static Analysis
analyses the source code of a program without executing it to check for potential security risks
Therac-25
Therac-25 was a radiation machine that used software from earlier versions of the Therac, however certain safety measures had been removed and certain processes automated to make the machine run faster. If the user selected X-ray mode, the machine would begin setting up the machine for high-powered X-rays. This process took about 8 seconds. If the user switched to Electron mode within those 8 seconds, the turntable would not switch over to the correct position, leaving the turntable in an unknown state and leaving the Therac unable to tell if it was giving an underdose or overdose. This killed three people and seriously injured three more. After this, software patches were done on the Therac-25, but a second bug was found in the Therac when a fourth person died after receiving an overdose of radiation. This time, it was because a technician sent a command at the same time the counter overflowed, causing an error and once again leaving the Therac unable to tell if it was giving an overdose or an underdose
Unimate
first computerised robot
Web Crawler
crawls pages and generates an index which users can search in order to create a list of links to pages
WEP
Wireless Encryption Protocol
prevent hackers from snooping on wireless data as it is transmitted
World Wide Web
internet’s information retrieval service