Abstraction and Automation

?

Definitions

Automation: Creating a computer model of a real life situation and putting it into action.

Logical Reasoning: The process of using a given set of facts to determine whether new facts are true or false.

Beta Testing: Getting users to use the system in real life situations before releasing it to the general public.

Algorithm: A sequence of steps that can be followed to complete a task that will always terminate.

1 of 8

Two main types of abstraction

The concept of abstraction is to reduce problems to their essential features.

Representational Abstraction

Removing unnecessary details to represent the problem in a way which can be solved ('The Big Picture'). For example, for a sat nav it would be to identify points A and B as well as all connecting paths and then calculate the shortest route.

Abstraction by Generalisation

Reducing problems by putting similar aspects of a problem into hierarchial categories (foundations of object oriented programming languages).

For example, to represent information about cars and buses, we recognise that they have a lot in common so we can generalise (categorise both as vehicles).

2 of 8

Abstraction in Computing

Procedural Abstraction

Procedural abstraction is the concept that all solutions can be broken down into a series of procedures and subroutines.

Functional Abstraction

Functional abstraction focuses on common functions that can be used to solve problems.

Data Abstraction

Data abstraction is the process of organising and structuring data in a way that effectively hides the complexity of the data.

Problem Abstraction

Problem abstraction is the process of reducing a problem down to its simplest components until you find a way of solving it.

3 of 8

Problem Solving

  • Identifying the problem and then working out the steps to solve the problem.
  • In doing this you need to take account of any constraints that would impact on the solution.
  • The objective is always to create the most efficient solution to any given problem and be able to apply this solution to other problems.
  • A good example of this is map developments.
4 of 8

Sat Navs

  • These combine large datasets, often being updated in real time with traffic information, being transmitted wirelessly to small portable devices using a very simple user interface.
  • The user only needs to input their destination and follow visual and verbal instructions.

This demonstrates some of problem solving's key aspects:

  • First the problem needs to be clearly identified.
  • Developing the most efficient solution may require several iterations.
  • The solution must be checked to ensure that it solves the problem.
  • Then manufactures will constantly monitor feedback from customers in order to refine the technology.
5 of 8

Information Hiding

  • The process of hiding all details of an object that do not contribute to its essential characteristics.
  • For example: Cars, GUI
  • In programming, it means that we can hide/protect a dataset and then just define behaviours that are the only way the data set can be accessed.
6 of 8

Decomposition and Composition

Decomposition- breaking down a large task into a series of subtasks.

Procedural Decomposition- the process of looking at a system as a whole and then breaking that down into procedures and subroutines needed to complete the task.

Procedural Composition- building up a whole system from smaller units (the opposite of decomposition)

This involves:

  • Writing all the procedures and linking them together to create compound procedures.
  • Creating data structures and combining them to form compound structures.
7 of 8

Automation

The Key to this is:

  • Understanding the problem
  • Being able to create suitable algorithms
  • Building the algorithm up into program code
  • Using appropriate data to solve the problem
  • Using automated models this way requires constant calibration.
8 of 8

Comments

No comments have yet been made

Similar Computing resources:

See all Computing resources »See all Abstraction and Automation resources »