Professional Documents
Culture Documents
Abstract—The Agents of Things is an extension of the Internet types. Section IV presents and discusses the results from the
of Things concept in which objects or things are embedded software analysis. Section V concludes the paper.
with self-reasoning intelligent software agents to provide value-
added services to humans. However, a particular difficulty in II. SOFTWARE DEFINITION
designing intelligent things for the Agents of Things The computer program is defined as an instruction
implementation is to determine the level of reasoning ability
structured in special ways that performs a specific task to
that corresponds to the functions of the things. To achieve this
goal, we need to find an optimal match of hardware
solve a particular problem [3], [4], [5], [6], [7]. A software is
configuration with the software abilities that intelligently a set of programs that is used to manipulate the computer
perform the functions of the things. In this paper, we analyze hardware and peripherals to make use of them for different
different software to identify their spectrum in optimizing self- purposes [4], [5], [7], [8], [9]. We categorize the computer
reasoning intelligent software for the things. The result of this software into two main types, system software and
analysis is a software spectrum that is organized in terms of application software [3], [5], [9]. The interaction between
complexity and sophistication. We discuss the analytical computer hardware and computer software (system and
process to arrive at the spectrum. application software) is represented in Figure 1 [3]:
I. INTRODUCTION
There is a common phrase that says “the need is the
mother of all inventions”. Because of this phrase, humanity
advanced from living in caves to living in the digital world.
The method humanity uses to achieve all its great inventions
is by research. For example, through research, we conduct an
extensive analysis on the Internet of Things (IoT) concept.
We then identify challenges of the concept and propose a
solution represented by the concept of Agents of Things
Figure 1. The interaction between computer hardware and software
(AoT) to mitigate some of these challenges [1].
A particular issue in the AoT implementation is to
determine the level of reasoning ability that corresponds to III. SOFTWARE TYPES
the functions of the things. To achieve our goal, we need to
examine the hardware configurations that can be The computer software is classified into two main
accommodated by the different kinds of software to be categories, which are system software and application
implemented by the AoT concept. We do so by initially software [8]. Each one of these main categories includes
conducting an analysis on various computing hardware, the many subcategories of software. Some of these subcategories
outcome of which is represented by a hardware spectrum [2]. work as supporting software such as the device drivers for
In this paper, we conduct a software analysis to examine the the system software. Other subcategories are classified as
types of software that can be run in various hardware independent categories in the main application software
configurations. Finally, the outcomes from these two category such as programming and business software [9].
analyses are used to create an optimal model of things in the Figure 2 shows the main software categories.
AoT concept.
This paper presents the work-in-progress of our research
in AoT. We organize the paper as follows: Section II defines
the software. Section III lists and analyzes the software
13
ISBN 978-967-5770-64-7
14
ISBN 978-967-5770-64-7
and they are just two examples from hundreds of thousands operations, small sizes and low costs are incorporated in
of examples in this category. many household devices around us, such as microwaves,
2) Educational software TVs and cars. In general, these devices are controlled by on-
Educational software are a type of application that is board hardware computing unit with read only memory (to
designed and used for academic and educational purposes execute the program stored in the internal memory). These
only. This kind of software is widely used in universities and devices use embedded software designed to run on the
educational institutes to help students complete their hardware to do specific functions to benefit the users of the
assignments [4]. There are many important educational product. The operations and functions provided by
software in the market such as Math Lab for simulating embedded software are restricted to perform the designed
engineering and science experiments, programming algorithms without the capability to be updated or changed in
algorithms and calculating advance numerical equations. the future. Embedded software can be found in many
SPSS is widely used for statistical analysis and in social consumer products such as the timers in microwave ovens,
science. Endnote is used in academic and research fields to washing machines and television control systems [7].
manage and organize the references for researchers. These 7) Programming software
are few examples of educational software available in the Programming software represent the most effective tool
market. in software lifecycle. They give the means to the
3) Business software programmer to create, modify or develop system software or
Business software represent an important field of application software. They consist of three different levels,
computer software application. They include applications which are machine language, assembly language and higher-
that run and manage the daily operations of businesses. The level language as shown in Figure 5 [4].
business applications range from managing inventory,
organize payroll lists, accounting, etc. One of the most
reliable applications in accounting is called SAGE [4]. It is
important to mention that the business software for large
corporations and enterprises have evolved to include all the
required software in one large system called management
information system (MIS) [7].
4) Industrial systems software
Industrial software are a set of applications, programs
and information related to industrial and manufacturing areas Figure 5. Programming language levels
such as construction, mining, chemical processing, oil and
gas production [14]. Industrial software specialize in control The machine language represents the connection between
and manage all the required operations to manufacture the computer hardware and the assembly language. It is
products. They also manage the supporting systems that help classified as a low-level computer language. It is formed
or are involved in product manufacturing, such as defining from binary numbers (0, 1) and directly recognizable by the
the properties and calculating dimensions of steel structures, computer processor without a translator and can be directly
determining and pinpointing the best location to drill a hole executed [4]. The assembly language on the other hand,
in a steel beam. Aegis Industrial is one of the leading represents the connection between the machine language and
companies that provide industrial software [14]. the higher-level language. It represents the first attempt to
5) General purpose software give programming language a clear structure. It groups the
The general purpose software are a type of application machine language bits in a certain form and given predefined
for general-purpose use. This type of applications is very names [4].
popular among personal computer users. They include all the Finally, the higher-level language, which represents the
software that perform the common information processing, top level computer language, is a user-friendly language
such as word processors, spreadsheets, database management formed from phrases and words adapted from the natural
systems and basic graphic editing software. This kind of language [4]. This level of computer language went through
software is used in many applications such as in the home, many development and improvement phases. It branched
academic, business or industrial fields [9]. This kind of into many subcategories, styles and paradigms. Therefore,
software is formed from many different software but we only review the important programming paradigms that
grouped under one suit or package. One of the most popular we think create a benchmark through the computer
software packages is the Microsoft Office Suit. Furthermore, development lifecycle.
some software suits include extra software, such as e-mail a) Software programming paradigms
agent and groupware or messenger to support the The software paradigms represent the frameworks that
communication and collaboration and improve productivity every programmer can choose to adopt during software
[9]. design. These paradigms support different programming
6) Embedded software languages, styles and capabilities. The major programming
Embedded software are software that reside in products. paradigms are imperative, declarative, functional, object-
The advancement in technology represented by complex oriented, logic, symbolic and abstractive [15]. However, the
15
ISBN 978-967-5770-64-7
16
ISBN 978-967-5770-64-7
17
ISBN 978-967-5770-64-7
V. CONCLUSION AND FUTURE WORK [5] Singh, P.: ‘Basics of Computer’ VK PUBLICATIONS, 2009.
[6] Barata, K., and Cain, P.: ‘Understanding computers: An overview for
In this paper, we conduct an analysis to find the range of records and archives staff-managing public sector records: a study
software that can be covered by the AoT concept. Together programme’ London: International Records Management Trust, 1999.
with the results of hardware analysis [2], it will help us to [7] Pressman, R.S.: ‘Software engineering: a practitioner's approach’
implement the AoT model by optimizing software in a Palgrave Macmillan, 2005.
corresponding hardware configuration. [8] Gaddis, T.: ‘Starting out with Python’ Addison-Wesley Professional,
We use the conventional method to conduct our analysis 2014.
by classifying the software into two main groups (system and [9] O'brien, J., and Marakas, G.M.: ‘Management information systems
application software). We then analyze all the software types with MISource 2007’ Granite Hill Publishers, 2006.
included in these two groups. The final result of this analysis [10] Philipson, G.: ‘A short history of software’, Management, Labour
represents a software spectrum revealing the increase in Process and Software Development: Reality Bites, 2004, pp. 13.
software capabilities and sophistication as we ascend the [11] Franklin, M.: ‘Computer Architecture and Organization: From
Software to Hardware’ Pearson Education, 2012.
spectrum. This spectrum is very important for our research to
[12] ESA: ‘Games: Improving the economy’ Entertainment Software
determine the optimum software requirements for the Association, 2012, http://www.theesa.com/, acessed 25/5/2015.
hardware of AoT implementations. [13] Warman, P.: ‘Global Games Market Will Reach $102.9 Billion in
In our future work, we shall combine the final outcome 2017’ Newzoo - games market research, 2015,
of both analyses (software and hardware) and construct an http://www.newzoo.com/insights/global-games-market-will-reach-
implementation model for the AoT that utilizes optimum 102-9-billion-2017-2, acessed 25/5/2015.
software and hardware for the things. The model will help us [14] Rouse, M. and Dugan, C.: 'Industrial Software' Whatis.com, 2008,
to determine the optimum reasoning level for the things in http://whatis.techtarget.com/definition/industrial-software, accessed
25-5-2015.
the AoT concept.
[15] Vujoševic-Janicic, M., and Tošic, D.: ‘The role of programming
REFERENCES paradigms in the first programming courses’, The Teaching of
Mathematics, XI, 2008, 2, pp. 63-83.
[1] Mzahm, A.M., Ahmad, M.S., and Tang, A.Y.: ‘Agents of Things
[16] 16 Bolshakova, E.: ‘Programming paradigms in computer science
(AoT): An intelligent operational concept of the Internet of Things education’, 2005
(IoT)’, Intelligent Systems Design and Applications (ISDA), 2013
13th International Conference on, 2013, pp. 159-164. [17] Wooldridge, M.: ‘An introduction to multiagent systems’ John Wiley
& Sons, 2009.
[2] Mzahm, A.M., Ahmad, M.S., and Tang, A.Y.: ‘Computing hardware
analysis for Agents of Things (AoT) applications’, Information
Technology and Multimedia (ICIMu), 2014 International Conference
on, 2014, pp. 223-228.
[3] Turban, E., Rainer, R.K., and Potter, R.E.: ‘Introduction to
Information Systems: Supporting and Transforming Business’, 2007.
[4] Shelly, G., and Vermaat, M.: ‘Discovering Computers 2011:
Complete’ Cengage Learning, 2010.
18