TOWARDS AGENT-BASED MODEL SPECIFICATION OF SMART GRID: A COGNITIVE AGENT-BASED COMPUTING APPROACH

A smart grid can be considered as a complex network where each node represents a generation unit or a consumer, whereas links can be used to represent transmission lines. One way to study complex systems is by using the agent-based modeling paradigm. The agent-based modeling is a way of representing a complex system of autonomous agents interacting with each other. Previously, a number of studies have been presented in the smart grid domain making use of the agent-based modeling paradigm. However, to the best of our knowledge, none of these studies have focused on the specification aspect of the model. The model specification is important not only for understanding but also for replication of the model. To fill this gap, this study focuses on specification methods for smart grid modeling. We adopt two specification methods named as Overview, design concept, and details and Descriptive agent-based modeling. By using specification methods, we provide tutorials and guidelines for model developing of smart grid starting from conceptual modeling to validated agent-based model through simulation. The specification study is exemplified through a case study from the smart grid domain. In the case study, we consider a large set of network, in which different consumers and power generation units are connected with each other through different configuration. In such a network, communication takes place between consumers and generating units for energy transmission and data routing. We demonstrate how to effectively model a complex system such as a smart grid using specification methods. We analyze these two specification approaches qualitatively as well as quantitatively. Extensive experiments demonstrate that Descriptive agent-based modeling is a more useful approach as compared with Overview, design concept, and details method for modeling as well as for replication of models for the smart grid.


I. INTRODUCTION
T HE term smart grid refers to the smart and intelligent power grid [1]. The smart grid integrates the two-way dialogue of power and information data between utility service providers and consumers. This makes the grid system an automated and distributed advanced energy network. It can be considered as a complex network where generating unit, distributor and consumers are connected through different communication lines. In this network, each entity is called agents which have autonomous and emergence behavior. The smart grid utilizes information and communication technology, computational intelligence and cyber security system across this distributed grid network [2], [3]. This results in clean, safe, secure, reliable and sustainable energy management system. From research work perspective, different kinds of studies have been carried out in the smart grid domain. One of them is agent-based modeling (ABM). ABM refers to the paradigm for modeling any system or real world scenario in which agents are involved that can interact with each other [4], [5]. In case of the smart grid, these agents are used as decision makers and reproduce the behavior [6].
From past few decades, the study confirms that ABM is a useful tool for smart grid domain. As agents have coordination and controlling behavior, these features are applied to the smart grid to achieve coordinated and controlled system. ABM paradigm is widely used in smart grid application. In an article [7], a multi-agent system is used for reactive power control system in the smart grid. This work reduced power losses and provided exploitation of available power resource. In [8], voltage variation control strategy is presented. This approach controls voltage profile in the specified range of the system. This results in reducing system loss. In [7], [9], [10], [11], [12], research work is carried out on fault location and restoration in a smart grid environment. In [13], presented an adaptive strategy for energy trading between utility grid and consumers. In [2], [14], [15], [16], [17], [18], research work is carried out on communication management in smart grid. In [19], [20], [21], [22], [23], [24] presented work on power scheduling in the smart grid using ABM and multi-agent system approaches.
In previous literature, ABM and the multi-agent system are effectively used in smart grid domain. However, these works lack in following any ABM specification approach for documenting ABM. The purely text based description of the model often tends to be ambiguous and make the models difficult to be replicated. Here, in this paper, we focus on ABM specification technique for the smart grid application. We follow two specification approaches, the one is ODD (short for Overview, Design concept, and Details) [25] and the second is DREAM (short for Descriptive Agent-based modeling) [4]. Then we present a comparative analysis of these both specification techniques.
Our main contributions in this paper are listed as follow: 1) We propose an approach for modeling and simulation smart grid using complex network and agent-based modeling approaches 2) As a validation, we develop ABM for smart grid application 3) We use ODD specification protocol for ABM model in smart grid 4) We use DREAM specification approach for ABM model in smart grid 5) We provide comparative analysis and results of ODD and DREAM specification techniques The rest of the paper is structures as following: Section II presents basic background and concepts, section III presents model development, section IV is dedicated for results and discussion, the paper end with conclusions at section V.

