Iran Journal of Computer Science

, Volume 1, Issue 1, pp 19–30 | Cite as

Machine consciousness as a service (MCaaS): a roadmap

  • Islam Elgedawy
Original Article


The vision of self-managing software systems was proposed in the past two decades. We argue that to be able to realize such vision, a suitable machine consciousness computational model must be incorporated into the software design, as it will be responsible for all cognition, thinking, learning, planning, and decision making tasks. Currently, there exist many general computational models for machine consciousness that could be adopted. They differ in their complexity and their definition of what consciousness is. Therefore, in this paper, we propose to offer machine consciousness as a service (MCaaS). This enables any software system to become “self-managing” by loosely coupling itself with the MCaaS service via a suitable management interface. We propose a roadmap for building such MCaaS service as a composite web service, adopting the Starzyk–Prasad machine consciousness computational model.


Machine consciousness Digital brains Cognitive MCaaS Self-management 

1 Introduction

Software systems management is quite hectic and costly process. Hence, in 2001, the vision of self-managing (also called self-governance) software systems is introduced to overcome such problem. At first, autonomic computing [18] is proposed to realize such vision. In autonomic computing, the software systems need to show many self-managing characteristics (namely, self-configuration, self-optimization, self-healing, and self-protection, also known as the self-* properties) of distributed computing resources such that the software systems can adapt to unpredictable changes while hiding intrinsic complexity from operators and users. The design of such self-managing software systems is mainly based on predefined rules and policies given by systems designers. Hence, any situation that is not covered by such predefined rules and policies will result in all types of problems for the software systems, their users, and the embodying environment. This is why the limitations of autonomic computing was quickly realized, and in 2004, organic computing [21] is proposed to realize the vision of self-managing software systems. Organic computing is a biologically inspired form of computing, in which software systems are built with organic properties (e.g., steady growth, learnability, adaptability, evolution). It extends autonomic computing by adding more organic self-* properties such as self-learning and self-explanation such that software systems will have the ability to learn and explain unknown concepts to oneself, and others, thus being able to create an internal representation using external information sources and be able to communicate properties about themselves and their abilities to others by transferring such internal representation. Hence, we need to build smart software systems that can sense, rationalize, predict, decide, grow, and communicate like intelligent human beings. However, we argue that self-learning and self-explanation properties could not be achieved without having a “consciousness”, as it is the main component for any human learning and thinking tasks. Simply, we need to build a “consciousness computational model” for every software system to handle all cognition, thinking, learning, planning, and decision making tasks. Luckily, currently there exist many computational models for machine consciousness that differ in their complexity and their definition of what consciousness is [11, 23].

Machine consciousness is a very controversial topic, as till now we do not have clear precise answers about “what is consciousness?”, “how does consciousness work?”, and “what is the relation between consciousness, the mind, and the brain?”. Machine consciousness is a multi-disciplinary field where inputs from different research fields are participating to its growth. We have now a large number of philosophers, neuroscientists, computer scientists, psychologists are working on developing the understanding and the practicality of the field. Chalmers [6] divided the machine consciousness problem into an easy problem and a hard problem. The easy problem of consciousness is about explaining how we can discriminate, process, and integrate information. It is about the cognitive control of the behavior, accessing and reporting mental states, attention focusing and switching, etc. The hard problem of consciousness refers to the subjective experience associated with being conscious. It is about explaining phenomenal experiences, which is about having feelings and their corresponding experiences.The term “qualia” is used to refer to subjective experiences such as feeling a pain or enjoying a scene. The term “phenomenal consciousness” refers to the phenomena of subjective experience (qualia), while the term “access consciousness” refers to the availability of information for conscious processing. Till now we do not know how to solve the hard problem, but there are some trials [23]. Work in [11] identified four overlapping areas/levels of the current machine consciousness research, namely
  • MC1: Machines with the external behavior associated with consciousness. The works in this level mainly focus on creating the external behavior of the machine based on conscious selection of different predefined actions. Such selection could be done via use of large lookup table, first-order logic , or use of reinforcement learning techniques. For better action selection, it should be based on rich cognitive models (as in MC2), as the more we can understand about the systems and their environments, the more accurate the selection process becomes. MC1 provides the solutions for the easy consciousness and weak AI problems. Research on artificial general intelligence falls within this level.

  • MC2: Machines with the cognitive characteristics associated with consciousness. The works in this level mainly focus on modeling the cognitive characteristics such as imagination, emotions, and internals of systems and environments. Modeling of cognitive states helps in creating a more realistic external behaviors (as in MC1) and also helps in developing better architecture and understanding for consciousness (as in MC3). MC2 does not require having real phenomenal states, as we could just mimic those states without experiencing them. For example, we could mimic the state of pain and its corresponding actions without actually feeling the pain. MC2 provides the solutions for the easy consciousness and weak AI problems. Research on emotion and sentiment detection and their simulations are example of works falling within this level.

  • MC3: Machines with an architecture that can correlate to human consciousness. The works in this level mainly focus on simulating, modeling, and testing cognitive theories of consciousness that we obtained from different fields (mainly philosophy, psychology, and neuroscience). This does not guarantee having a real phenomenal conscious. MC3 provides the solutions for the easy consciousness and weak AI problems. The Starzyk–Prasad machine consciousness computational model [28] adopted in this paper is an example of work in this level.

  • MC4: Machines with phenomenal conscious. This is the most controversial level, as it is more philosophically problematic. It is about knowing what is conscious and how it works. It is about building real phenomenal experiences and quilla [19], and discussing the differences between artificial consciousness and the real consciousness. MC4 correlates to the hard problem of consciousness, and the problem of strong AI. Building machines with real feelings raises many ethical and social questions that are not resolved till now [15].

