0% found this document useful (0 votes)
26 views11 pages

Paper 77-Thinging For Computational Thinking

The article discusses the concept of computational thinking as a fundamental skill for everyone, emphasizing its importance beyond just computer scientists. It introduces 'thinging' as a conceptual model that enhances problem-solving and understanding in computational thinking, utilizing a diagrammatic technique called the thinging machine (TM). The paper aims to contribute to the integration of computational thinking in education by illustrating its core concepts and applications through examples and case studies.

Uploaded by

Youssef OUNIR
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
26 views11 pages

Paper 77-Thinging For Computational Thinking

The article discusses the concept of computational thinking as a fundamental skill for everyone, emphasizing its importance beyond just computer scientists. It introduces 'thinging' as a conceptual model that enhances problem-solving and understanding in computational thinking, utilizing a diagrammatic technique called the thinging machine (TM). The paper aims to contribute to the integration of computational thinking in education by illustrating its core concepts and applications through examples and case studies.

Uploaded by

Youssef OUNIR
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 11

See discussions, stats, and author profiles for this publication at: https://www.researchgate.

net/publication/331411906

Thinging for Computational Thinking

Article in International Journal of Advanced Computer Science and Applications · February 2019
DOI: 10.14569/IJACSA.2019.0100277

CITATIONS READS
14 471

2 authors:

Sabah Al-Fedaghi Ali Abdullah Alkhaldi


Kuwait University Kuwait University
402 PUBLICATIONS 2,622 CITATIONS 3 PUBLICATIONS 15 CITATIONS

SEE PROFILE SEE PROFILE

All content following this page was uploaded by Sabah Al-Fedaghi on 28 February 2019.

The user has requested enhancement of the downloaded file.


(IJACSA) International Journal of Advanced Computer Science and Applications,
Vol. 10, No. 2, 2019

Thinging for Computational Thinking


Sabah Al-Fedaghi1, Ali Abdullah Alkhaldi2
Computer Engineering Department
Kuwait University, Kuwait

Abstract—This paper examines conceptual models and their  A thought process, thus independent of technology.
application to computational thinking. Computational thinking is
a fundamental skill for everybody, not just for computer  A specific type of problem-solving that entails distinct
scientists. It has been promoted as skills that are as fundamental abilities (e.g., being able to design solutions that can be
for all as numeracy and literacy. According to authorities in the executed by a computer, human, or both).
field, the best way to characterize computational thinking is the
way in which computer scientists think and the manner in which
However, Bocconi et al. [3] raised several issues and
they reason how computer scientists think for the rest of us. Core challenges that must be addressed for the effective integration
concepts in computational thinking include such notions as of information technology in compulsory education, including
algorithmic thinking, abstraction, decomposition, and What are the core characteristics of computational thinking
generalization. This raises several issues and challenges that still and its relationship with programming/coding in compulsory
need to be addressed, including the fundamental characteristics education? Coding (programming) is regarded as a key 21st
of computational thinking and its relationship with modeling century skill: ―Coding is the literacy of today and it helps
patterns (e.g., object-oriented) that lead to programming/coding. practice 21st century skills such as problem-solving, modeling
Thinking pattern refers to recurring templates used by designers and analytical thinking‖ [3]. The authors of European e-Skills
in thinking. In this paper, we propose a representation of Manifesto [5] declared that ―Skills like coding are the new
thinking activity by adopting a thinking pattern called thinging literacy. Whether you want to be an engineer or a designer, a
that utilizes a diagrammatic technique called thinging machine teacher, nurse or web entrepreneur, you’ll need digital skills.‖
(TM). We claim that thinging is a valuable process as a
fundamental skill for everybody in computational thinking. The In this paper, we seek to contribute to the current debate on
viability of such a proclamation is illustrated through examples computational thinking with particular focus on the following.
and a case study.
A. Conceptualization
Keywords—Computational thinking; conceptual modeling; In computer science, conceptualization is the first stage of
abstract machine; thinging; abstraction the model-building process to arrive at a representation capable
of addressing the relevant problem. A conceptual model is
I. INTRODUCTION mainly formed upon concepts such as components of thinking.
The cognitive faculty of thinking [1] involves processes by It can provide a framework for thinking that structures notions
which we reason and solve problems. ―Computational thinking into patterns according to categories to provide a basis to
is a fundamental skill for everybody, not just for computer represent internal thinking in an external form. Here, we use
scientists. To reading, writing, and arithmetic, we should add this modeling in the sense of patterned thinking [6] (e.g.,
computational thinking to every child’s analytic ability‖ [2]. object-oriented modeling), where pattern refers to recurring
Computational thinking is distanced from digital templates used by persons in the thinking process.
literacy/competence, as it focuses on problem-solving This paper promotes conceptual modeling that is based on
processes and methods and on creating computable solutions the Heideggerian [7] notion of thinging as a framework for
[3]. It has been promoted as skills that are as ―fundamental for computational thinking. Heideggerian thinging is generalized
all as numeracy and literacy‖ [3]. It goes beyond introductory as an abstract thinging machine (TM) [8-13].
knowledge of computing to treat computer science as an
essential part of education today and presents a distinct form of B. Core Concepts
thought, separate from these other academic disciplines, where As will be described in this paper, we propose five basic
diagrammatic techniques are used in analysis and strategic concepts to model computational thinking:
planning [2]. In this perspective of computational thinking,
computer science modeling techniques are essential in many  The notion of thing;
aspects of modern-day research and in understanding things for
 The notion of TM;