II. BACKGROUND
In this section, we present basic concept and understanding of cognitive agent-based computing approach, ODD and DREAM specification approaches.

A. Cognitive agent-based computing approach
Niazi and Hussain in [26] presented a unified cognitive agent-based computing framework for ABM and complex network. This approach involves the process of taking any complex system from the real world and to convert it into a suitable simple model by using specific modeling level such as descriptive or exploratory agent-based approach. The arXiv:1710.03189v1 [cs.MA] 1 Oct 2017 Fig. 1: DREAM methodlogy for ABM specification by Niaizi in [4] exploratory approach involves the use of agents to explore the complex system, identifies which agent-based model is feasible for the specific problem, then develops the proof concept and also explains what kind of data is required for validation and verification of the model. The Descriptive agent based model level is the process of presenting ABM specification in the form of pseudo code, a complex network of the model and social network analysis. Other framework levels involve complex network and validation/ verification of the model.

B. DREAM
DREAM stands for descriptive agent-based modeling is one of the cognitive agent-based computing approach developed by Niazi in [4]. DREAM offers ABM specification technique which comprises of developing a complex network of the ABM, pseudo-code specification model and social network analysis of the network model. It offers a detail description of ABM as well as visual based analysis. It provides an easy translation of network model into pseudo-code followed by ABM development. In figure 1, Dream methodology has been shown.

C. ODD
ODD is short for Overview, Design concept and Details, originally developed by Grimm et al. in [25] and then an updated version is presented in [27]. It is a textually based specification technique for documenting ABM. It provides a checklist which covers key features of the model. It comprises of three main sections which are Overview, Design concept, and Details. Then these sections are further divided into subsections. In figure 2, ODD protocol is presented and detail description can be found in [27].