Based on this classification, we can say that use of computational models has become an effective and accepted approach for studying consciousness. Furthermore, existing computational models are quite mature and managed to capture many aspects of neuroscience, cognitive and behavioral psychology, and philosophy that could be easily processed via simulations. However, till now there is no approach or a model that is compelling enough demonstrating phenomenal consciousness but existing ones who have their limitations could have some benefits and could be realized by a computer system [7, 15, 23, 28].

Therefore, in this paper, we propose to offer machine consciousness as a service (MCaaS), where different solutions from MC1 till MC4 are integrated together to form a composite web service that can be invoked by any software system. By doing so, any software system could become self-managing, once it can expose proper management interface that enables reading its sensory data and performing different control actions. The MCaaS service will be embodied and situated in the software system environment, and all cognitive, thinking, planning, and decision making tasks will be done by MCaaS service. As MCaaS is built adopting SOA, we will have the flexibility and agility to change any component representing any MC level (or even changing all the MC levels components) without touching the involved software systems. Hence, in this paper, we show the roadmap for building such MCaaS service as a composite web service, adopting the Starzyk–Prasad machine consciousness computational model, which provides a foundation for solutions in all the four levels. We show the needed conceptual models, components, processes, and the existing realizing technologies.

The rest of the paper is organized as follows: Section 2 provides different definitions for machine consciousness and states the definition adopted in this paper. Section 3 lists the necessary conditions for achieving machine consciousness, while Sect. 4 summarizes the adopted Starzyk–Prasad machine consciousness model. Section 5 presents the main problems and technical challenges to be solved in order to able to build MCaaS and also discusses the corresponding existing solutions, while Sect. 6 provides the proposed roadmap for building the MCaaS service. Finally, Sect. 7 concludes the paper.

2 Machine consciousness definition

Till now there is no agreement about what consciousness is. However, some of the existing definitions could directly kill the idea of having a computational model, and in contrast there are other definitions that can provide the theoretical foundation for creating a computational model. In what follows, we will summarize the main definitions from different philosophical perspectives as described in [23].

In general, we have two broad perspectives for defining consciousness: a dualism perspective and a monism perspective.
  • In the dualism perspective, there are two distinct realms of existence: objective and subjective. The objective is about the actual physical existence, the material universe that we perceive all around us, while the subjective is about the non-physical universe (para-physical) that encompasses the conscious mind. Dualism is a widely held philosophy of mind, but it cannot be adopted as a basis for computational modeling, as we have no idea how to deal with the non-physical aspects.

  • In the monism perspective, there is only one realm of existence, but theories could not agree which realm of existence, is it the objective or the subjective? Hence, we have two monism sub-perspectives: idealism and materialism (or physicalism).
    • In the idealism perspective, there is only a subjective non-physical realm of existence, and the physical universe is only imagined. Of course, such perspective cannot be adopted as a basis for computational modeling, as have no idea how to deal with the non-physical aspects.

    • In the materialism perspective, there is only an objective physical realm of existence, which asserts that conscious mind is a phenomenon that is part of the material/physical world (e.g., an emergent characteristic).

As we can see only the materialistic perspective assumes that consciousness has a scientific explanation that can be studied and discovered. However, there are four materialistic perspectives have emerged: behaviorism, eliminativism, identity theory, and functionalism. We summarize them as follows:
  • In the behaviorism perspective, the objective existence studied only through observable behaviors without any consciousness or activities of the mind. It dismisses the mind/brain problem all together, so it does not acknowledge the existence of a consciousness. Hence, it cannot be adopted to build computational consciousness models.

  • In the eliminativism perspective, certain classes of mental entities that common sense takes for granted, such as beliefs, and desires are considered do not exist, as there is no confirming neural basis. It promotes the idea that consciousness does not exist. Hence, it cannot be adopted to build computational consciousness models.

  • In the identity theory perspective, the mind is identical to the brain that mental states can be reduced to identical physical states of the brain, which are equivalent to the electrochemical states of biological neuronal networks. So if we want to build a consciousness model, we must build a physical brain that mimic all the wanted mental states.

  • In the functionalism perspective, mental states are identified by what they do (their functionality) rather than by what they are made of (their physical nature). Hence, conscious mental states are functional states of the brain, which are defined by the causal relationships between the brain, the body, the environment, and other mental states.

Contrasted with behaviorism, functionalism retains the traditional idea that mental states are internal states of thinking creatures. Contrasted with identity theory, functionalism introduces the idea that mental states are multiply realized. Functionalism is the most familiar, well-received view among philosophers and cognitive scientists. Functionalism implies that non-biological machines could possibly be created that are conscious and have a mind. Hence, computer hardware could replace the brain as a physical substrate, while executing software with similar functionality serves as an artificially conscious mind [25]. Hence, materialistic functionalism is considered a good theoretical foundation for machine consciousness, where consciousness appears as an “emergent property” arising from the massive parallel computations among the interacting physical parts [23].
The Starzyk–Prasad consciousness model adopted in this paper follows the functionalism perspective and sees consciousness as an emergent property resulting from “the interactions between interconnected modules with attention switching mechanism helping to select a cognitive experience and managing a sequential cognitive process.” [28]. They define machine consciousness as follows:

“A machine is conscious if besides the required mechanisms for perception, action, learning and associative memory, it has a central executive that controls all the processes (conscious or subconscious) of the machine; the central executive is driven by the machine’ s motivation and goal selection, attention switching, semantic and episodic memory and uses cognitive perception and cognitive understanding of motivations, thoughts, or plans to control learning, attention, motivations, and monitor actions” [28].

3 Machine consciousness necessary conditions

Table 1

Mapping between necessary axioms and satisfying units of the Starzyk–Prasad consciousness model

Functional Unit






Planning and thinking

\(\checkmark \)

\(\checkmark \)

\(\checkmark \)