all people who expect to live and work in a world where
information is stored, accessed, and manipulated via computer  Five flow operations of things: create, process, release,
software [2]. transfer, and receive; and
Wing [4] defined computational thinking as something that  Triggering.
―involves solving problems, designing systems, and
understanding human behavior, by drawing on the concepts
fundamental to computer science‖. It includes [3]:

620 | P a g e
www.ijacsa.thesai.org
(IJACSA) International Journal of Advanced Computer Science and Applications,
Vol. 10, No. 2, 2019

C. Programming/Coding later discussion). Note that this does not apply to other
A diagram can be coded, and the code and diagram industrial devices that are not cut off from their ―roots.‖ The
approximate the conceptual form of the programmer behind thermostat, for example, is an industrial product that manifests
both. A TM is expressed as a diagram that can be mapped to itself in its environment, as will be represented later in this
programming/coding in the same way as flowcharts. It is paper. For Heidegger [7], things have unique ―thingy
important to mention this property of the TM, even though it Qualities‖ [16] that are related to reality and therefore are not
will not be explored in this paper. typically found in industrially generated objects. According to
Heidegger [7], a thing is self-sustained, self-supporting, or
To achieve a self-contained paper, Section II reviews the independent—something that stands on its own. The condition
TM that was adopted in this paper and was used previously in of being self-supporting transpires by means of producing the
several published papers, as mentioned previously. Section III thing. According to Heidegger [7], to understand the thingness
presents examples of applying TM in computational thinking. of a thing, one needs to reflect on how thinging expresses the
Section IV applies the TM in an actual case study. way a ―thing things‖ (i.e., ―gathering‖ or tying together its
constituents into a whole). According to Thomas et al. [17],
II. THINGING MACHINE (TM) Heidegger’s view can however be seen as a tentative way of
Drawing on Deleuze and Guattari [14], who declared— examining the nature of entities, a way that can make sense. An
admittedly from a different prospect—―All objects can be artefact that is manufactured instrumentally, without social
understood as machines,‖ TM-based conceptual modeling objectives or considering material/spatial agency, may have
utilizes an abstract thinging machine (hereafter, machine) with different qualities than a space or artefact produced under the
five stages of thinging, as shown diagrammatically in Fig. 1. opposite circumstances.
In philosophy, thinging refers to ―defining a boundary The TM handles things and is itself a thing that is handled
around some portion of reality, separating it from everything by other machines. The stages in the machine can be briefly
else, and then labeling that portion of reality with a name‖ [15]. described as follows:
However, according to our understanding, thinging is when a
Arrive: A thing flows to a new machine (e.g., packets
thing manifests or unfolds itself in our conceptual space. An
arrive at a buffer in a router).
architect realizes the thing house, which in turn things (verb)
[7]; that is, it presents its total thingness, which includes living Accept: A thing enters a machine; for simplification
space, shelter from natural elements, family symbol, etc. This purposes, we assume that all arriving things are accepted;
issue will be explained later in this paper. hence, we can combine Arrive and Accept into the Receive
stage.
Our TM modifies Heidegger’s [7] notion of thinging by
applying it to the life cycle of a thing and not just to its Release: A thing is marked as ready to be transferred
ontological phase (producing). A thing things; in other words, a outside the machine (e.g., in an airport, passengers wait to
bridge is not a mere object; rather, it establishes itself in a board after passport clearance).
conceptual realm as unified whole involving riverbanks,
streams, and the landscapes. When representing it, we can view Process (change): A thing changes its form but not its
thinging as akin to an abstraction, but it differs in being identity (e.g., a number changes from binary to hexadecimal).
expansive instead of being reductive in detail. Create: A new thing is born in a machine (e.g., a logic
In the TM, we capture thinging as a dynamic machine of deduction system deduces a conclusion).
things that are created, processed, received, released, and Transfer: A thing is inputted or outputted in/out of a
transferred—the operations of Fig. 1. Heidegger [7] offered an machine.
example of thinging through the thing jug. When the clay is
shaped into a jug, the jug manifests itself—in Heidegger’s A TM also utilizes the notion of triggering. Triggering is
words—into ―what stands forth.‖ Its thingness conquests and the activation of a flow, denoted in TM diagrams by a dashed
entraps the void that holds and takes over its task of embracing arrow. It represents a dependency among flows and parts of
and shielding the penetrating wine, thus connecting itself to a flows. A flow is said to be triggered if it is created or activated
setting of vine, nature, etc. This conceptualization of the thing by another flow (e.g., a flow of electricity triggers a flow of
jug comes as a reaction to the physical formation of the clay. heat) or activated by another point in the flow. Triggering can
According to Heidegger, ―We are apprehending it-so it seems- also be used to initiate events such as starting up a machine
as a thing‖ [7] (italics added). The TM expands this thinging (e.g., remote signal to turn on). Multiple machines can interact
by conceptualizing the jug not only through its existence but by triggering events related to other machines in those
also through its activities as a machine (an assemblage) that machines’ stages.
creates (e.g., certain shape of void), releases, transfers (e.g.,
air), receives, and processes other things. It is not only a thing Create
that things but also a machine that machines (verb). Release Output Input Transfer