III. MODEL DEVELOPMENT
In this section, we present case scenario of the smart grid, then followed by ODD and DREAM specification of the model. Figure 3 shows our research methodology. First we develop ABM, then followed by two specification techniques ODD and DREAM. After this we perform comparative analysis of these specification techniques. At last, we present results. To model smart grid, let us consider a large set of network, in which different consumers and power generation units are connected with each other through different configuration. To model different possibility of different configurations of the large scale power system, we use standard complex networks such as small-world [28], scale-free [29] and random network [30]. As a validation, we apply routing techniques such as random walk and centrality-based routing.
Routing process involves the selection of path from the source toward the destination. Routing strategy in complex networks can be categorized into two types i.e. Local and Global routing. The local routing strategy needs local information that is information about neighbors nodes. These are including local static routing, local dynamic routing, and local pheromone routing. On the other side, global routing strategy needs global information like topological structure, characteristics of each node and real time information. These are including shortest path routing, efficient routing, and global dynamic routing [31].
For the large scale complex network, global routing remains problematic. It is difficult to have the characteristic of each node and real time information. It also increases computational time. While on the other hand, local routing remains promising for large scale real world complex networks. It offers less computational time as well as easy implementation.
In a smart grid environment, two types of routing occur. The one is energy demand from consumers side to generation unit, while the generation unit responses by providing energy to consumers. The second is data and information routing about demand profile from consumers side and energy cost from grid unit [18].
B. Model specification follows ODD 1) Overview: Purpose: The purpose of the model is to understand how a combination of agent-based and complex network-based modeling approaches can be used to simulate large scale power system. Further, how routing techniques can be used to validate the model. Entities: The model consists of 3 types of agents that are; consumers, producers, and walkers that are represented by nodes in a complex network. Producers and consumers are generated randomly in a network. Consumers generate power and can transmit to the consumers through communication lines called links. Consumers demand and use energy power. The environment is set as a complex network where nodes represent producers and consumers and links represent transmission lines. State variables visited? and consumer? are used to mark once a node been visited and to check is any consumer? node here. Process: For routing purpose, the concept of walkers is deployed. Initially, the walkers are located at the producers nodes. They search for the neighbor's nodes and move to one of the neighbor nodes. Once a node is visited, it is marked as visited?. The walkers also check for consumers node. The simulation time is kept as continues. At each time step, plots are generated that measure nodes with visited and consumers with visiting.
2) Design concept: Basic principles: The basic hypothesis of our model is that a cognitive agentbased computing approach is better for modeling and simulation of the large scale power system. Here we used a combination of agent-based and complex network based modeling approaches. We used previous developed complex network models such as small-world, scale-free and random network to simulate smart grid based environment. Emergence: As the routing techniques (random walk and centrality routing) are used for transmission from producers towards consumers.
The key result is the computation of end to end delivery from producers towards consumers.
Adaptation: There are two rules are applied for making a decision. When using random walk, the walker search for neighbors node and select one of them, while by using centrality routing, the walkers search for a neighbor node with maximum value and select that one. Objectives: After decision making, the main objective is to measure how much time is taken while moving from one node to the other. Learning: There is no learning included in the our model. Prediction: No prediction is included in the model. Sensing: The walkers use the sensing property, if a neighbor node is already been visited then they avoid rerouting. They also sense for consumers, if any visited node is a consumer, then they deliver packets or energy. Interaction: Producers and consumers can communicate with each other for power transmission. Stochasticity: The routing process is modeled as random. Collectiveness: No collectiveness is included in the model. Observation: When the simulation is running, at each time step the following data are collected. The model is implemented using NetLogo an agent-based modeling tool. The model environment is initialized by calling draw-network method. This method is used to draw any selected network. Then consumers and producers are generated randomly by specifying their number. After this, the walkers are placed at the producers location. Input data: The standard complex networks are generated and kept as external source files. These network files are used as input for the model. Submodels: The model parameters are given in table I.
C. Model specification follows DREAM 1) Pseudo-code specification: Agent design: There are two agents which are used in the simulation model. Node agent: In our simulation model, we used the complex network. This complex network comprises of nodes which are connected through communication lines called links. These node agents represent producers and consumers in the network. Walker agent: For routing purpose the Walker concept is deployed. These walkers initially placed on producers node. They have the ability to move around the network.
Breed Node: This node agent is used to represent producers and consumers in the network Internal Variables: < source?, target?, visited? > 1: source?: All nodes that represent sources( used for producers) 2: target?: All nodes that represent target (used for consumers) 3: visited?: Used to check the status of a Node agent In Node specification model, first we described the Node agent. As we noted first that nodes are used in the network to represent producers and consumers. After this, we specified the internal variables for Node agent. There are three internal variables used for Node agent. The one is the source? this variable is used to represent producers or generating unit in power system. The target? variable is used to represent consumers in power system environment. The last one visited? is used to check the status of the node agent where it is visited or not. Next, we define a specification for Walker agent.
Breed Walker: This agent is used for walker that can move around the network Internal Variables: < location, is − f inish?, location − list? > 1: location: Keep current location information of the walker 2: is-finish?: Check the finish goal 3: location-list: Keep all visited locations record The breed Walker represents Walker agent. These walkers are deployed for routing purpose that can move around the network. Next, we specified three internal variables for Walker agent. The first one is location. The location variable is used to keep information of the current location of a walker. The is-finish? is a Boolean variable that returns true if the finish condition is meet. The location-list is a list variable that used as a memory with a walker. This variable keeps information of all visited locations. After describing agent specification model, next, we are going to present global variables specification model. Global: For setup simulation, the key variables are input global variables. These are five in number.

Chooser:
get-network-type: Used for selecting network type from the giving list Slider: num-node: Used for specifying number of nodes in a network num-walker: Used for specifying number of walker in a network num-source: Used for creating number of producer nodes num-target: Used for creating number of consumer nodes Here, five input global variables are used. The get-networktype is input provided by Chooser ( GUI element of NetLogo simulation model). This is used for selecting network types from the available list. The network list comprises of the smallworld, scale-free and random network. The other four input variables are provided by Slider (GUI element of NetLogo). The num-node is used to specify the number of nodes in the network. The num-walker is used to specify the number of Walker in the network. The num-source and num-target are used for specification of a number of producer and consumer respectfully.