\(\checkmark \)


Motivation and goal processor

\(\checkmark \)

\(\checkmark \)

\(\checkmark \)

\(\checkmark \)

\(\checkmark \)

Attention switching

\(\checkmark \)

\(\checkmark \)

\(\checkmark \)

\(\checkmark \)


Action monitoring

\(\checkmark \)

\(\checkmark \)

\(\checkmark \)

\(\checkmark \)

\(\checkmark \)

Episodic Memory

\(\checkmark \)

\(\checkmark \)

\(\checkmark \)



\(\checkmark \)

\(\checkmark \)

\(\checkmark \)


Semantic memory

\(\checkmark \)

\(\checkmark \)

\(\checkmark \)


\(\checkmark \)

Emotions, rewards, and sub-cortical processing

\(\checkmark \)

\(\checkmark \)

\(\checkmark \)


\(\checkmark \)

Motor skills

\(\checkmark \)

\(\checkmark \)

\(\checkmark \)


Sensory processors

\(\checkmark \)


\(\checkmark \)


Motor processors

\(\checkmark \)


\(\checkmark \)


Data encoders and decoders

\(\checkmark \)


\(\checkmark \)


Sensory units

\(\checkmark \)


\(\checkmark \)


Motor units

\(\checkmark \)


\(\checkmark \)

Work in [2, 3] proposed five axioms as the minimally necessary conditions for having consciousness. These axioms tries to link cognitive attributes such as imagination, emotions, and volition to phenomenal consciousness. However, they are necessary but not sufficient to create machine consciousness. We summarize them as follows:
  • Depiction: the system has perceptual states that depicts parts of its real world. It is about the presence, embodiment and situatedness of the system within its real environment. The idea is more complex than having a body (or other form of existence) and controlling actuators and sensors (i.e., embodiment). It is more about the development of causal processes, relationships, ad interactions between the system, its components, and its real world (i.e., situatedness).

  • Imagination: the system has internal imaginational states that recall parts of its world or fabricate world-like sensations. It is about storing, recalling, and creating experiences. Such experiences are stored in the episodic memory. The episodic memory stores different aspects of the experiences such as the involved events, the participating entities, and their relationships. Such experiences can be recalled, also new experiences can be created using predictions and imaginary scenarios.

  • Attention : the system is capable of selecting which parts of its world to depict or what to imagine.. It is about focusing the attention on selected parts of the world and changing such focus whenever needed. As stated in [28],

    “Attention is a selective process of cognitive perception, decision making, action control or other cognitive experiences. This selective process of attention results from attention switching. Attention switching is a dynamic process resulting from competition between representations related to motivations, sensory inputs and internal thoughts including spurious signals (like noise or unexpected external stimuli). Thus attention switching may be a result of deliberate cognitive experience (and thus fully conscious signal based on knowledge, prediction, association or episodic memory) or it may result from subconscious process (stimulated by internal or external signals). Thus, while paying attention is a conscious experience, switching attention does not have to be”.

  • Planning: the system has means of control over imaginational state sequences to plan actions. The system should have the free will and volition to form goals and take actions to fulfill its goals. Hence, the functional units for thinking, planning, motivation, goal creation, attention switching, action monitoring together imparts volition to the system.

  • Emotion: the system has additional affective states that evaluate planned actions and determine the ensuing action. The system should be able to identify the nature of experiences and its contexts, and the corresponding emotion states. An emotion is not just a passive change of internal state in response to perceptual events, but correlates to the relationship among perception, planning, and action.

The Starzyk–Prasad consciousness model satisfies these axioms [28] via interactions of different functional units. Table 1 shows the mapping between the axioms and the corresponding satisfying functional units of the Starzyk–Prasad consciousness model. More details about these functional units and their interactions are given in the Sect. 4. It is important to note that for depiction we ticked all units, as embodiment and situatedness are not just about having a presence but also about the whole the cognition process, its corresponding actions, and the effects of such actions. Embodiment is a part of the environment that can be perceived, modeled and learned by the intelligent machine, leading to self-determination. Intelligence cannot develop without embodiment or interaction with the environment. Through embodiment, intelligent systems can perform actions to affect the environment, and the response of the environment is registered through sensors implanted in the embodiment.

4 Starzyk–Prasad machine consciousness computational model

There are many models for consciousness developed over the past 20/,years. Work in [23] categorized them into five categories: a global workspace, information integration, an internal self-model, higher-level representations, and attention mechanisms. As shown in [28], the Starzyk–Prasad model characteristics explicitly and implicitly cover all the above categories, and this is why we choose it to build the MCaaS service. In what follows, we will summarize the main components of the model, and their interactions. Explain and discuss the mechanisms of attention switching and mental saccade proposed by the model.

4.1 The conceptual model

The model takes its functional inspiration from biological systems to model consciousness and realize it in machines. However, it is important to note that it is not advocating mimicking biological systems exactly in machines, but rather to model and use their functional organization of conscious processing. This model adopts an attention switching mechanism that takes into consideration both internal and external observations. Internal observations result from changes in internal motivation, planning tasks, and components’ status. On the other hand, external observations result from opportunities, threats, and failures of the embodying environment. Figure 1 depicts the architecture of the Starzyk–Prasad consciousness model. The figure shows that the model consists of three main modules: the sensory-motor module, the episodic memory and learning module, and the central executive module. We summarize these modules functionalities as follows:
Fig. 1