Heidegger [7] distinguished between objects and things: Process Accept Arrive Receive
―The handmade jug can be a thing, while the industrially made
can of Coke remains an object‖ [16]. The industrially made can Fig. 1. Thinging Machine.
of Coke has minimal thinging and maximal abstracting (see

621 | P a g e
www.ijacsa.thesai.org
(IJACSA) International Journal of Advanced Computer Science and Applications,
Vol. 10, No. 2, 2019

III. EXAMPLE submachines: region, time, and the event itself. As a side note,
According to Riley and Hunt [2] in their book we may conceptualize the TMs as fourfold—that is, consisting
Computational Thinking for the Modern Problem Solver, an of space, time, event, and things.
abstraction is anything that allows us to concentrate on Reality
important characteristics while deemphasizing less important,
perhaps distracting, details. Abstraction is a core concept in
computational thinking in addition to such notions as Abstraction
algorithmic thinking, decomposition, and generalization [3]. Object
Riley and Hunt [2] stated that programmers are really a kind of Thing
problem solver and that computer programmers are arguably
the most important of all modern problem solvers. The best
way to characterize computational thinking is through the way Thinging
computer scientists think, as well as the manner in which
computer scientists think for the rest of us. As a digital camera
uses a handful of focus points, computer scientists learn to
focus on the most important issues through abstraction [2].
Fig. 2. Thinging is an Expansive Reverse of Realization in Reality.
The notion of abstraction goes all the way back to Plato,
who proposed to distinguish abstract ideas as ideal entities that Reality
capture the essence of things. They are abstraction, that is,
ideas that do not exist in the world. We can note two basic
Abstraction
aspects of abstraction:
 Not being in reality,
 Being reductive in details Thinging
Abstraction is an important way of thinking, nevertheless,

We claim that thinging is also a valuable process as a
fundamental skill for everybody in computational thinking.
Thinging takes a holistic view by, in contrast to abstraction,
being expansive in detail, as shown in Fig. 2. Thinging is an Fig. 3. The Thing Jug things through its Total Thingness.
abstraction-like process that deemphasizes reduction and hence
facilitates seeing the ―bigger picture.‖ Note that thinging and Thermostat
abstraction can be performed at several levels of expansion and HeatSwitchSetting(COOL/OFF/HEAT)
in reduction of details. Fig. 3 illustrates the nature of thinging FanSetting (ON/AUTO)
as an inverse of realization in reality. TemperatureSetting: integer
SetMinFunction(f: COOL/OFF/HEAT)
Note the reductive nature of object-oriented modeling (e.g., SetFan (b: ON/AUTO)
UML) in the following example. As shown in Fig. 4, Riley and SetTemperature (t: integer)
Hunt [2] abstractly described the thermostat, which involves a
class diagram rectangle consisting of three parts diagrammed Fig. 4. Description of the Class Temperature (Adapted from [2]).
in three compartments. The middle compartment lists attributes
of the thermostat. The operations in a class diagram are listed 2 Thermostat
3 1
in the bottom compartment, where operations are abstract Fan
Temperat
Create Create Switch
references to the behavior of the object. The following model ure
Create Create Create Create
presents an alternative conceptualization of the thermostat. Release Release Release
Release Release Release
A. Static TM of the Thermostat Transfer Transfer Transfer
Transfer Transfer Transfer
4
The thermostat can be represented as in Fig. 5. In line with 5 6
the previous discussion on the thermostat, its thingness Transfer Transfer Transfer Transfer Transfer
includes Switch (1), Fan (2), and Temperature (3). The switch Transfer
Receive Receive Receive
Receive Receive
includes three signals, COOL (4), OFF (5), and HEAT (6), Receive
which flow to change the State (7) of the cooling/heating Process Process 9 Process Process Process
machine (8). Similarly, signals set the temperature (9) and
change the state of the fan (10). Fan
10 State
ON AUTO State COOL OFF HEAT
B. Behavior of the Thermostat Create Create 7

Behavior in a TM is represented by events. An event is a Cooling/heating machine 8


thing that can be created, processed, released, transferred, and
received. It is also a machine that consists of (at least) three Fig. 5. The TM Representation of the Thermostat.

622 | P a g e
www.ijacsa.thesai.org
(IJACSA) International Journal of Advanced Computer Science and Applications,
Vol. 10, No. 2, 2019

Consider the event The switch turns OFF (see Fig. 6). It E6 E5
E2
E1
Thermostat
includes the event itself (Circle 1 in Fig. 6), the region of E4 E3
programmers the things currently being dealt with in the event Fan
Create Create Temperat Switch
(2), and the time machine (3). The region is a subgraph of the ure
Create Create Create Create
Release Release
static representation diagram of Fig. 5. For simplicity’s sake, Release Release Release Release
we will represent an event by its region only. Transfer Transfer
Transfer
Transfer
Transfer Transfer
Accordingly, we can identify four basic events in the static
description of Fig. 5, as shown in Fig. 7: Transfer Transfer Transfer Transfer Transfer
Transfer
 Event 1 (E1): The switch is COOL. Receive Receive
Receive
Receive Receive Receive

 Event 2 (E2): The switch is OFF. Process Process Process Process Process

 Event 3 (E3): The switch is HEAT. Fan


State
ON AUTO State COOL OFF HEAT
 Event 4 (E4): The temperature is SET. Create Create

 Event 5 (E5): The fan is ON. Cooling/heating machine

 Event 6 (E6): The fan is AUTO. Fig. 7. The Events of the Thermostat.

These events can be written as statements of any E1

programming language. E5
E2 E4
C. Control of the Thermostat E6
E3
A possible events chronology is shown in Fig. 8, which
represents the permitted sequence of events. For example, Fig. 8. Chronology of Events.
switching directly from COOL to HEAT and vice versa
without first turning the cool/heat machine OFF is not E1
E1
E1
E1
E5
E5
permitted. These sequences are shown in Fig. 9 (a-e) as E5
E2
follows: E2
E6 E4 E2
E6 E3
1) The cool/heat machine is OFF, E3 E3
E3
E6
(b)
a) Select {COOL or HEAT}, then fan {ON fan, set the (a) (c) (d) (e)

temperature}. Fig. 9. Permitted Sequence of Control Operations.