Procedures:
In this section, we present all procedures specification model used in our work. Setup procedure: Procedure setup: Creating simulation environment Input: All global parameters from the user interface Output: Setup simulation environment begin 1: clear screen 2: draw-selected-network 3: add-sources 4: add-targets 5: calculate-centrality End The setup procedure is the global simulation setup specification model. This is used to create a simulation model. The input parameters are provided by user interface. The procedure starts from the calling of clear-all function. It will clear all the previous work. Next, all four individual procedures are called. The first one is draw-selected-network. Next, we describe these individual procedures.

End
Here "draw-selected-network" is a procedure which is used for setup the selected network from the giving options (list of networks). The procedure checks the input type and called the appropriate function of it. Here three individual procedures are used. Next, we present the specification model of these individual procedures which are called by draw-selected-network. Small-world network: In this network topology, any individual is linked to any other individual by a maximum of six edges. In social network terminology, this is called "six degrees of separation". It has fewer nodes with more links. It is satisfied by: Procedure draw-small-world: Creating small-world network Input: In this network, each individual node is formed randomly; there is no specific structure to be followed. This network can be formed by joining vertex with other arbitrary. Formally a random network G R (N, P ) is framed with edges associated with likelihood, p given that 0 < P < 1 . The connectivity of nodes with other does not depend on the degree of nodes.
Procedure draw-random-network: Creating random network Input: N Output: Setup random network create nodes N; for all Nodes do set shapes circles; set location random location; create-links with nodes with p; check p > 0 and p < 1; End Next, we present all other procedures which are called by the main setup procedure.