The Starzyk–Prasad machine consciousness computational model from [28]

  • Sensory-motor module. It is the module responsible for collecting different sensory data, then use such data for “concept formation”, which will be used to build different types of associative memories. For example, semantic memory will store the gained knowledge about the environment), while a procedural memory will build a hierarchy of motor skills (i.e., learnt and basic actions). The module is also responsible for motor actuation, and generation1 of emotional and reward signals. Such signals govern the learning process and serve as an interface to other units. The sensory-motor module is composed of three parts: sensory processors integrated with semantic memory, motor processors integrated with motor skills, and sub-cortical processor integrated with emotions and rewards. In other words, it is the module responsible for the “subconscious”, that automatically takes care of the actions and internal states that are previously learnt. However, it will contact the other higher consciousness modules if a conscious action is required. The sensor-motor module is connected to sensory and motor units via data encoders and decoders. Motor processor receives feedback from sensory processors. The sensory processers are the orchestrators of the sensory-motor module. They receive the inputs, contacts the semantic memory and subcortical processing modules to decide on the actions to be taken, then contact the motor processors to execute the taken actions if no thinking is required.

  • Episodic memory and learning module. It is the module responsible for storing and recalling experiences, and responsible for recognizing the novel events/patterns in various processes and their semantic relationships. It is composed of two parts, episodic memory unit and learning unit. Episodic memory unit is a collection of smaller functional blocks, each dedicated to capture spatial and temporal semantic relationships of different data sequences. It stores and manages data as episodes collected from all the units including perceptions, motivations and interpretations of cognitive experiences and their significance from the central executive. Learning about specific events/patterns is directed by the central executive module.

  • Central executive module. It is the module responsible for thinking, planning, coordination and selective control of all the other units. Its tasks include cognitive perception, focusing attention, attention switching, motivation, goal creation and selection, thoughts, planning, learning, etc. For this purpose, it needs the capability to dynamically select and direct execution of programs that govern attention, motivation, episodic memory and action monitoring. In addition, central executive can activate semantic memory and control emotions. Central executive module does not have a centralized decision making center. Instead, its decisions are result of competition between signals generated from units. Such signals vary in intensity based on internal or external aspects at a given moment. Once a winner is established, central executive provides cognitive interpretation of the result, providing top down activation for perception, planning, internal thought or motor functions.

The cognitive realization of internal processes’ states decides the central executive’ s decision of what is observed, planning how to respond, and evaluating the created action plans. The model recognizes this process as a conscious experience, and consciousness is constituted from a continuous sequence of such experiences. Once an action is selected to be performed, its consequences must be taken into consideration before the actual execution of the action. There are three types of actions: (1) the reflex action (a.k.a. reactive); (2) the voluntary action, and (3) the rhythmic action. The reflex action is an action that can hardly be influenced by high level consciousness. The voluntary action is a goal-directed action, which is controlled by high-level consciousness. With enough practice, voluntary action will be learnt and stored in the procedural memory (forming motor skills), thereby becoming rhythmic action. Each type of action is handled differently in the model. A reflex action is handled at the sensory processor level, a voluntary action needs the intervention of the central unit, while a rhythmic action needs time and training to develop. It is important to note that once an action plan is finalized, it should be executed and monitored. However, as we are working in dynamic environments, when action execution starts, the conditions in the embodying environments (such as availability of resources) are not necessarily suitable as planned; hence sub-goal(s) is formed to satisfy any violated condition (e.g., searching for more resources to cover any shortage hindering the execution of the main action). Also it is important to note that the consequences of an action may inflict a pain or damage, and hence simulation could be used to predict such damages before actually executing the action.

4.2 Attention switching mechanism

One of the signs of a conscious mind is the ability to focus the attention and switch it whenever needed. In what follows, we explain how the Starzyk–Prasad model implements both attention focusing and attention switching. The model identifies three types of signals that compete for attention, we summarize them as follows:
  • Cognition signals. These signals result from internal states recognition (e.g., pain due to shortage of resources) and normally are associated with conceptual problem solving, where mental searches for the most suitable solution take place. This done based on selected goals and internal motivations. Cognitive signals are the most frequent as various alternatives are considered and evaluated.

  • New perception signals. These signals result from new perceptions created due to observed external changes of the environment. They are less frequent than the internal signals. These signals may change the motivation or action selected by the system based on the severity of the environmental changes.

  • Motivation change signals. These signals result when the system motivation changes due to internal or external conditions affecting the values and goals of the system. Motivations are related to either cognitively recognized or unconscious needs and desires, emotional changes, and internally set abstract goals. They are less frequent than the internal signals.

Selection between signals is not via a competition; it is rather than via a conscious decision to select the signal that fulfills the current goals, based on their priorities (e.g., survival is considered the highest priority goal). Once an attention switching occurs, the system focuses its cognitive attention on the selected issue.

4.3 Mental saccade mechanism

A “mental saccade” is a concept created to mimic the well-established concept of “visual saccade” [26]. The process of handling a visual saccade is about selecting an attention spot (i.e., a location in the collected input image with the most observed salient features), then activate the memory cells corresponding to such location to start the cognition and identification processes. Similarly, the mental saccade identifies the object with the most salient features from all the collected information and makes it the attention spotlight. Then retrieves all the corresponding information about this object to start the cognition and identification processes. This is done by adopting the well-established concept of a “global workspace” (summarized in [23]), where all the information of the activated processes are collected in one global space (i.e., an associative memory). This space is known as the “mental workplace”. The operation of searching this mental workspace is known as a “mental saccade”. Once the perceived input activates an object in the mental workspace, its corresponding information in the episodic memory and semantic memory IS activated and uploaded to the mental workspace. Such updated mental workspace will be researched for a new mental saccade. It is important to note that once the most salient signals are processed, they are lowered to give a chance for less salient features to be checked [26]. Mental saccades play the core role in the conscious selection of attention spotlights, which provide the perception of having machine consciousness. Figure 2 shows how the mental saccade mechanism works. As seen in figure, there are five major loops for the mechanism cognition process. Such process shows how the mental saccades are used to change the goals, the motivations, the actions, and the environment. It is important to note that the associative memory in the figure refers to the global mental workspace. We summarize such loops as follows:
Fig. 2