b) Select HEAT {select the state of the fan, set the
temperature}. D. Mapping to Class Notations
2) The cool/heat machine is on {COOL or HEAT}, and Selecting the events is a design decision. TM representation
the fan is {ON or AUTO}, switch fan to {ON or AUTO}. shows that Riley and Hunt [2] declared only three events
3) The cool/heat machine is on {COOL or HEAT}, set the (Fig. 10):
cool/heat machine OFF.  Event 1 (E1): The switch is COOL/OFF/HEAT.
4) The cool/heat machine is on {COOL or HEAT}, set the
temperature.  Event 2 (E2): The fan is OFF/AUTO.
5) The cool/heat machine is OFF, switch fan to {ON or  Event 3 (E3): The temperature is set.
AUTO}.
E2
E3 Thermostat E1
Time Fan Temperature
Transfer Region Create Create Switch
Switch
Create
(Subdiagram) Create Release Release
Thermostat Release
Release
Receive Create Transfer Transfer
Transfer
Transfer
Event
Process:
itself Transfer Transfer Transfer
Process: Transfer
Consume Receive Receive Receive
takes Receive
course Machine
Process Process
Release Process

Create Fan
OFF State Create State
Transfer ON AUTO State COOL OFF HEAT
Create
Machine

Fig. 6. He Event: the Switch Turns OFF. Fig. 10. The Events of the Thermostat.

623 | P a g e
www.ijacsa.thesai.org
(IJACSA) International Journal of Advanced Computer Science and Applications,
Vol. 10, No. 2, 2019

COOL OFF HEAT Consider the 3-events and 6-events designs. The 3-events
COOL OFF HEAT uses one wire between the thermostat and the cool/heat
machine, whereas the 6-events design uses three. Each
Create Create Create
―COOL‖ ―OFF‖ ―HEAT‖ implementation has its merits. The 3-events design is cheaper,
Create Create Create and the 6-events is more reliable. For example, in the 6-events
Release
Release Release Release design, if heating does not work, the cooling feature will still
Transfer
Transfer Transfer Transfer work when the link to the cool/heat machine is cut. The point
here is that the object-orientation, as discussed by Riley and
Transfer Hunt [2], does not seem to be aware of available alternative
Transfer Transfer Transfer
Receive
Receive
designs. This is an important observation in the context of
Receive Receive
thinking. According to Do and Gross [18], in design, ―Drawing
Process Process Process Process is intimately bound with thinking.‖
If COOL If OFF If HEAT
IV. CASE STUDY
The thermostat’s TM modeling is a small artificial example
Fig. 11. The Switch Representation in the 3-Events (Left) and 6-Events of problem-solving by describing it conceptually. Our case
(Right) Designs of the Thermostat. study involves a large real problem: how to model a help desk
in a government ministry. In its actual environment (the
Fig. 11 contrasts the switch representation in the 3 and 6 workplace of the second author), the maintenance process
designs. starts when a user contacts the IT department for help. The
department calls such a process the help desk process. It is a
The class notation given by Riley and Hunt [2] can be
problematic system that involves implicit contacts and
viewed as mere names for data items and methods (processes)
that can be mapped to the TM, as shown in Fig. 12. Thus, we interactions in the alignment between IT and business [19].
can produce the class description from the TM representation. In this case study, the IT department solved the help desk
problems using an ad-hoc technique that involves thinking of it
The important point is that the object-oriented thinking
as a semi-automated system that is built piece by piece over
style, the class description, is produced before describing the
methods, whereas in the TM, the TM machines are developed several years. There is no current documentation, even though
the manager of the help desk drew flowcharts that show the full
right from the beginning of the analysis. Designing the
description of the processes behind how the help desk works
thermostat in terms of three events is the result of this object
for different tasks, as shown in Fig. 13. In projecting this
orientation, which captures the three events because it does not
see all the possibilities of design. system on Heidegger’s jug, in such an approach, this can be
viewed as failure to give thought to ―what the jug holds and
SetFan (b: ON/AUTO) how it holds‖.
SetTempreture (t: integer) Help desk operations are causing many types of
managerial, supervision, technical, and legal problems. A
E3 E2
SetMinFunction(f: COOLOFF/HEAT) possible solution is a holistic approach that involves all related
elements in the help desk system. It is a system that exists in
E1 reality and needs a better understanding of its thinging. It is
FanSetting Thermostat misthinged or, in Heideggerian language, a broken tool that
Tempreture
(ON/AUTO) Setting: integer
marks the annihilation of the ―equipmental thing‖ (IT help
HeatSwitchSetting(COOL/OFF/HEA
Create Create T) desk), in that helping cannot be gathered around it.
Create
Release Release
Release
Transfer Transfer
Transfer