Add-source:
Procedure add-source: Setup sources on the network Input: network-type, num-source Output: Setup source nodes on the network begin random nodes[; set source true; End "add-source" procedure is used to setup source nodes (producers) on the network. It takes network type, nodes, links, and a number of the source from the user interface. Next create source node of a specified number from user randomly on the network. "add-target" procedure is used to setup target nodes Procedure add-target: Setup target on the network Input: network-type, num-target Output: Setup target nodes on the network begin Select random nodes[; set target true; End (consumers) on the network. It takes network type, nodes, links, and a number of the target from the user interface. Next create target node of a specified number from user randomly on the network.
After setting source and target nodes on the network. Next, the main setup procedure calls "calculate-centrality" procedure. Next, we present calculate-centrality procedure.

Calculate-centrality
The complex network provides centrality measure feature. The centrality measure is the process to find out which vertex is the most central which is important. It is widely used for measuring the relative importance of nodes within a network. It is a numerical number assigned to each node for pair-wise comparison within a whole network. It has four types.

Degree
It measures the total number of connections that a particular node has in a network. A node with a higher degree has most importance as compared with those which have a lower degree. If a node with a higher degree is removed, then it can disrupt the structure as well as the flow of the network.
Procedure calculate-degree: Calculates degree centrality on the network Input: selected network Output: calculates degree centrality for all nodes for all Nodes do set degree count all connected links set label degree End Closeness: It is used to find out how much data from a particular node moves to every other node in a network. To calculate closeness of a particular node I from all other nodes t. Mathematical it can be written as: Betweenness: Betweenness centrality is the process of counting the number of times a specific vertex comes in the shortest path between Procedure calculate-closeness: Calculates closeness centrality on the network Input: selected network Output: calculates closeness centrality for all nodes for all Nodes do set closeness C closeness(i) = 1 dist(i,t) set label closeness End any two vertexes in a network. It has the capability to observe the network transmission. Mathematically can be written as: Where σst(i) denotes the number of shortest paths between nodes s and t passing through the node i. While σst is the total number of shortest paths exist between node s and t.
Procedure calculate-betweenness: Calculates closeness centrality on the network Input: selected network Output: calculates betweenness centrality for all nodes for all Nodes do set betweenness C betweenness(i) = σst(i) σst

set label betweenness End
Eigen vector: It measures the impact of a particular node in a network. It defines which node is connected to the most important node in a network. It depends on neighbors in term of connections that neighbors have with other nodes in a network.
Procedure calculate-eigenvector: Calculates eigenvector centrality on the network Input: selected network Output: calculates eigenvector centrality for all nodes for all Nodes do set eigenvector C eigenvector(i) = 1 λ t∈g A adj−matrix * X t OR Ax = λx set label eigenvector End Procedure Go: To validate our model, we apply routing techniques on our developed model. There is two routing approach that we used in our work. The first one is random walk and the second one is centrality-based routing. Next, we present the details and specification models of these two procedures. Procedure random-walk: In case of a random walk, the walkers are set initially on the source nodes. They search their neighbors and select one of them randomly. This process goes repeatedly until all the target nodes have been visited. Let us consider an undirected graph G(V, E) , a random walk is a stochastic process that starts from a given vertex, then select one of its neighbors randomly to visit next. It has no memory that keeps information of previous moves. It stops when the termination condition meets.
Procedure random-walk: Used for routing on network Input: All input parameters provided by user interface Output: End to end delivery from sources to the destinations Execution: Called repeatedly on simulation execution begin 1: start from sources 2: while is − f inish = true do 3: search neighbors 4: select any of neighbor 5: move to the selected End Procedure centrality-rw: The procedure centrality-rw is another approach which is used in our work for routing purpose. The working of this technique is as follows. The Walker search for neighbors nodes. They take a decision on the basis of centrality. They search for that neighbor node which has maximum centrality value. Then move to the selected node. If they found no node with maximum centrality value, then they select random node from neighbors.The working of centrality-base routing is shown in figure 4. Next we present specification model for the centralityrw procedure. After this, we present procedure for set up plot.
"do-plot" procedure is used to plot on the execution of the simulation of the model. Here, this procedure plots two types of information. The first, at each time step, it counts the number of nodes that have been visited. The second, it counts the number of consumers that are visited. Next, we present model specification and detail for the experiment in our model. Experiment: There are two types of experiment are used in our model simulation. The first one is used for random walk algorithm; the second is used for centrality-based routing algorithm.

D. Algorithm time complexity analysis
In this section we present centrality-based routing algorithm time complexity analysis. The time complexity of centrality routing is linear function of n that is O(n) Procedure centrality-rw: Used for routing on network Input:All input parameters provided by user interface Output: End to end delivery from sources to the destinations Execution: Called repeatedly on simulation execution begin 1: start from sources 2: while is − f inish = true do 3: get-list-of-neighbors 4: if is-list-empty=true then Search node with max-centrality in the list 9: if node with max-value exist= true then 10: select node with max-value 11: Else 12: select any of node in the list 13: move to the selected End Search node with max-centrality in the list C 7 n 9: if node with max-value exist= true then C 8 1 10: select node with max-value C 9 1 11: Else 12: select any of node in the list C 1 0 1 13: move to the selected By putting Eq.6 and Eq.8 values in Eq.4, we get: IV. RESULTS AND DISCUSSION In this section we present results obtained from DREAM methodology, then we compare ODD vs DREAM followed by empirical analysis and related work.

B. Social network analysis
In this section, we present the results obtained by applying social network analysis (SNA) tool on the network model. The SNA provides quantitative measures which give network topological details. Using these quantitative measures we can perform a comparison of the different network model. In figure  6 degree centrality of the network is plotted. It shows that the procedure node has highest centrality. Next the ABM node and third is global-input. In figure 7 betweenness centrality is presented. It demonstrates that ABM node has highest betweenness centrality and the second highest betweennes centrality demonstrated by procedure node. Figure 8 shows closeness centrality of the network. It demonstrates that ABM Fig. 7: betweenness centrality of the network Fig. 8: closeness centrality of the network Fig. 9: Eigenvector centrality of the network node has highest closeness centrality and procedure node is on second number. Figure 9 shows eigenvector centrality of the network. It shows that procedure node has highest eigenvector centrality followed by ABM node.

C. Comparison of ODD and DREAM
In this section, we provide a qualitative as well as quantitative comparison between ODD and DREAM specification techniques.
The ODD protocol allows a textual based description of ABM with the purpose to make model readable and promotes the rigorous formulation of models. It comprises checklist that covers key features through which one can describe ABM. However, there is some limitation exist with an ODD protocol which is described as following.
The ODD protocol only provides a textual based description of ABM. Sometimes for large ABM, it has less description, which is insufficient to cover all the features of the ABM. It has no quantitative assessment of the ABM on the base of which one can perform a comparison between different ABM. Reviewing and comparison of different ABM are difficult. For comparison and classification purpose, the only possible way is to make a table and put ODD checklists of different ABM. Then scan for similarities and differences.
According to the Grimm et al. [27], a survey was conducted from 2006 to 2009 of those publications in which ODD was used. According to this survey, only 75% publications used ODD correctly, while 25% publications used ODD incorrectly and some parts of the protocol were compromised. It concludes that it is difficult to write ABM specification by following ODD protocol. Another issue which is identified in the ODD protocol is redundancy. Some parts of the protocol like purpose section are also included in the introduction section of the document. Design concept section is also repeated in the sub model section of the protocol. Sub model section is repeated in the process and scheduling section.
Sometimes there may be different publications with a different version of the same ABM. Then these publications have same ODD with little modification in entities and process section. Another problem of ODD is that the textual based description is too specific which is not useful for replication of ABM; there exist some ambiguities and misunderstanding about ABM.
On the other side, DREAM allows a detail specification of ABM. It comprises of making a complex network of the model, pseudo-code specification, and network analysis steps. This framework allows for inter-disciplinary comparative study and communication among different scientific domains. For example, if a model is developed in a social science, it can be compared visually and quantitatively with a model developed in biological science and vice versa. DEARM specification approach can be applied to any ABM of any research domain.
DREAM provides to present ABM in the complex network model. This allows reading and understanding ABM visually without going to the exact code specification. By performing network analysis on this network of ABM, it also gives a quantitative measurement of the ABM. These quantitative measures are the digital footprint of ABM and can be used to compare different ABM.
DREAM further allows pseudo-code specification and details of the ABM. This specification helps in understanding ABM completely without regards discipline. This specification then offers translation to the code and developing ABM. It concludes that by using DREAM, any ABM can be replicated easily.
Next, we present an empirical analysis of the ODD and DREAM methodologies. We evaluated these methodology based on 14 features as shown in table II. We used H=2, M=1 and L=0 for evaluation purpose that demonstrate which methodology offers which feature and how much. Then we computed the rank of each methodology by averaging results shown in table III.

1) Simulation setup:
To simulate SG based complex scenario, we developed small-world, scale-free and random complex network using Agent-Based Modeling approach. In order to validate our work, we applied routing techniques such as random walk and centrality-based routing on large scale complex networks, specifically in smart grid domain. For comparison, we applied random and centrality-based routing on these networks and analyzed their behavior on these networks.
2) Evaluation metrics: For performance evaluation purpose, we used average delivery rate parameter. The average delivery rate is defined as the number of packets sent by sources and successfully received by consumers. Mathematically can be written as following: For small world network, figure 10 shows the simulation result for different number of sources and consumers. This shows convergence rate on different case studies. The results shows convergence rate lies between 180-280 iterations. For scale-free network, figure 11 shows simulation results for different numbers of sources and consumers. Random walk shows large convergence rate as compared to small world network. For random network, figure 12 shows simulation results for different numbers of sources and consumers. In this network topology, random walk demonstrate very large convergence rate as compared to both scale-free and small world. This is due to the network topology. Figure 13 shows performance of random walk on different network topologies. The small-world topology demonstrates less iteration while random network has very large convergence rate.