The mental saccade mechanism in Starzyk–Prasad model from [28]

  • Loop 1. This loop is about attention focus, in which mental saccades are used to search for attention spotlight, which is then checked against the advancement of the current goal. If the attention spotlight is not advancing the goal, mental saccades are used to search for another attention spotlight. However, if the attention spotlight helped in the advancing the goal the learning process is activated to find the out what is needed in the next step. This could adopt reinforcement approach to find the best suitable step. This could result in changing the motivation, and preparation for new action plans.

  • Loop 2. This loop is about changing perceptions due to saccades movement. Such changes could result when the mental scene is completed and a new scene is needed, or could result when attention is switched (consciously or unconsciously).

  • Loop 3. This loop is about bringing new actions into the associative memory in order to start a new series of mental saccades corresponding to the new actions. This is needed to choose the best possible next move, which is needed when the current goals is advanced.

  • Loop 4. This loop is about ensuring the completion of an action plan construction. If the action plan is not completed and no action is decided, hence we go through this loop to update the memory with information obtained from the learning step.

  • Loop 5. This loop is about applying the decided action plan on the environment. Acting on the environment leads to changing perceptions, which in turn lead to updates to the contents of the mental workspace, which in turn lead to creation of new mental saccades.

It is important to note that the mental saccade mechanism adopts a simple winner-take-all (WTA) approach to choose the attention spotlight among competing signals. Once the attention spotlight is selected, a signal blocking mechanism is adopted to protect the machine from unwanted interruptions; more details about the mental saccade mechanism are given in [26].

5 Challenges for building MCaaS

In order to be able to realize the Starzyk–Prasad model, there exist some problems that need to be solved first, namely, the representation problem, the memory modeling problem, the motivation and learning problem, and the thinking and planning problem. Indeed, we have some solutions for each of these problems, but they are heterogeneous, limited, and not holistic. However, we argue that such existing solutions will be enough to build MCaaS for software systems with finite capabilities. In the long term, when human-like capabilities are needed, more advanced solutions will be required.

To build MCaaS, every chosen solution for a given problem should be encapsulated as a service with both functional and management interfaces. Every box shown in Fig. 1 should appear as a component service with the proper interfaces. The Starzyk–Prasad model is a tightly coupled model, which makes it harder to implement. In fact, it was not fully realized till now. However, to overcome such problem, we will follow a loosely-coupled SOA-based approach, where all the building blocks of the model appear as component services, and every component has both functional and management interfaces. We believe that such interfaces should be as generic as possible to simplify the components’ interactions and to facilitate integrations, for example, memory interfaces should have read/write operations, where the parameters of every operation will specify exactly the behavior of the operation. In such way, we believe we could realize the Starzyk–Prasad model as a composite web service that could be invoked from any software system. In what follows, we discuss the problems to be solved to build MCaaS; also we mention some of the well-known corresponding solutions.

5.1 The representation problem

Representation is one of the most controversial problems in machine consciousness [7]. How do we represent a concept? How do we get its meaning? How it is possible that something represent something else? How concepts could emerge out of the physical worlds?. The physical world cannot possess any semantics; in fact semantics has been charged to conscious subjects. One of the problems to be solved in representation problem is “the symbol grounding problem”, which is about how words (symbols) get their meanings, and what meaning itself really is. The problem of meaning is related to the problem of consciousness, and how mental states are meaningful. Finding the suitable representation for different application domain concepts is crucial for building the data encoders/decoders, the semantic, episodic, and procedural memories, the learning and thinking units.

In neuroscience, empirical evidence demonstrates that every region of the neocortex represents a given piece of information using a specific sparse activity pattern. In other words, symbols/concepts can have distributed sparse representations of a collection of neurons that can be uniquely triggering a sparse activity pattern when the symbol/concept perception occurs. These distributed representations are “grounded”, which means the same group of neurons are activated every time the same symbol/concept is identified. Hence, based on the current knowledge, the best way forward of the representation problem is to adopt distributed sparse encoding techniques (to mimic the brain encoding mechanisms), and not totally avoid any compact encoding techniques, as they are very prune to different types of errors (e.g., a change only in one bit destroys the code) [1].

Currently, there exist many sparse auto-encoders (SAE), for example, work in [22] proposed different generic SAEs, one for categorical data, one for scalar data, and others for date-time. However, work in [14] proposed a sparse encoder that learns sparsity connections rather than enforcing them as in traditional SAEs. Work in [26] proposed to determine the sparse connectivity using the neural blackboard architectures discussed in [30]. Of course, we do not have a silver bullet SAE that fits for all application domains; hence the question of which sparse encoding technique should be chosen for a given application domain is left for empirical research.

5.2 The memory modeling problem

The MCaaS service requires having different types of associative memories (e.g., semantic, episodic, and procedural) to be used for different purposes. Generally, existing memory models are brain-inspired neural network models that differ in their architectures and learning techniques [12]. For example, hierarchial temporal memory (HTM) is one of the most recent approaches proposed in [16, 17]. HTM adopts model with many recently discovered properties of pyramidal cells and active dendrites, in which the learning approach [known as cortical learning algorithm (CLA)] is based on computational principles of the cortex . HTM can model complex sequences using sparse distributed temporal codes. The network is trained in real-time using an online unsupervised Hebbian style learning rule. HTM demonstrates many other features that are desirable for real-world sequence learning, such as fast adaptation to changes in the data stream, robustness to sensor noise, and fault tolerance. These features make HTM an ideal candidate for online sequence learning problems. Work in [8] showed that HTM outperformed many of the well-known neural models such as ELM, ESN, and LSTM. Additionally, HTM requires little or no hyperparameter tuning. HTM is very suitable for concept identification and predictions.

