Understanding systems

Foundations of systems modelling

Inputs, outputs
& the operator.

How do you turn a familiar activity into a precise description of a system? Start with a campus registration problem, then build and examine your own model.

Pause at each question and form an answer before opening the discussion. Keep a few notes: you will refine the same model as you read.

The starting framework

What makes it a system?

System

A system is an entity that transforms specified inputs into intended outputs.

We group the three parts into two categories. Inputs and outputs are variables: they can represent information, resources, quantities, identities or states. The operator specifies how the transformation happens.

Operator

An operator is a structured set of rules that specifies a series of steps and their precedence relationships.

A precedence relationship states which step must be completed before another can begin. A useful description explains the dependency: what does the later step need from the earlier one?

You will use these definitions to analyse an activity. A label such as “students,” “information” or “processing” is only a starting point. The next task is to say exactly what it means in the system you are studying.

Part I · Build a system description

A workshop needs a registration process.

The situation

A student society is planning a workshop for next week. It currently plans to offer 30 places. Registration will close on Wednesday at 18:00, and two student volunteers have been assigned to process the registrations.

Students submit their student ID, name and contact details through a form. The form records when each submission arrives. Some students submit the form more than once.

After registration closes, the organiser needs to know who has a place. Students also need to find out their own registration results. Attending the workshop will happen later.

Students use their phones to submit workshop registrations while two student volunteers work at a campus registration table.

The volunteers have been told to “organise the registrations, allocate the places, and notify the students.” They have not been given detailed rules.

Your task: describe a system that a new volunteer could operate.

01 · Specify the transformation

Define the result. Then define what is needed.

What would tell you that the registration work is complete?

Describe a result that someone could check. Where would you put the beginning and end of the activity being studied?

Try a sentence of your own before reading on. Is “the workshop was successful” specific enough for this task?

Compare with an analysis

First decide whether your system covers registration or the whole workshop. Here we study the processing of this round of applications through to providing the results to the organiser and applicants. Attendance, teaching and learning at the workshop lie outside that boundary.

Within that boundary, two outputs account for the stated task:

  • O1 — Individual registration results: each applicant can access their own result, such as “place confirmed” or “no place,” with the relevant reason.
  • O2 — A confirmed participant list: the organiser receives a list linking each allocated place to an identified student. Each student occupies at most one place.

A list of everyone who submitted the form is not yet a confirmed participant list. The status of an application has to be determined.

A narrower place-allocation system could end with the allocation list and leave notification outside its boundary. That is a possible model, but it would cover only part of the activity described here. We will carry forward the wider registration boundary.

An output needs a defined meaning and state. “A list” is vague; “a list of identified students who have been allocated places, available to the organiser” can be checked.

What exactly does the system need as inputs?

List the information, resources and operating conditions you would provide to the volunteers. For each proposed input, state what it represents and give an example value.

If you write “students,” which information about them is needed? If you write “time,” which time do you mean?

Compare with a working input model

One useful model defines the following four inputs. Your labels may differ; their meanings need to be clear.

InputDefinitionExample
I1 RequestsThe submitted records for this processing round: student ID, name, contact details, submission time and receipt order.S015, Lin, contact details, Wednesday 16:20.
I2 Places offeredThe total number of places available for allocation.30 places.
I3 Closing timeThe cut-off used to determine whether an application is on time.Wednesday, 18:00.
I4 StaffingThe number of volunteers assigned to this registration process.2 volunteers.

I1 is a collection of submission records, not yet a list of distinct applicants. One student may have submitted several records. A name alone may not reliably identify repeats; an ID links submissions to the same student. Contact details are needed to provide each result, and submission times support the closing-time rule.

Keep the other definitions equally precise. I2 is the total offered, not the number of places still unallocated. I3 is the registration cut-off, not the notification time. I4 is the assigned headcount, not an individual's working speed.

This model studies the registration operation with those arrangements supplied to it. The process of deciding the arrangements is outside the chosen operating boundary. Other facilities, such as the form software, are held in the background.

“Number of places offered” is a variable; “30” is a value. A variable can also be a set of records with several fields, as I1 is.

What has been transformed? Do unsuccessful applicants also receive an output?

Compare “I submitted a form” with “my registration result is available.” Must the system give every applicant a place to fulfil its purpose?

Read the reasoning

The system turns submitted requests into determined and communicated registration outcomes. The transformation concerns information and registration status, rather than changing the students themselves.

“No place” can be an intended result produced by the rules. The purpose is to process applications and provide clear outcomes; the number of applicants may exceed the number of places.

Making a result available also differs from the student actually reading it. In this model, the registration process completes its communication task when the result is available to the intended applicant.

02 · Define the operator

Could someone else follow your instructions?

Is “organise, allocate, notify” enough?

Write rules and steps that a new volunteer could follow without inventing an extra rule about who gets a place.