4) Issues identified in Random walk:
• Random move • Rerouting • No memory • Large computation time 5) Results of Centrality-based routing: Figure 14 shows CR on small-world network with different numbers of consumers and generating units. The simulation results show that on average, each CR have equal convergence rate. When it is compared with other complex networks, it is found through simulation results that CR on small world has less convergence rate compared with other networks. In this case, CR on small world has convergence rate between 80 to 105 iterations. Figure 15 shows simulation results of CR on scale-free network with different numbers of consumers and generating units. The simulation results demonstrate that on scale-free network, Degree-CR has high convergence rate as compared  Figure 16 shows simulation results of Degree-CR, Closeness-CR, Betwenness-CR and Eigenvector-Cr applied on random network using different numbers of consumers and generating unit. Then the obtained results were plotted according to the figure 4. This shows that Degree-CR has less time as compared to others centrality routing techniques.
6) Random-walk vs Centrality-based routing: Figure 17 shows simulation results of different routing techniques on random network. It demonstrates that random walk has large iteration as compared to other routing techniques. Figure  18 shows simulation results of different routing techniques on scale-free network. It demonstrates that Degree-CR and random walk have large convergence time. Figure 19 shows the simulation results of different routing techniques on smallworld network. It demonstrates that CR techniques have similar convergence rate while random walk has large convergence rate.