There are many other memory models, for example, work in [24] proposed a well-known simple model for semantic memory adopting a feed-forward connectionist approach, in which activation propagates from the inputs (concepts and relations) to the outputs (attributes) with hidden layers in between. Each unit in the input layer corresponds to an individual concept in the environment. Each unit in the relation layer represents contextual constraints on the kind of information to be retrieved. The network is trained to turn on all those units that represent correct completions of the input query. While, work in [27] proposed a more complex neural model using pain networks, where sensory data, biases, pains, and actions are connected via neural network such that each pain neuron is associated with its corresponding pain detection and learning unit, and motivates the machine to act. It adopts both forward and backward connections to determine the weights of the connections.

On the other hand, there are many different models for the episodic memory and procedural memory. For example, one of the latest models for episodic memory modeling is the work in [31], which proposed a neural model based on fusion adaptive resonance theory (ART). The proposed model learns episodic traces in response to a continuous stream of sensory input and feedback received from the environment. It extracts key events and encodes spatial and temporal relations between events by dynamically creating cognitive nodes and also supports a mechanism of gradual forgetting. While, the work in [29] proposed a model for procedural memory. Such model is based on the contention scheduling model (CSM) that uses discrete hierarchically-organized goals and action representations. But existing SARs are suitable for many of the current problems such as time series analysis.

As we can see, each memory type has its own model that facilitates its purpose. Hence, we need to decide on the suitable model for each needed memory type, encapsulate it, and let it be accessed via a suitable memory manager service to store and retrieve information.

5.3 The motivation and learning problem

Learning is mainly needed for concept identification and action selection. Of course, a different learning technique is needed for each task. The learning technique for concept identification should be able to extract the space–temporal relations from different sensory data and use it to recognize and identify different concepts and their relationships. All feed forward memory models discussed before are tightly coupled to different learning approaches adopted for concept identification and semantics capturing.

On the other hand, the learning technique for action selection should be able to choose between different actions to optimize different objectives originated by motivation. However, most learning algorithms require optimizing a set of hyperparameters to get good performance. This is known as the “hyperparameter optimization” or “model selection” problem. It typically involves searching through a manually specified subset of the hyperparameter space, guided by performance metrics on a cross-validation dataset. Hyperparameter tuning presents a major challenge for data stream mining, because the optimal set of hyperparameters may change as the data changes. The ideal sequence learning algorithm should have good performance on a wide range of problems without extensive task-specific hyperparameter tuning.

In action selection learning approaches, motivation results from two main sources: making a gain, or relieving a pain. However, focusing only on one source for motivation is not the right approach, as focusing only on rewards would result to unstable systems, and focusing only on punishments would limit the system abilities to learn new things [27]. Hence, we need to take into consideration both the gains and pains to decide on the proper motivation.

Reinforcement learning (RL) is a very well-known and established scheme for action selection that is only motivated by making gains (rewards). There exists many RL variants that differ in their complexity (such as Q-learning, SARSA, HRL, and Dyna-Q+) [13]; however, RL approaches suffer from many limitations based on their core deign and assumptions, which we summarize as follows:
  • They assume a reward is provided if the action/state are the same as they were the last time the reward was given. However, this is not always the case, as in dynamic environments, where multiple interacting agents are involved, reaching identical states is not frequent.

  • They assume the resources that an agent needs to perform its actions are available in sufficient quantities. This is not the case in resource sharing and resource competition situations, where there are not enough resources to perform all tasks, or where there is a competition between agents for the limited amount of resources.

  • They use exact value functions and policies and are, therefore, limited to problems with small numbers of states and possible actions. However, real-world problems have sensory inputs with a potentially infinite number of states; thus, they require approximation of value functions and action policies to be effective. Hence, many variants of RL are introduced to include online algorithms, policy gradient, actor-critic methods, and simulation-based policy iteration [13].

  • They tend to learn very slowly, which leads to their poor performance in dynamic environments. This is the type of environment where motivated learning can be very useful.

  • They tend to produce unstable systems, as they are only chasing rewards without taking into consideration the resulting pains and damages.

To overcome such limitations, the motivational learning (ML) approach is proposed in [27], it tries to compromise between the making gains and relieving pains using pain networks as their semantic model. ML extends RL and use it when curiosity-based learning is needed, but on the other hand it tries to reduce its pains below a predefined threshold, but once a pain is reduced the agent does not need to act on it until it again increases above threshold. A current goal is selected based on a dominant pain signal, and it represents an intended action that the agent wants to perform. Work in [13] showed the ML outperformed many of the well-known RL approaches. However, the current version of ML requires predefined architecture (known sets of sensory, pains, biases, and actions). ML cannot create a new undefined neuron (that could be a sensory, a pain, a bias, or an action), which limits its capabilities for learning new environments, or changes in the current environments. However, we believe ML will be good enough for software systems with finite capabilities, and we propose to integrate it with HTM to overcome some of its limitations, as described in the next section.

5.4 The planning and thinking problem

MCaaS needs to determine the attention spotlight in every situation in a way that reduces its pains and increases its rewards. An object/concept in the spotlight needs to be determined (usually, it is the one with the most salient features). If it is available, MCaaS makes a decision to perform the most suitable action (retrieved from the corresponding associative memories); otherwise, it has to search for it and plan to get it, which creates sub-goal(s) for the current goal. Hence, a suitable action plan needs to be created to fulfill the current goal and its subgoals. However, things are not that simple, as MCaaS has to check if such action plan would lead to the current goal advancement. This requires prediction of the consequences that could occur if an action is executed. Simulation could be used to know the effect of an action plan before actually executing it. If the action plan is predicted not to advance the goal, a new plan needs to replace the old one, and process repeats.