How will your operator handle repeated submissions, the closing time, more applicants than places, and the result each applicant receives?

Choose and explain a consistent procedure. There can be more than one defensible operator for this activity.

Compare with one executable operator

The three activity names leave several decisions unspecified. Does a repeated submission count as another applicant? Which submission time is retained? How are places allocated when demand exceeds the available places?

For the rest of this reading, use this first-come procedure:

  • One student ID may receive at most one place.
  • For repeated submissions, retain the earliest submission time and its receipt order.
  • A request is on time if it was submitted no later than I3.
  • Allocate places to the first I2 distinct, on-time applicants in receipt order, or all of them if fewer than I2 qualify.
  • Keep each student's identity and contact details linked to the result.

Assume that identities and contact details are valid and unchanged across repeated submissions. When displayed times are identical, use the order retained by the form.

  1. Consolidate submissions.

    Create one record per student ID, keeping the earliest submission, its receipt order and the student's contact details.

  2. Check the closing time.

    Compare each retained submission time with I3. Keep a record for every applicant, including late applicants.

  3. Allocate places.

    Order the on-time applicants and assign up to I2 places. Attach an outcome to every applicant; distinguish “late application” from “no place remaining.”

  4. Prepare the outputs.

    Make the organiser's confirmed list and each applicant's result message, retaining the identity-to-result link.

  5. Provide the results.

    Give the organiser the confirmed list and make each result available to the corresponding applicant.

The rules specify the basis for processing. The steps specify the activities that carry out that processing. Together with their required precedence relationships, they describe the operator.

First-come allocation is the reference rule used here. A different allocation rule would require a correspondingly clear description of its procedure and information needs.

Are the volunteers the operator?

Suppose different volunteers carry out exactly the same procedure. Has the operator changed? What if the same volunteers start using the latest repeated submission instead of the earliest?

Read the distinction

The volunteers are the people who execute the procedure and provide labour. In our definition, the operator is the structured rules, steps and precedence relationships they follow.

Replacing the people can leave the operator unchanged. Keeping the same people but changing the repeated-submission rule changes the operator.

In everyday English, “operator” can also mean a person who operates something. In this reading, it has the specific meaning given in the definition above.

03 · Examine the dependencies

Same records. Different sequence.

A procedure can sound reasonable and still fail to implement its own stated rule. Test yours against this short example.

The test records — all submitted on time
Rows 1–2929 different students.
Row 30The student from row 5 submits again.
Row 31One additional student.
Places offered30.

Would “take the first 30 rows, then remove duplicates” work?

How many distinct students would receive places? Does that result implement the rule “give places to the first 30 different, on-time applicants”?

Count people as well as rows before revealing the result.

Reveal the result and compare the procedures

Taking the first 30 rows includes the repeated submission in row 30. Removing that repeat leaves 29 different students. The new student in row 31 has been excluded even though that student is among the first 30 distinct applicants.

Consolidating the repeated submissions first gives 30 distinct, on-time applicants. Applying the 30-place limit then includes all 30.

29 people receive places

The repeated submission occupied a row in the first 30. Removing it leaves one place unallocated, while the student in row 31 is left out.

Each square represents a place, not a submission row. The numbers identify the distinct students in receipt order.

A submission row and a person are different units. Your operator must count the unit used in your rule.

A volunteer could also read one record at a time, checking whether the student has already appeared before counting that student towards the limit. That can implement the same rule. Batch consolidation is one method; the essential requirement is that a repeat must not consume another person's place.

Which steps really have to come first?

Draw the dependencies in your operator. Explain what each later step needs from an earlier one. Must the organiser's list be prepared before the individual messages?

Compare with a dependency map

Before completing allocation, establish which distinct applicants are on time and their receipt order. Before preparing a list or a result message, determine each person's outcome.

Precedence within the registration operatorPrepare distinct applicants and their timeliness, then allocate places, then produce identified outcomes. The outcomes feed two independent branches: prepare and provide the organiser's list, and prepare and send individual messages.Prepare distinct applicantsand determine timelinessAllocate placesIdentified outcomesPrepare & providethe organiser's listPrepare & sendindividual messages
  1. Prepare distinct applicants and determine timeliness.
  2. Allocate places and form identified outcomes.

Two branches can then proceed:

  • Prepare and provide the organiser's list.
  • Prepare and send individual messages.
The two final branches share a prerequisite; neither is a prerequisite for the other.

With a suitable staffing arrangement, the list and messages can be prepared independently once the required outcomes exist. One person may still carry out those tasks in sequence; that scheduling choice does not create a necessary dependency between them.

Consolidation and time checks can also be arranged differently if the procedure retains all necessary records and identifies the same distinct, eligible applicants. Do not assume that every numbered step establishes the only possible execution order.

Part II · Extend the same model