Transfer Transfer Transfer


Receive
Receive Receive

Process Process

Fan
Create State
State COOL OFF HEAT
ON AUTO
Create

Machine

Fig. 12. TM and Class Entries. Fig. 13. Sample Current Documentation.

624 | P a g e
www.ijacsa.thesai.org
(IJACSA) International Journal of Advanced Computer Science and Applications,
Vol. 10, No. 2, 2019

Accordingly, we consider the question: ―How does the IT current spare parts in the inventory (33) and to transfer it to a
help desk operate?‖ We conceptualize it as a TM that creates, program that checks this quantity of spare parts (34):
processes, releases, transfers, and receives things. The helping
system includes things that are machines and machines that are 1) If the number is zero, the number of the pending
things unfolding an integrated wholeness that is itself part of requests would be incremented by one (35). Moreover, the
the ministry’s machinery. We focus next on thinging the IT request would be released (36) and added to a queue of
help desk. pending requests (37).
2) If the number is greater than zero, the request is
A. Static Model
processed again (38 and 39) to extract the requested quantity
Accordingly, we model the help desk system, as shown in of spare parts (40).
Fig. 14. In the figure, the user sends a request to the secretary
of the workshop (Circle 1). The request is checked to decide Note that we renovated an existing system and did not
whether it is for repair (A) or for spare parts (B). design the best model for this application. For example, it is
possible to define the minimum value of inventory instead of
B. Request for Repair permitting it to reach zero. Thus, our thinging of the system is
The repair request flows to the workshop administrator (2), tailored to the existing requirements.
where it is processed to do the following:
Both the numbers of the requested items (41) and current
1) Selecting a specific technician for this request: To quantity (42) are transferred to a program that calculates the
accomplish that, the list of technicians is processed (4) to available quantity (43) that can be delivered to the requester. A
generate the name of a technician (5). simple formula calculates what is called remaining quantity as
2) Creating a task (ticket): Additionally, the administrator follows:
creates a new task form (6) that includes the request Remaining Quantity = Current Quantity – Requested Quantity (44)
description (7) and the technician’s name (8).
Accordingly, two possibilities arise:
The task then flows (9) to the technician, who later
examines the task to decide on the following: 1) The remaining quantity is greater than or is equal to
zero (45); in other words, the full requested quantity can be
1) Given that it is possible to call the user and solve the provided to the user. In that case, the request is released (46)
problem by phone (10), the technician places a phone call (11) and transferred to the storage, where it is received and
to the user and guide the user step by step to solve the problem processed (47) and the stored spare parts are sent to the
through the phone (12). requester (48).
2) The technician is required to go to the user’s workplace 2) The remaining quantity is less than zero (49); as a
(13) to solve the problem by him-/herself (14). The technician result, a new quantity called pending is created and calculated
moves from the workshop to the user’s location (15). The user as the following:
brings the computer to the technician to work on it and repair
Pending = Requested Quantity – Current Quantity
it (16).
Accordingly, a new request that specifies the quantity that
After processing the computer (17), the technician has one is currently in the possession of the inventory department is
of the two following outcomes: created (50) and forwarded to the storage, and then steps (46-
1) The computer is not repaired (18), and the technician 48) are repeated. Also, a new request that specifies the number
takes it back to the workshop. There, it is fixed (19), and the of pending quantities is created and considered as a new
workshop admin (20) transfers the fixed computer back to the request (51).
user (21). In parallel, according to a certain schedule (52), the list of
2) The computer is repaired (22) and transferred back to pending requests is processed, and each request (the loop is
the user (23 and 24). specified in the dynamic TM model) is taken out and processed
to create a pending request (53) that, in turn, is processed, thus
Both previous outcomes lead to (25), where the user gets leading to the creation of an ordered quantity (54). The ordered
the computer and processes it to see whether it is repaired: quantity is added to the total number of ordered items (55).
1) The computer works fine (26); as a result, the user Later, the total number of ordered items (56), along with the
creates a report (27) to close the request and sends this report current quantity (57), flows to a committee for examination,
and the evaluation of the need for new spare parts is processed
to the workshop admin (28). (58). Hence, a decision is created (59) and processed for
2) The computer repair is not satisfactory (29), and the making orders (60), which flow to the workshop admin (61).
user creates a follow-up request (30) for repair and sends it to
the secretary (A). In the workshop admin, the orders are processed to (62)
create orders to the suppliers (63) and transfer these orders to
Request for spare parts the purchase department (64). There, each order is processed
The spare parts request flows to the inventory department (65) and put on hold while waiting to assign a budget (66). A
(31), where it is processed (32) to extract the quantity of request for a budget is created (67) by the purchase department
and is transferred to the budget department (68). The budget