To realize such process, many solutions are proposed for goal planning and its corresponding simulations such as the works in [4, 5, 10, 20]. However, for the adopted Starzyk–Prasad model, the proposed attention switching and mental saccade mechanisms are coupled with ML to find the suitable action plan. ML tries to link the pains’ neurons to the suitable actions’ neurons in way that minimizes the total amount of pain and provides beneficial environmental changes, adopting a trial and error approach. A successful execution of a given action triggers the memorization of the discovered solution in the procedural memory, which in turn trains itself to remember the best performing actions. This is needed to create rhythmic actions to avoid future planning for the same situations appeared before [26, 27].

6 The proposed roadmap for MCaaS

The ultimate goal of having computational models for machine consciousness is to be able to mimic human consciousness. Usually, the area of robotics is the direct application area for machine consciousness, as works in this area aim to build a human-like cognitive robots. Indeed, MCaaS has the same goal in the long term, but in the short term, we can build MCaaS for single-domain software systems with specific finite functionalities and finite number of goals. This is because the data collected via the management interface are finite, and the existing learning techniques require predefined models and architectures. Of course this is considered quite limited compared to the data collected by human sensory systems (i.e., the five senses). Capabilities of MCaaS will be bounded to the types of collected data, the adopted training mechanisms, the functionalities and actions that can be accomplished by the software systems, and the adopted models and architectures of different MCaaS components.

As we have seen in the last section, there are many solutions for every problem addressed in MCaaS; hence to be able to build MCaaS, we have to choose a solution for every problem and every MCaaS component should realize such solution/model, then encapsulate it as service with generic interfaces supporting its core functionalities. This is to avoid the headache of interfaces’ heterogeneity if a component service is changed; otherwise, we will need to use conversation adapters (details of creating such conversation adapters could be found in [9]). The collection of every model/solution choice for the MCaaS components represent the configuration settings of the MCaaS service. Of course, we do not know which configuration settings are the best; hence empirical research should be carried out to choose the best configuration settings for a given application domain. However, we believe the way forward to realize the Starzyk–Prasad model depicted in Fig. 1 is as follows:
  • Build different distributed sparse auto encoders/decoders (such as the ones discussed in [14, 22]) according to the types of data collected. These encoders will pass the data from sensory units to sensory processors, and the decoders will pass the data from the motor processors to the motor units.

  • Build an episodic memory service adopting the model proposed in [31].

  • Build a procedural memory service adopting the model proposed in [29]. This realizes the motor-skills component in the model.

  • Build a sub-cortical service to handle the emotions and rewards using the pain-network, and ML mechanism proposed in [27].

  • Build a semantic memory service using the HTM proposed in [16, 17], such service will have classifiers for the high-level layers of HTM (representing learnt concepts/beliefes) , and integrate such HTM with the pain-network, to be able to learn the action suitable for every concept/belief.

  • Build a sensory processing service that is capable of handling the reflexive actions, and communicating with other services to handle voluntarily and rhythmic actions.

  • Build a motor processing service that is a capable of executing an action plan over different motor units.

  • Build an action monitoring service that is capable of comparing predicted action responses against actual action responses to decide on the correctness of the action execution.

  • Build a central executive service adopting the proposed mental saccade, attention switching, and cognition techniques discussed in Sect. 4.

All these autonomous services constitute the MCaaS composite web service. We believe choreography is the suitable coordination style for the components services, as central orchestration will degrade the overall performance and limits possibilities for parallelization. Of course, we require any software system to use MCaaS to expose the suitable interfaces that enables reading the sensory data and executing the required actions. MCaaS will require training with real-life systems data for a period of time until different neural models are stabilized. It is important to note that HTM supports online learning approach for identifying concepts, and the pain-network is always changing according to the responses of different actions. Hence, the software system will be able to learn new concepts and links them to existing actions, also it will be able to generate complex action based on the predefined list of basic actions given by the interfaces of the software systems. However, If a new basic action or a new basic pain is need to be added to MCaaS, it will take a while until different neural models stabilize again. We believe this is natural as humans follow the same adaptation process and need time to learn and use new actions and/or adapt to new pain points. Of course, if better models appeared for any of the above components, it will be simply replaced without affecting the other components. However, if any neural model needs to be replaced, it should be separately trained first before joining MCaaS; otherwise, MCaaS will be affected. For example, if we want to replace the episodic memory services, the new service has to be trained first with the old data; otherwise, MCaaS will lose the gained knowledge of the old episodic memory. In general, copying one consciousness to another, and consciousness continuity are still open areas of research.

7 Conclusion