Controllable for whom?

Keep the inputs you have already defined. In our working model, they are I1 submitted requests, I2 places offered, I3 closing time and I4 assigned staffing. The outputs remain the individual results and the organiser's confirmed list.

Now consider two people planning this registration process before it opens.

The processing volunteer

Must use the assigned place limit, closing time and staffing arrangement. The volunteer cannot change those arrangements.

The organiser

Can choose 30 or 40 places and arrange a suitable room, choose a Wednesday or Thursday closing time, and assign one or two available volunteers. These options are feasible.

Neither person can prescribe which students will actually apply, when each will submit a request, or how often someone submits the form.

Can the volunteer change I2 from 30 to 40? Can the organiser?

Copy the exact definition of I2 before answering. Keep that definition unchanged when you switch from one person to the other.

Compare the two viewpoints

I2 is the total number of places offered. The volunteer has no authority to change it. Allocating an existing place under the rules is different from deciding that the total number offered will be 40.

The organiser has explicitly been given feasible options and the authority to choose among them. I2 is therefore controllable for the organiser and uncontrollable for the processing volunteer in this situation.

Controllable input

A specified input whose value the person under consideration can choose or set within the stated situation.

Uncontrollable input

A specified input whose value that person must take as given because setting it is outside their authority.

Control does not require unlimited choice. Being able to choose between the feasible values 30 and 40 is enough for this comparison.

How would you classify all four inputs for both people?

Use the same authority test for I1, I3 and I4. If the volunteer knows the closing time with certainty, does that make it controllable?

Reveal the comparison and reasoning
Defined inputProcessing volunteerOrganiser
I1 · Submitted requestsUncontrollableUncontrollable
I2 · Places offeredUncontrollableControllable
I3 · Closing timeUncontrollableControllable
I4 · Assigned staffingUncontrollableControllable

A known value can still be uncontrollable. Wednesday at 18:00 may be completely certain, yet the volunteer cannot set a different cut-off. Uncontrollable does not mean unknown, random or disrupted by an external shock.

For I1, both people must work with what students actually submit. A volunteer can create consolidated records from those submissions, but cannot thereby decide what the students originally submitted or when they did so. Consolidated records are a new intermediate result of the operator.

It is possible for every listed input to be uncontrollable for one role. There is no need to add another item just to make both categories appear.

Controllability is a relationship between a defined input, a person and a situation. It is not a permanent label attached to an object.

Which change affects an input value, and which affects the operator?

A. Keep the first-come rule but offer 40 places instead of 30.
B. Keep 30 places but use the most recent submission when a student applies more than once.

Check the distinction

A changes I2. The rule can remain “allocate places to the first I2 distinct, on-time applicants.”

B changes the operator. It replaces the rule for handling repeated submissions; it does not change a value of I1–I4.

Likewise, “Wednesday at 18:00” is a value of I3. “Treat submissions no later than I3 as on time” is a rule describing how to use that value.

First define an item's role in the model, then classify the inputs. An outcome such as the confirmed list does not become a controllable input merely because somebody could edit it.

Part III · Look inside the system

Divide the work. Keep the connections.

Decomposition divides a system into subsystems, each with its own inputs, operator and outputs. Integration connects those subsystems through the outputs they provide and the inputs they require.

How would you divide your registration system into two or three smaller systems?

For each subsystem, state its intended result, required inputs and operator. Write exactly what it passes to the next subsystem or to someone outside the whole system.

Name the content of each arrow. Then check whether the connected parts still produce your original individual results and confirmed list.

Compare with one possible decomposition

The following is a functional decomposition. A different division can also work if each part has a clear transformation and the handovers support the whole process.

SUBSYSTEM A

Application preparation

Inputs: I1, the submitted requests; I3, the closing time; and staff effort supplied through I4.

Operator: consolidate records by student ID; retain the earliest submission and receipt order; compare its time with I3; keep identity, contact and on-time/late status together.

Output to B: one usable record per applicant. Keep late applicants' records too, so they can receive their results.

Handover A → BIdentity · contact · earliest submission time · receipt order · on-time/late status
SUBSYSTEM B

Place allocation

Inputs: the applicant records from A; I2, the number of places offered; and staff effort through I4.

Operator: order on-time applicants; allocate up to I2 places; link an outcome and any relevant reason to each applicant; prepare and provide the confirmed list.

Outputs: identified outcome records for C, and O2, the confirmed participant list, for the organiser.

Handover B → CIdentity · contact · registration outcome · reason, where relevant
SUBSYSTEM C

Individual notification

Inputs: the identified outcome records from B, including contact details; and staff effort through I4.

Operator: prepare the appropriate result message; match it to the applicant's contact details; send it so the result is available to that person.

Output: O1, the individual registration results made available to applicants.