625 | P a g e
www.ijacsa.thesai.org
(IJACSA) International Journal of Advanced Computer Science and Applications,
Vol. 10, No. 2, 2019

department processes the budget request, (69) approves it, and purchase department (71), the approval is processed, thus
then sends the approval to the purchase department (70). In the leading to placing an order to the supplier (72).
Supplier 73
Supplier
Budget Department 69 Budget Approval Workshop
Transfe Receive Process Create Release Transfe Transfer
r 68 r 72
Workshop
70 Receive
Purchase Department Transfer Admin
Transfer Process 74
Release 63
Receive 64

Transfer
Create Order 75

Receive
Transfer Release

Process
Request Budget 67 71
Process Release
Transfer Release Create 65
66 Transfer Receive Process 62 Transfer

53 Pending Request 54 Ordered Quantity 55


Total ordered
Process Create
Create Process Create Process
52
77
Items
Inventory
List of Pending Requests No. of requests in pending Add 1
56
Department
Transfer Checking Current Quantity 35
Release 37 Transfer
Process: 61
36 If current quantity is 0 Orders 60
38 Transfer Release Create
If current quantity is greater than 0
Transfe

Receive
r

34
Process

32
Current Release
quantity Transfer
Committee 58 59 Decision
33 Current Quantity 57 Transfe Receive Process Create Process
r
42
39 Requested Quantity
43 Checking Available Quantity
Create 40 STORAGE
Transfer
Receive

44 Process: Stored Spare Parts


Release Remaining Quantity = Current quantity – - Receive
Receive 41
Transfer Requested Quantity
Requested Quantity or 76
4 47 Available Quantity
Transfer Release Create 51 If Remaining <0
9 Process Release Process
Pending = Requested Quantity – Current 48
31 50
Create Available = Current Transfer
Request for Receive
46 Release If Remaining >= 0
4
parts 5
Transfer
Transfer

B Requester
1
Secretary Create
30 Transfer

A for
Request Request Receive
Transfer repair 2Workshop Admin User
Transfer

Receive
Release

7
Transfer

Receive

3 6
28 Report to close request 27
Process Task
Process Receive Transfer Transfer Release Create
Create 29
4 8
IfElse Computer
Transfer

Receive

Release 20 21 26
Technicians Receive Release 16
Release Transfer acceptable
List Process:
Transfer Transfer 2 Transfer
Receive 5
Process 9 24
Transfer
Technician Technician Transfer Transfer
(in user place) with computer
Release Receive
5 Transfer Transfer Transfer Technician 17
Transfe

Release

Release Receive Release 18 Process:


23
r

Receive Transfer If Not


Create Process
Computer 19 14 15 Repaired
Technician name
Release

Transfer Transfer Receive


22
Process: 13 If repaired
If requires going Him/Herself
to user 11 Phone Call
10 12
Create Release Transfer Transfer Receive Process
Else

Fig. 14. The TM Representation of the IT Department Help Desk System.

626 | P a g e
www.ijacsa.thesai.org
(IJACSA) International Journal of Advanced Computer Science and Applications,
Vol. 10, No. 2, 2019

Budget Department
Transfe Receive
r
E17
Process
Budget Approval
Create Release Transfe
r E18 E
Workshop
TransferE20
Workshop
Purchase Department 19 Admin
Receive

Transfer
Transfer

Process
Receive
Process
Release

E16 E14 Order

Transfer
Create

Receive
Transfer Release

Process
Request Budget
Release
Transfer Release Create
E15 Transfer Receive Process Transfer

E21
Process E11 Pending Request
Create Process
Ordered Quantity
Create Process
E12 Total ordered
Items
Inventory
List of Pending Requests No. of requests in pending Add 1 Department

E4 Transfer
Release
Checking Current Quantity
Process:
If current quantity is 0
Transfer

E3
Orders
Transfer Release Create
If current quantity is greater than 0
Transfe

Receive

E13
r
Process

Current Release
quantity Transfer
Committee Decision
Current Quantity