E. Empirical evaluation of different routing techniques F. Related work
In this section, we present some related work. Previously, the proposed methodology has been successfully used in the different domain. Next, we present some of these works.
In [32], a conceptual model is developed for energy domain. This model is integrated with the ODD protocol for document-     ing ABM. In this model, some other concept was added like layers, objects, actor and working point to bridge between the social and technical system in the energy domain. However, this conceptual model was not validated on ABM.
In [33], a check-in based routing approach is proposed for network traffic model. In this work, betweenness centrality used to assign node as check-in node between source and destination. The proposed routing strategy was implemented on the scale-free network. However, the optimization of routing remained as the open problem of this work.
In [34], Niazi and Hussain have presented agent-based tools for modeling and simulation of self-organizing in wireless sensor network. They demonstrate the usability of agent-based tool net logo, and developed different experiments that show how to model different scenario in the sensor network domain.
Batool and Niazi in [35], presented a novel hybrid approach for modeling internet of things (IoT)-based complex scenario using standard complex networks such as small-world, scalefree, random and lattice network. In [36], a novel agent-based and complex network-based modeling approaches are used in the wireless sensor network domain. In this work, different standard complex network such as small-world, scale-free, and random network are used. Further, random walk routing strategy is implemented that demonstrates the communication network.
In [37], another routing technique proposed for large scale sensor network based environment. In this work, local and global update strategy is introduced for maintenance and efficient routing in the network. This approach monitors any changes in network and update routing path according to the situation. Results demonstrate the effectiveness of the techniques and reduced end to end delivery rate as compared to the previous techniques.
In [38], research work is carried out on frequency synchronization in the power grid system. In this work, the network theory concept was used to monitor, control and exploit the frequency variation of the power system In [39], research work is carried out on security analysis using complex network approach in power system. In this work, power adjacency matrix approach is proposed for analysis and measurement of the power flow and activities of each node and links on the network.
In [40], proposed a novel routing strategy based on be- tweenness centrality in a complex network. In this work scalefree network is used and routing was performed based on expanding betweenness of each node. This method shifts the load from the node with higher betweenness to the lower. In [41], proposed an efficient probability routing strategy using scale-free complex network topology. This method utilizes the probability concept for redistributing load from critical nodes to the non-critical nodes. Results showed that routing path is reduced 30% as compared with previously probability routing technique.
In [42], research work is carried out on routing strategy in wireless sensor network and proposed sink betweenness distributed routing algorithm. In this approach, betweenness of each node is calculated in which sink node exist as a terminal node. This work was implemented on the random network.

V. CONCLUSIONS
In this paper, we proposed modeling and simulation of the smart grid by using a combination of agent-based and complex network-based approaches. Further to validate our work, we applied routing techniques such as random walk and centralitybased routing. We used different standard complex networks such as small-world, scale-free and random network. The simulation results demonstrate that centrality-based routing gives better results on the small-world network as compared to other networks. For ABM specification, we followed two approaches, the one is ODD and the second one is DREAM specification methodologies. We provided qualitative as well as a quantitative comparison of both ODD and DREAM specification techniques. The comparative study of ODD and DREAM suggested that DREAM methodology is a useful way for documenting ABM in terms of understanding and replicating ABM.