The connected registration subsystemsInside the registration boundary, application preparation receives requests and closing time, and produces applicant records. Allocation receives those records and the offered place limit, provides a confirmed list to the organiser, and passes identified outcomes to notification. Notification makes results available to applicants. Assigned staffing supports all three functions.REGISTRATION SYSTEMA · ApplicationpreparationI1 + I3Identified applicant recordsB · Place allocationI2O2Organiser'sconfirmed listIdentity + contact + outcomeand reason, where relevantC · IndividualnotificationO1Applicants'own resultsI4 · Supplied staffing supports A, B and C
A · Prepare applicationsReceives I1 + I3 and staff effort.
B · Allocate placesReceives applicant records + I2. Gives O2 to the organiser.
C · Notify applicantsReceives identified outcomes. Produces O1.

I4 supplies staffing to all three functions. A → B carries applicant records; B → C carries outcomes linked to identity and contact details.

The dashed boundary encloses the registration operation. The organiser and applicants receive its outputs.

Staffing is shared across functions. One volunteer may perform several functions, or several volunteers may divide the work. Decomposition does not create a separate copy of the staffing resource for each box.

Is an applicant record an input or an output?

Take the record that A provides to B. Answer from the viewpoint of A, B and the whole registration system.

Follow the same record across the boundary
System being analysedRole of the record
A · Application preparationAn output.
B · Place allocationAn input.
The whole registration systemAn internal intermediate result.

The record does not have one permanent label. Its role depends on which system boundary you are using.

Also notice that B needs I2 directly from outside the operation. The preceding subsystem's output is an input to B, but it is not all that B needs.

Would a list of outcome words be enough for notification?

Imagine C receives only “confirmed, no place, confirmed…” What else must travel with each outcome? If B has produced the organiser's list, is the whole task complete?

Check the connections against the purpose

C needs to know whose outcome each word describes and where to send it. The link between identity, contact details and result must survive the handover. Drawing an arrow alone does not establish that the next subsystem has enough information to work.

B producing O2 does not automatically produce O1. Individual notification is still needed to complete the wider task we defined.

Not every output from B must pass through C: the confirmed list goes to the organiser outside the system. An overall output can emerge from an intermediate subsystem.

Finally, two volunteers do not automatically mean two subsystems. A useful decomposition identifies functions and transformations; the same person may perform several of them.

Try the framework elsewhere

A different situation. Your own model.

Campus printing desk

A student sends a PDF to a campus printing desk and requests two complete copies. There is blank paper, a printer and a staff member at the desk. The displayed service hours are 09:00–18:00. The owner sets those hours; the staff member must follow them.

The student expects to collect the requested printed pages. The task covers processing the printing request and handing over the pages.

Can you define this system without a prepared input list?

  1. Define an intended output whose completion can be checked.
  2. Define at least three inputs. Say what each represents and give a possible value.
  3. Write an operator with rules and steps. Explain one required precedence relationship.
  4. Choose an input from your own list and classify the same input for the owner and staff member.

Read your description as if you had to follow it. Where would you still need to ask, “What exactly does this mean?” Revise that part before comparing.

Compare with a possible model

Output: two complete sets of pages matching the specified PDF, handed to the requesting student. “Printing is finished” and “the student has received the pages” specify different endpoints; choose the one matching your boundary.

Possible inputs: the submitted PDF and its contents; requested copy count, here 2; supplied blank paper and its quantity; and the service window, here 09:00–18:00. You could also explicitly model provided staffing or equipment capacity.

One operator: accept the request during the service window; record the file and copy count; print according to that record; check content, pages and number of copies; hand the checked pages to the corresponding student.

The file and requested quantity must be available before printing can fulfil that request. Checking the printed pages requires those pages to exist. The printer's internal mechanical process can remain outside the detail of this model.

Controllability: if your inputs include the service window, it is uncontrollable for the staff member and controllable for the owner under the given authority. If you choose the customer's submitted PDF, both may need to take that actual submission as given. Keep the same definition rather than switching inputs to force different classifications.

Which of your first definitions would you now rewrite?

Return to a definition you wrote at the start. Write its revised version and explain what is more precise.

Then complete: “In my operator, ______ must precede ______ because ______.”

Use these checks on your own answer
  • Inputs and outputs: have you specified the information, quantity, identity or state, rather than only naming a broad object?
  • Operator: could another person execute your rules without inventing an essential decision? Can you justify the dependencies?
  • Controllability: have you kept the input definition fixed while naming the person and their authority?
  • Subsystems: is each handover sufficient for the next part, and do the connected parts still produce the original outputs?

For example, “students” could become “the submitted application records, each linking a student ID to contact details and a submission time.” The revised definition says what the operation actually receives and uses.

Carry the questions with you.

What is being transformed? What must be provided? What result is intended? Which rules and dependencies produce it? Who can set each input? What must pass between the parts?