Requested Quantity
E12Transfe
r
Receive Process Create Process

Checking Available Quantity


Create STORAGE
Transfer
Receive

E5
Process: Stored Spare Parts
Release Remaining Quantity = Current quantity –

E6
- Receive
Receive Requested Quantity
Transfer Requested Quantity or

Transfer Release
E9
Create If Remaining < 0
Pending = Requested Quantity – Current Process
Available Quantity
Release Process

Request for E10


Create
Release
Available = Current
Receive
Transfer

E7
If Remaining >= 0
parts
Transfer

E2 Transfer

B E8
Transfer
Secretary
A E1 Create
Request Receive
Requester

Fig. 15. Events of the TM Representation of the IT Department Help Desk System (Partial).

C. Behavior Model  Event 5 (E5): If the current quantity is greater than 0,


extract the requested quantity.
As mentioned previously in the thermostat example,
behavior in a TM is represented by events. Accordingly, we  Event 6 (E6): Find Remaining (Quantity = Current
can identify the following events in the static description of quantity – Requested Quantity) and process it.
Fig. 14, as shown in Fig. 15. To save space, we identify only
the upper part of Fig. 14 (requesting parts):  Event 7 (E7): Given that Remaining > = 0, retrieve the
requested items from the Storage.
 Event 1 (E1): The secretary receives a request for
purchasing spare parts.  Event 8 (E8): Send the requested items to the requester.

 Event 2 (E2): The inventory department receives and  Event 9 (E9): If Remaining < 0, calculate Pending =
processes the request. Requested (Quantity–Current), create a request for
pending items, and add the request to the list of pending
 Event 3 (E3): The current quantity is retrieved and requests.
processed.
 Event 10 (E10): If Remaining < 0, calculate Available =
 Event 4 (E4): If the current quantity is 0, add the request Current and retrieve the requested items from the
to the pending requests list and update the number of storage.
pending requests.

627 | P a g e
www.ijacsa.thesai.org
(IJACSA) International Journal of Advanced Computer Science and Applications,
Vol. 10, No. 2, 2019

 Event 11 (E11): Retrieve the pending requests and following warning messages related to the management of the
extract the requested quantities. system:
 Event 12 (E12): Both requested pending quantities and 1) If the time to order from the supplier in the workshop
current quantities are sent to the ordering committee. exceeds t1, then create a warning message.
 Event 13 (E13): The committee creates orders and sends 2) If the time to deliver items received from the supplier
them to the workshop. to the requester exceeds t1, then create a warning message.

 Event 14 (E14): Orders are received by the workshop Fig. 17 shows the declaration of these rules over the
and orders to the supplier are created. chronology of events. In Fig. 18, when the workshop receives
an order, the time of the order arrival is created. This time is
 Event 15 (E15): The purchase department receives processed repeatedly. If the time exceeds t1—the time period
orders for the supplier. since the receiving of the order—then a warning is created. A
similar process is followed for the second rule.
 Event 16 (E16): A request for budget is created.
E7
 Event 17 (E17): The request for budget flows to the
budget department. E5 E6
E8
 Event 18 (E18): The budget is approved. E1 E2 E9
E3
 Event 19 (E19): Orders for the supplier are sent. E21

 Event 20 (E20): Ordered items are received from the E4 E10 E20
supplier.
 Event 21 (E21): Items as sent to the storage. E19

Fig. 16 shows the chronology of these events.


E11 E12 E13 E14 E15 E16 E17 E18
D. Control
Fig. 16. The Chronology of Events of the Case Study.
Control can be superimposed onto the events of the TM
system. In the case study, suppose that we want to declare the

Supplier Supplier
E17 E20
Budget Department Budget Workshop
Transfe Receiv Process CreateApproval
Release Transfe E19
Transfer
r e E18 r Workshop Receive
Purchase Department Transfer Admin
Transfer E14 Process
Release
E16 Receive
Transfer
Receive

Order
Process

Request Budget Transfer Release Create


Process Release
Transfer Release Create
E15 Transfer Receive Process Transfer
E21
E13
Send warning Storage

Time Transfer
Create If time is greater than
t1 Process Cancel Receive

Release
E8
E13 E14 E15 E16 E17 E18 E19 E20 E21 E8 Transfer

Time Requester Transfer


Process Cancel
Create
Send warning Receive
If time is greater than
t2

Fig. 17. Examples of Control in the Case Study.

628 | P a g e
www.ijacsa.thesai.org
(IJACSA) International Journal of Advanced Computer Science and Applications,
Vol. 10, No. 2, 2019

Secretary
Create
A Request for repair Workshop Admin User Request
Process Task
Report to close request
Create Process Create
Technicians
List
Else Computer
Process If acceptable Process:
Technician Technician
Technician (in user place)
with computer Process:
Process If Not
Create
Technician name Process: Computer Repaired
Him/Herself If repaired
If requires going
to user
Phone Call
Else Create Process

Fig. 18. Simplification of the TM Representation of the IT Department Help Desk System by Removing the Stages Transfer, Release, and Receive.