In this paper, we argued that to be able to build self-managing intelligent software systems, we must incorporate a machine consciousness model in the design of the software systems, which will handle all cognition, thinking, learning, planning, and decision making tasks. Also we argued such machine consciousness model could be built as a loosely coupled composite web service that can be invoked from any software system. We proposed to use the Starzyk–Prasad machine consciousness computational model to build such composite service, and discussed the corresponding problems and technical challenges, and address their major existing solutions. Finally, we proposed the roadmap to realize such composite service, addressing all the involved sub-problems and their major existing solutions.


  1. 1.
    Ahmad, S., Hawkins, J.: Properties of sparse distributed representations and their application to hierarchical temporal memory. CoRR (2015). arXiv:1503.07469
  2. 2.
    Aleksander, I.: The potential impact of machine consciousness in science and engineering. Int. J. Mach. Conscious. 01(01), 1–9 (2009). CrossRefGoogle Scholar
  3. 3.
    Aleksander, I., Dunmall, B.: Axioms and tests for the presence of minimal consciousness in agents. J. Conscious. Stud. 10, 7–18 (2003)Google Scholar
  4. 4.
    Andersen, R.A., Cui, H.: Intention, action planning, and decision making in parietal-frontal circuits. Neuron 63, 568–583 (2009)CrossRefGoogle Scholar
  5. 5.
    Bhatia, A., Maly, M.R., Kavraki, L.E., Vardi, M.Y.: Motion planning with complex goals. IEEE Robotics Autom. Mag. 18, 55–64 (2011)CrossRefGoogle Scholar
  6. 6.
    Chalmers, D.J.: Facing up to the problem of consciousness. J. Conscious. Stud. 2, 200–219 (1995)Google Scholar
  7. 7.
    Chella, A., Manzotti, R.: Machine consciousness: a manifesto for robotics. Int. J. Mach. Conscious. 01(01), 33–51 (2009). CrossRefGoogle Scholar
  8. 8.
    Cui, Y., Surpur, C., Ahmad, S., Hawkins, J.: A comparative study of htm and other neural network models for online sequence learning with streaming data. In: 2016 International Joint Conference on Neural Networks (IJCNN), pp. 1530–1538 (2016)Google Scholar
  9. 9.
    Elgedawy, I.: On-demand conversation customization for services in large smart environments. IBM J. Res. Dev. (Special issue on Smart Cities) 55(1/2), 5:1–5:14 (2011)Google Scholar
  10. 10.
    Elliott, D., Hansen, S., Grierson, L.E.M., Lyons, J., Bennett, S.J., Hayes, S.J.: Goal-directed aiming: two components but multiple processes. Psychol. Bull. 136(6), 1023–44 (2010)CrossRefGoogle Scholar
  11. 11.
    Gamez, D.: Progress in machine consciousness. Conscious. Cogn. 17(3), 887–910 (2008). CrossRefGoogle Scholar
  12. 12.
    George, D., Hawkins, J.: Towards a mathematical theory of cortical micro-circuits. PLoS Comput. Biol. 5(10), e1000532 (2009).
  13. 13.
    Graham, J., Starzyk, J.A., Ni, Z., He, H., Teng, T.H., Tan, A.H.: A comparative study between motivated learning and reinforcement learning. In: 2015 International Joint Conference on Neural Networks (IJCNN), pp. 1–8 (2015)Google Scholar
  14. 14.
    Gupta, K., Majumdar, A.: Sparsely connected autoencoder. In: 2016 International Joint Conference on Neural Networks (IJCNN), pp. 1940–1947 (2016)Google Scholar
  15. 15.
    Haladjian, H.H., Montemayor, C.: Artificial consciousness and the consciousness-attention dissociation. Conscious. Cogn. 45, 210–225 (2016). CrossRefGoogle Scholar
  16. 16.
    Hawkins, J., George, D.: Hierarchical temporal memory concepts, theory, and terminology. In: Technical report, NumentaGoogle Scholar
  17. 17.
    Hawkins, J., George, D., Niemasik, J.: Sequence memory for prediction, inference and behaviour. Philos. Trans. R. Soc. Lond. Ser. B Biol. Sci. 364(1521), 1203–9 (2009)CrossRefGoogle Scholar
  18. 18.
    Kephart, J.O., Chess, D.M.: The vision of autonomic computing. Computer 36(1), 41–50 (2003). MathSciNetCrossRefGoogle Scholar
  19. 19.
    Loar, B.: Phenomenal states. Philos. Perspect. 4, 81–108 (1990)CrossRefGoogle Scholar
  20. 20.
    Mirabella, G.: Should I stay or should I go? Conceptual underpinnings of goal-irected actions. Front. Syst. Neurosci. 8, 206 (2014).
  21. 21.
    Müller-Schloer, C.: Organic computing: on the feasibility of controlled emergence. In: Proceedings of the 2nd IEEE/ACM/IFIP International Conference on Hardware/Software Codesign and System Synthesis, pp. 2–5 (2004).
  22. 22.
    Purdy, S.: Encoding data for htm systems. CoRR (2016). arXiv:1602.05925
  23. 23.
    Reggia, J.A.: The rise of machine consciousness: studying consciousness with computational models. Neural Netw. 44, 112–131 (2013).
  24. 24.
    Rogers, T.T., McClelland, J.L.: Prcis of semantic cognition: a parallel distributed processing approach. Behav. Brain Sci. 31(6), 689–714 (2008). CrossRefGoogle Scholar
  25. 25.
    Searle, J.R.: Mind: a brief introduction. Oxford University Press, Oxford (2004)Google Scholar
  26. 26.
    Starzyk, J.A.: Mental saccades in control of cognitive process. In: The 2011 International Joint Conference on Neural Networks, pp. 495–502 (2011)Google Scholar
  27. 27.
    Starzyk, J.A., Graham, J.T., Raif, P., Tan, A.H.: Motivated learning for the development of autonomous systems. Cogn. Syst. Res. 14(1), 10–25 (2012)CrossRefGoogle Scholar
  28. 28.
    Starzyk, J.A., Prasad, D.K.: A computational model of machine consciousness. Int. J. Mach. Conscious. 03(02), 255–281 (2011). CrossRefGoogle Scholar
  29. 29.
    Tamborello I., F.P.: A computational model of routine procedural memory. Ph.D. thesis (2009).
  30. 30.
    van der Velde, F., de Kamps, M.: Neural blackboard architectures of combinatorial structures in cognition. Behav. Brain Sci. 29(1), 37–70 (2006). Google Scholar
  31. 31.
    Wang, W., Subagdja, B., Tan, A.H., Starzyk, J.A.: Neural modeling of episodic memory: encoding, retrieval, and forgetting. IEEE Trans. Neural Netw. Learn. Syst. 23(10), 1574–1586 (2012). CrossRefGoogle Scholar

Copyright information

© Springer International Publishing AG 2017

Authors and Affiliations

  1. 1.Computer Engineering DepartmentMiddle East Technical UniversityMersin 10Turkey

Personalised recommendations