[6] R. C. Anderson, ―The notion of schemata and educational enterprise:


V. CONCLUSION General discussion of the conference,‖ in Schooling and the Acquisition
We proposed using a new modeling technique, TM, as a of Knowledge, R. C. Anderson, R. J. Spiro, and W. E. Montague, Eds.
Hillsdale: Erlbaum, pp. 415-431 , 1977.
foundation in computational thinking. According to the TM
[7] M. Heidegger, ―The thing,‖ in Poetry, Language, Thought, A.
approach, a person’s ―thought machine‖ forms a train of
Hofstadter, Trans. New York: Harper & Row, 1975, pp. 161–184.
thought that excludes other modes such as procedural and
[8] S. Al-Fedaghi, ―Thinging for software engineers,‖ International Journal
object-oriented modes of thinking. The paper emphasizes this of Computer Science and Information Security, vol. 16, No. 7, pp. 21-
thinking style as a unifying method that could have diverse 29, 2018.
applications. The TM is an underlying tool for expressing the [9] S. Al-Fedaghi, ―Thinging vs objectifying in software engineering,‖
unified totality of a system’s things and machines analogous to International Journal of Computer Science and Information Security,
carpeting techniques where a ground fabric beneath the design vol. 16, No. 10, pp. 87-94, 2018.
binds pieces and sews the patterns of fabric. [10] S. Al-Fedaghi and H. Aljenfawi, ―A small company as a thinging
machine,‖ 10th Int. Conf. on Info. Mgmt. and Eng. (ICIME), University
To substantiate our claim, we contrast the TM side by side of Salford, Manchester, England, September 22–24, 2018.
with diagrams of other approaches (e.g., the thermostat). [11] S. Al-Fedaghi and N. Al-Huwais, ―Enterprise asset management as a
Although we provided comprehensive evidence of our claim, flow machine,‖ International Journal of Modeling and Optimization, vol.
its inaccuracy or its partial value needs efforts beyond a single 8, pp. 290–300, 2018.
researcher. However, the thermostat example and the case [12] S. Al-Fedaghi, ―Software Engineering Interpretation of Information
Processing Regulations,‖ IEEE 32nd Annual International Computer
study seem to point to some merits that deserve more Software and Applications Conference (IEEE COMPSAC 2008), Turku,
development. Finland, pp. 271-274, July 28 - August 1, 2008.
Fig. 14 of the case study may raise the issue of the TM [13] S. Al-Fedaghi, "Flow-based Enterprise Process modeling," International
Journal of Database Theory and Application, Vol. 6, No. 3, pp. 59-70,
diagram’s complexity. The TM model can be specified at 2013.
various levels of granularity. For example, Fig. 18 is a [14] G. Deleuze and F. Guattari, Anti-Oedipus: Capitalism and
simplified version of the lower part of Fig. 14. The stages Schizophrenia. Minneapolis, MN: University of Minnesota Press, 1983.
transfer, release, and receive are deleted under the assumption [15] J. Carreira, Philosophy Is Not a Luxury.
that the direction of the flow arrow is sufficient to represent https://philosophyisnotaluxury.com/2011/03/02/to-thing-a-new-verb/,
them. last accessed 12/12/2018.
[16] B. Latour, ―Why has critique run out of steam? From Matters of Fact to
REFERENCES
Matters of Concern‖ in Critical Inquiry, Vol. 30, No. 2, pp.151-174,
[1] R. Langacker, Foundations of Cognitive Grammar: Theoretical Winter 2004.
Prerequisites, vol. 1. Palo Alto, CA: Stanford University Press, 1987.
[17] L. Thomas, M. Ratcliffe, and B. J. Thomasson, ―Can object (instance)
[2] D. Riley and K. Hunt, Computational Thinking for the Modern Problem diagrams help first year students understand program behaviour?‖
Solver, Second Edition. Boca Raton, FL: Taylor & Francis Group, LLC, Diagrams, International Conference on Theory and Application of
2014. Diagrams, pp. 368–371, 2004.
[3] S. Bocconi, A. Chioccariello, G. Dettori, A. Ferrari, and K. Engelhardt, [18] E. Y.-L. Do and M. D. Gross, ―Thinking with diagrams in architectural
Developing Computational Thinking in Compulsory Education, design,‖ Artif. Intell. Rev., vol. 15, pp. 135–149, 2001.
Luxembourg: Publications Office of the European Union.
[19] O. Ivarsson, ―Quality management for IT support services - A case study
doi:10.2791/792158, 2016.
of an IT helpdesk service,‖ Master Thesis, Department of Technology
[4] J. M. Wing, ―Computational thinking and thinking about computing, Management and Economics, Chalmers University of Technology,
Phil. Trans. R. Soc. A, Mathematical, Physical And Engineering Gothenburg, Sweden, 2013.
Sciences, vol. 366, pp. 3717–3725, 2008.
[5] A. McCormack, The e-Skills Manifesto. European Schoolnet,
DIGITALEUROPE , Brussels, 2014.

629 | P a g e
www.ijacsa.thesai.org
View publication stats

You might also like