scieee AI-readable full text Open interactive document viewer

Smart Reconfiguration of Distribution Grids using Agent-based Technology

Matheus Macedo Lopes

Abstract

The multi-Agent system designed based on automatic reconfiguration principles was programmed as a set of AgentSpeak codes in which work and cooperate inside a common simulated distribution grid environment. Creating the application meant programming the agents on the one side, including the actions logic control to be executed relying on the environment changes, and on the other side the environment itself. That stated, the environment notion was solely based on the chosen distribution grid concept and explored according to the proposed problematic.

Full text

FACULDADE DE ENGENHARIA DA UNIVERSIDADE DO PORTO Smart Reconfiguration of Distribution Grids using Agent-based Technology Matheus Macedo Lopes FOR JURY EVALUATION Dissertation conducted under the Master’s in Electrical and Computers Engineering Program - Major Energy Supervisor: Prof. Vladimiro Miranda , Ph.D. Co-Supervisor: Prof. Diego Issicaba , Ph.D. July 25, 2016 © Matheus Macedo Lopes, 2016 Resumo As manobras de isolamento para reconfiguração em redes de distribuição de média tensão são tradicionalmente manuais ou dependem de decisões tomadas pelos operadores de rede. A abordagem proposta assume uma arquitetura onde os agentes interagem em um ambiente de rede de distribuição simulado a partir do estabelecimento de metas projetadas seguindo o paradigma de orientação mulit-agente. A aplicação é implementada de tal forma que agentes AgentSpeak interagem entre eles através de uma comunicação baseada em ato de fala/comunicação, bem como com um ambiente desenvolvido em linguagem JAVA. Neste contexto, esta tese propõe a modelagem e verificação de soluções baseadas em agentes para apoiar as operações de reconfiguração em redes de distribuição em nível de média tensão. A metodologia foi utilizada para apoiar as actividades dos operadores de redes de distribuição por meio de planos de restabelecimento de energia para ajudar em casos de falhas permanentes. As abordagens empregadas para arquitetura de agentes para a reconfiguração foram baseadas em modelo hierárquico e uma abordagem totalmente descentralizada. A capabilidade dos agentes foram desenvolvidas prevendo as possiveis aplicações do sistema de distribuição com foco em procedimentos de gestão des interrupções de service. As abordagens foram testadas em um alimentador teste trifásico do IEEE de 123 nós. Os resultados são de interesse para a comunidade acadêmica promovendo discussões científicas sobre os níveis de descentralização na entrega de energia elétrica em nível de distribuição. i ii Abstract The isolation and switch state maneuvers for reconfiguration of distribution networks at medium voltage levels are traditionally manual or dependent on decision makings devised by distribution system operators. It assumes a architecture where agents interact within a simulated distribution grid environment from the establishment of abstract goals to be achieved of agent intentions. The integrated application is implemented such that AgentSpeak agents will interact through speechact based communication as well as with a shared environment coded in JAVA language. In this context, this thesis proposes modeling e verifying agent-based solutions to support power distribution reconfiguration operations at medium voltage level. The methodology was employed to assist activities of distribution system operators by means of energy reestablishment plans to help with permanent-system failures. The agent-based reconfiguration approaches employed either a hierarchical and a fully decentralized approach. Agent capabilities have been developed envisioning distribution system applications focusing on outage management procedures. The approaches have been tested on a IEEE 123 test feeder. Results are of interest for the scientific community and foster discussions on levels of decentralization in distribution system delivery. iii iv Acknowledgments It is with deep appreciation that I extend this thanks to all those who help me achieve the completion of these work. To my friends at FEUP and colleagues – It is your camaraderie which makes the experience most meaningful and lasting. To my supervisor, Dr. Vladimiro Miranda – Who provided me with the opportunity of developing this thesis in Brazil, close to my family My advisor, Dr. Diego Issicaba – for your guidance, support and patience. And to my mother & sisters, Liza & Nayara – For your constant encouragement, unwavering support, and unconditional love. Matheus Macedo Lopes v vi “Defeating racism, tribalism, intolerance and all forms of discrimination will liberate us all” Ban Ki-moon vii xiv LIST OF TABLES List of Acronyms AA Agents-Artifacts ACSR Aluminium-conductor steel-reinforced cable AOP Agent-Oriented Programming API Application Programming Interface AR Automatic Reconfiguration BDI Believe-Desire-Intention COM Component Object Model CSV Comma-Separated Value dll Dynamic-Link Library HV High voltage IDE Integrated Development Environment IED Intelligent Electronic Devices IEC International Electrotechnical Commission IEEE Institute of Electrical and Electronics Engineers JCL Java Class Library LAN Local Area Network LV Low Voltage MAS Multi-Agent Systems MV Medium voltage OpenDSS Open Distribution System Simulator RTU Remote Terminal Units SCADA Supervisory Control and Data Acquisition xv Chapter 1 Introduction This chapter brings the overall motivation that entail the need for further studies toward Automatic Reconfiguration (AR) solutions on distribution grids. The main objectives are stated and a revised documentation structure is summarized herein. 1.1 Motivation and Subject background Distribution power grids are designed to provide electricity with a certain level of adequacy and security in order to assure service continuity and quality. Like most of the systems developed by humanity, the electrical power grids evolve on the basis of drive sectors such as economical, environmental and social. Recently, initiatives especially concerned with these systems have been established and referred as "GRID 2030" [3], the IntelliGrid Initiative [18,21], and the European Smart Grids Technology Platform [26], among others [23,25,55] in which the main concerns are leaned towards the power grid paradigm shift regarding the Smart Grids concept. In short, these initiatives promote decentralized control implementations and management solutions, the integration of renewable and distributed energy resources, as well the modernization of the power grids. As a gradual process, the technical challenges embrace several power engineering related fields of expertise as power electronics, communication, information technology, and software engineering. Distribution grid control and operation might be subjected to substantial changes under the general terms of the listed initiatives. As a matter of fact, most of the supply interruptions occurrences are caused by problems at the distribution level, which lacks monitoring and control devices in comparison with transmission grids. Under this context, agent-based technology provides suitable a approach that allows a soft transition from actual distribution grids to smart distribution grids approach. Therefore,this project aims at modeling smart distribution solutions to grid reconfiguration using agent-based technology assuming an architecture where agents interact with each other with the overall goal of improving continuity, quality and security of supply, while maintaining electrical quantities within regulatory limits. 1 2Introduction 1.2 Objectives This project aims at modeling smart distribution solutions to grid reconfiguration using agentbased technology for cases of restoration. It assumes a architecture where agents interact within a simulated distribution grid environment from the establishment of abstract goals to the achievement of agent intentions. The integrated application will be implemented such that AgentSpeak agents will interact through speech-act based communication as well as with a shared environment implemented in JAVA language. The specific objectives of the work are the following: •Representation of distribution grid in an agent simulation environment — A simulation model must be designed to simulate the system operation and provide information regarding steady-state and fault conditions. It requires modeling power distribution components as computational objects in order to integrate system state transitions at the MAS simulation model level. •Design AgentSpeak models and operations upon grid components in order to control behavior towards grid reconfiguration — by analyzing electrical quantities of buses and lines under normal and abnormal conditions, agent reasonings and actions must be performed to achieve goals towards grid reconfiguration. •Implement, test and verify agent-based reconfiguration solutions, either following a herarchical approach or decentralized approach — Reconfiguration solutions are tested and analyzed considering a hierarchical approach where automatic decision making is centralized in an entity which solves the problem through a minimum-path algorithm, as well a decentralized approach where grid self-organization is reached through interactive agents widespread in the distribution grid. 1.3 Document Structure This first part of the work presents the introduction, which explains the project context, problem statement, objectives, as well as the outline of the thesis. The following chapters are structured as follows: Chapter 2addresses a state the of art regarding the main topics involved in the proposed approach. Theories, information and literature review are discussed. Subtopics under this chapter include information on distribution network reconfiguration and the definitions of agent and MAS, emphasizing their design, concepts and implementation. Chapter 3discusses the methodology adopted to conceive the computational model, the stages taken in order to represent distribution system components, the integration of a simulation tool to the MAS framework, and the reconfiguration solutions. 1.3 Document Structure 3 Chapter 4results and discussion about the work are thouroghly described. Chapter 5conclusion of the project followed by suggestions of future works are presented in this chapter. 4Introduction Chapter 2 State of the art In this chapter a summary of the state of the art is presented referring the known methods and solutions related to this work. As introduced in the first chapter, this thesis involves knowledge about particular topics of power engineering and computational sciences. Hence, the main objective of this chapter is to provide a background and state of art of these two fields of study, emphasizing directly to the subjects of interest. The contents of this chapter cover topics which entail power distribution delivery, grid reconfiguration as a problem of altering the state (open or close) of switching devices, as well considerations toward automation. In this context, the MAS approach is placed to integrate a notion of intelligence that supports system operation, contributing to the formalization of an idea of smartness to be embedded in actual networks. Therefore, in section 2.1, power distribution systems are described and contextualized alongside their technical challenges for the purpose of reconfiguration. In section 2.2 and 2.3, autonomous agents, MAS and applications to power distribution engineering are discussed. 2.1 Power Distribution Systems A typical power system can be divided into three parts: generation, transmission and distribution, as depicted in Fig. 2.1. In summary, generation and the transmission systems typically use high voltage (HV) values for efficiency, transformers are responsible for boosting/bucking voltage values and are located in different parts of the system, and distributions systems deliver power to end users (loads), either at medium voltage (MV) or in low voltage (LV) systems [51]. This paperwork will be focusing on the MV systems and applications. Transmission systems operate with the support of several monitoring and data acquisition equipments [59], while distribution systems are more vulnerable to outages due to the fewer of number these equipments. Power outages in most of the cases are temporary, meaning that the continuity of supply can be shortly recovered by actuation of reclosers – a circuit breaker equipped with a mechanism that can automatically close after it has been opened due to a fault [4]. Reclosers are used on overhead distribution systems to interrupt temporary faults. However, the occurrence 5 6State of the art Figure 2.1: Example of an electric power system from generation to MV distribution level of permanent faults in the electrical network is also a recurrent problem, for both, consumers and power utilities [43,59]. The majority of distribution grids are designed upon primary topology systems. Due to the size of distribution grids, it is an often lower cost solution that intrinsically helps with managing delivery of supply in fault occurrences, minimizing the impact of outages caused by permanent faults in a segment of the grid. The utility considerations rely on: capacity of the grid, voltages and sources, size of metering equipment, relaying requirements and station batteries [60]. The primary distribution system is made up of circuits called primary feeders or distribution feeders. These feeders include the main feeder, usually a three-phase, four-wire circuit, and branches or laterals, which can be either three-phase or single-phase circuits [19]. In these systems, reclosers are used for both protection and for topology management. A schematic diagram of a simplified primary circuit of a distribution system together with reclosing devices is shown in Fig. 2.2. Generally power distribution feeders provide power for both primary and secondary circuits, in which the primary feeder usually adopts reclosing devices positioned along the feeder. This arrangement minimizes the extent of time that primary feeders are out of service if a fault occurs. Thus the reclosing of these devices is set to limit the outage to the smallest number of affected loads. This can be achieved by coordinating all fuses and reclosers on the primary feeder [64]. Particuarly, when a feeder is subject to failure, a coordinated action of opening and closing switches can be performed, holding back permanent failure impacts. By reconfiguring the switches and reclosers installed on the distribution feeders it is possible to quickly isolate a faulted section and re-establish service to important customers. A reconfigurable grid is then considered a system comprised of sensors and automated controls used to isolate faults and to reconfigure the distribution network to minimize the outage impact to the customers. Grid reconfiguration comprise a complex problem, one to be modeled and addressed in this work following a MAS 2.1 Power Distribution Systems 7 Figure 2.2: Simplified diagram of a power distribution feeder [19] approach. 2.1.1 Reconfiguration Problem The concept of reconfiguration was raised long ago [15], and recently has been implemented in many places with the development of switch technologies [40,68,77]. Nevertheless, choosing the right combination of opening/closing statuses of switches to optimize some performance or index criteria while keeping a radial topology is still a challenge at distribution level. Network reconfiguration in distribution systems is then possible by changing the status of sectionalizing switches or reclosers, enabeling topology variation, and it is usually done with the purpose of loss reduction, network overload mitigation, voltage profile improvement and service restoration [6]. These very topics have been targets of research, with the usage of a variety of methods, such as: •Branch exchange procedures [6,56]— for loss reduction and load balancing; •Stochastics optimization [14]— probabilistic technique for approximating the global optimum, for network reconfiguration; •Convex optimization [71]— Mixed-integer minimization with convex quadratic constraints methods for network reconfiguration; •Heuristics and metaheuristic [6,16]— Variable scaling hybrid differential evolution methods for solving network reconfiguration of distribution systems and genetic algorithms for distribution systems loss minimum reconfiguration; 14 State of the art Figure 2.9: Typical Goal-Based Agent structure [62, pag. 52]. •Model-Based Reflex Agents— Agents maintain some sort of internal model that depends on the percept history and thereby reflects at least some of the unobserved aspects of the current state. •Goal-Based Agents— Goal-based agents further expand on the capabilities of the modelbased, by using "goal" information. Goal information describes situations that are desirable. •Utility-Based Agents— the actions for these type of agents are chosen in order to maximizes the expected utility of the action outcomes, that is, what the agent expects given the probabilities and utilities of each outcome. •Learning Agents— initially operate in unknown environments and slowly become more competent than its initial knowledge alone might allow. The most important distinction is the “learning element”, which is responsible for making improvements. As an extension to the goal-based agent type, illustrated in Fig. 2.9, many agent architectures adopted the Belief-Desire-Intention model, created by [11] to explain human intentional behavior. The BDI model is presented as computer programs that have mental attitudes such as beliefs, desires and intentions [48]. The architecture is closely associated with intelligent agents, but does not ensure all the characteristics associated with them. “Beliefs– are information the agent has about the world. Desires– are all the possible states of the sequence of events that the agent might like to accomplish. Having a desire, however, does not imply that an agent acts upon it: it is a potential candidate of the agent’s actions. 2.2 Agent-Based Systems 15 Intentions– are the state sequence of events that the agent has decided to work towards. Intentions may be goals that are delegated to the agent, or may result from considering options: we think of an agent looking at its options and choosing between them.” [10, chap. 2,pag. 17] Ultimately, the BDI software model is an attempt to solve a problem that has more to do with plans and planning than it has to do with the programming of intelligent agents. Planning can be viewed from different perspectives: “Planning concerns the process by which people select a course of action – deciding what they want, formulating and revise plans, dealing with problems and adversity, making choices, and eventually performing some action.” [61, pag.1] putting planning as two stages process (planning and control): “We define planning as the predetermination of a course of action aimed at achieving some goal. It is the first stage of a two-stage problem solving process. The second stage entails monitoring and guiding the execution of a plan to a useful conclusion.” [34, pag. 275] BDI agent type architecture are then known by taking agent actions on the basis of the agent goals desirability – a function that ranks alternatives according to their utility – together with the cost of achieving them, weighted by the probability of success. The function helps agents choosing actions and behave more adequately, or even rationally in the basis of the model, providing more than a simple binary decision [62]. 2.2.2.1 The Practical Reasoning of the BDI system Given the introduction to the BDI model and knowing the key data structures of it (beliefs, desires and intentions), the yet to be answer question is: how does an agent go from what he already have to its actions. The decision-making method underlying the BDI model is known as practical reasoning, the process of figuring out what to do or reasoning directed towards actions. In terms of implementation, intentions are manifested by means of executing one or more plans, which are courses of actions and may include triggers of additional plans. Goals are desires that have been chosen to be actively pursued by the agent. Another central concept regards event, generated internally or externally to the agent, in which are triggers that may activate plans, update beliefs or modify goals. Using this concepts, a practical reasoning system (PRS) model implies in adopting intentions and decide how to act in order to achieve the adopted intentions. Viewed by the architectural point of view, the PRS, originally developed at the Stanford Research Institute, was perhaps the first agent architecture to explicitly embody the BDI model. This architecture is shown bellow. 16 State of the art Figure 2.10: The Procedural Reasoning System (PRS) [10] In the PRS agent architecture an interpreter manage beliefs, goals, plans and intentions. Basically what the interpreter do is update beliefs from observations of the environment, generate new desires (tasks) on the basis of new beliefs, and select from the set of active desires some subset to act as intentions. Hence, the interpreter must select an action to perform on the basis of the agent’s current intentions and knowledge . From the agent viewpoint no planning are made at first in a reasoning cycle . Instead, the PRS is equipped with a library of pre-compiled collection of plans, top-level goals and initial beliefs. The plans are manually constructed, in advance, by the agent programmer. Top-level goals are redirected onto an intention stack, which is responsible to store all achievement pending goals and the beliefs are represented as first-order logic atomic formulas, in which the precise form of atomic formulas depends on the logic under consideration with respect to a given model [35,36]. "In mathematical logic, an atomic formula (also known simply as an atom) is a formula with no deeper propositional structure, that is, a formula that contains no logical connectives or equivalently a formula that has no strict subformulas. Atoms are thus the simplest well-formed formulas of the logic. Compound formulas are formed by combining the atomic formulas using the logical connectives" [49]. The agent then searches through a plan library to see which plans have a goal on top of the intention stack , some will have their pre-condition satisfied and then proceed to post-condition . At this point, the process of selecting a particular plan is result of utility ordering, the chosen plan is then executed. Whether a particular plan to achieve a goal fails, then the agent is able to select another plan to achieve the associated goal from a set of candidate plans. 2.2 Agent-Based Systems 17 2.2.3 Agent Programming Languages and Development Environments From the devising Agent-systems standpoint, the programming language play a fundamental role to the project design and execution, in the sense of providing practical programming languages and tools that are appropriate for the implementation of such systems [9], also for those who rely on its interpretation and extensibility whatever the required field is. Most agent programming languages rely on platform which implements its semantics. However, these frameworks are not embed with one specific programming language. Instead, they provide general techniques for relevant aspects such as agent communication and coordination [9]. Also, the languages that are in a mature state are aided and carried along by some Integrated Development Environment (IDE), intended to enhance the productivity of programmers. In spec of that, the basic requirements expected of agent-oriented programming languages rely on managing the inherent complexity of MAS and helping with their development, the research community has produced a number of methodologies [7]. To address some of the existing approaches situated along the lines of declarative, imperative, and hybrid infrastructures, the extent to which researchers have contributed to their development [9] are shown as follows: Declarative Languages are partially characterized by their strong formal nature, which focuses on what the program should accomplish without specifying how the program should achieve the result [69], some driven on logic others on formalism such as calculus. Languages that fits the profile are: FLUX, Minerva, Dali, ResPect, CLAIM [9]. Imperative Languages is a type of imperative programming in which the program is built from one or more subroutines or functions explicitly listing commands or steps that must be performed. to agent-oriented programming spectrum [69], pure imperative languages are not very common, mainly due most of the agent-oriented abstractions related to design be declarative in nature. however to the non-agent oriented approach, imperative languages are used to develop MAS. An example of an essentially imperative language that incorporate agent-specific abstractions, is the language available with the framework JACK [9] Hybrid Approaches Various well-known agent languages combine declarative and imperative features (been declarative while at the same time providing some specific constructs allowing the use of code implemented in some external imperative language). The languages that somehow illustrate the hybrid approach are: 3APL, Jason, IMPACT, Go!, and AF-APL [9]. Consequently, by examining the alternatives provided by the survey [9], similar from the presented approaches but now focusing on the elements interrelated with environments development, which must be associated to agent oriented programming and since we are interested in welldefined BDI agents. As the programming languages definitions above suggests, an hybrid approaches shown to be a good candidate to be the utilized as middleware to conduct the premises of this thesis. Therefore, one alternative would be to explore Jason, an built-in framework for the Eclipse Mars IDE which allows BDI modeling. In fact, the framework present itself as an open source 18 State of the art interpreter of an extended version of AgentSpeak, which in terms is a declarative agent-oriented programming language that applies the BDI model. If well-utilized, Jason allows a high-level representation of the agent’s AgentSpeak reasoning at the same time make a sophisticated use of object-oriented programming implemented in JAVA [38].Besides, Jason is the standard instance utilized in the CArTAgO documentation [5], a singular and sophisticated common artifact infrastructure to model agent open environments. The proper use of these two frameworks will be described further in Chapter 3, where Jason is used to define speech acts in AgentSpeak and CArTAgO to interact with the power grid objects in an environment. 2.2.4 Agent Communication The BDI model abstracts the agent coordination at the environment level, action as a mechanism that handles duplicated activities while preventing two processes simultaneously accessing the same non-shareable resource. Autonomous intelligent agents that interact within open, distributed, and decentralized environments need to regulate in a collaborative manner their activities in order to facilitate the process of achieving conflicting tasks/activities [67]. Coordination, at the agent level, is the process of managing these interactions by identifying and solving the interdependence between such activities. That said, for a mechanism like BDI to work effectively within a systems, Agents need to communicate. For the ability of social interaction be achieved between agents, it then first necessary that the agents use a common terminology to be understood by all those participating in the speech act. For example, the request of closing switches of "switchAgents", those participating in the discussion should know, for example, what means the term switch or its representation, so the switchAgents knows why its necessary to close it. Meaning that the agents need to know a way to interpret their messages and the means to answer it. With the intent of standardize some aspects of MAS, including communication, the Institute of Electrical and Electronics Engineers (IEEE) has decided to create an organization to take care of all these details, and decided to call it the Foundation for Intelligent Phisical Agents (FIPA). FIPA promotes agent-based technology by setting standards based on interoperability between MAS and other technologies, dealing with Agent Communication Language (ACL) messages, message exchange interaction protocols, speech act theory-based communicative acts and content language representations [30]. The agent communication language (ACL) defined by FIPA is very similar to knowledge query and manipulation language (KQML),"KQML is a programming language and protocol for communication among software agents and knowledge-based systems" [29, pag. 456]. Code illustrated bellow, source [28]. (ask-one :content (PRICE IBM ?price) :receiver stock-server :language LPROLOG 2.2 Agent-Based Systems 19 Figure 2.11: Message passing between Two Agents [30] ) ACL messages can be interpreted as objects (in terms of object-oriented languages, its performatives can be viewed as a message class containing a number of parameters (attributes of the message objec, e.g. achieve, ask-one, tell) [79]. Performatives can also be represented as tags that provide a pre-description about the purpose of the communicative act. For example, when an agent wants to report the result of some task to another agent, the performative Inform can be used, but when you need a proposal, it is more convenient to send a message with performative Call For Proposes (CFP). Taking the code message exemplified above, the KQML performative is ask-one, the content is (price ibm ?price), the a common terminology assumed by the query is identified by the token nyse-ticks, the receiver of the message is a server identified as stock-server and the query written language is LPROLOG. All the speech acts, along with their description are found in [30]. Although, not always the format shown is suitable or appropriate for exchanging messages between Agents or between Agents and applications. In such case, the default ACL messages can be translated to a Extensible Markup Language (XML) [31], a standard universally accepted structure that if adopted presents no meaning loss. 2.2.5 MAS applications to Power Engineering Although a complete review on all power engineering applications to MAS is out of the scope of this work, it is important to emphasize that thoroughly literature revision on agent-based systems applied to power engineering has been found in [38], where a extensive analysis based on surveys of the IEEE Power Engineering Society’s Multi-Agent Systems Working Group [46,47] were made, regarding conferences publications (Intelligent Systems Applications to Power Systems (ISAP) conferences), publications covering Journals of IEEE transactions, the Institution of Electrical Engineers (IEE),the Institution of Engineering and Technology (IET), the Electric Power Systems Research (EPSR) as well as International Journals of Electrical Power & Energy Systems (IJEPES). 20 State of the art Based on what has been stated and further analyzed in the document cited, until the year of 2012, the extent of work object of citation cover up to 100 publications related to MAS applied on various sectors related to power Delivery, Generation, Transmission and Distribution. The distribution portion reached 23 related documents, according to Table 2.1. Table 2.1: Bibliographic survey of multi-agent systems applied to power engineering problems ISAP ISAP ISAP IEEE/IEE EPSR/IJEPES 2001–2003 2005–2007 2009–2011 IET Journals Journals Total Generation & Transmission 5 15 15 39 3 77 Distribution 1 5 6 8 3 23 Total 6 20 21 47 6 100 In comparison with other research fields, these figures suggest that the relationship between agent technologies and power engineering is not yet at a mature state. This is probably related to the inherently complexity of power engineering problems and how agent-based systems have conceptually evolved in the past few years together. Also, it might be related to the interdisciplinary requirements to building such MAS applications and the complexity aggregated to adding new paradigms to power delivery. Concerning the review, most of cited applications reinforced the use of decentralized systems. Furthermore, the a great amount of work that explores decentralized approaches happens to be featured by Multi-Agent-Systems. These efforts cover from specific solutions proposed to improve the protection until abstract frameworks devised to manage entire power systems. Amongst the applications to MAS, the works in [2,10,10,38] were the main references utilized in this work, where a block-oriented agent-based architecture is completely designed using AgentSpeak and CarTAgO to the purposes of operation control. 2.3 Conclusion A review about the current status of power grids as well as power distribution system operation and control has been made, focusing on aspects from the distribution viewpoint that entails operation, management, automation and reconfiguration. Regarding agent systems, it has been shown that in order to develop such systems, it is necessary to consider functional particularities of agent structures, agents reasoning systems as well as agent communication processes. It is important to emphasize the BDI architecture, which is one of the options that enable viewing an agent as a goal-directed entity that acts in a rational manner. An introduction on how agent-based system can be implemented in terms of languages and development environments has been briefly stated. This was discussed addressing some of the exiting approaches and their corresponding platforms. The Jason declarative agent-oriented modeling, or AgentSpeak, along with CArtAgO framework for agent systems modeling are introduced as platforms that provides an integrated Agent architecture within an open simulated environment. 2.3 Conclusion 21 This brought up the potential utility for their applications, motivating the further developments described in the next chapters 22 State of the art Chapter 3 Developed Approach This chapter introduces the modeling of the developed approach for AR using MAS coordination. Reconfiguration solutions have been modeled either considering a hierarchical approach, where decision making is centralized in an entity provided with a Dijkstra’s shortest paths algorithm application, as well as a decentralized approach, where grid self-organization is reached through agent interactive procedures. For this accomplishment, a simulation model has been designed to simulate the system operation and provide information regarding steady-state and fault conditions. This required the modeling of network components as computational objects aiming at integrating system state transitions at the MAS simulation model level. Then after, agent capabilities, plans of action and reasonings have been modeled using AgentSpeak formulations, while environment modeling has been addressed through agent-artifacts representations. All these models have been included in a simulation platform, where decentralized solutions can be tested and verified, and the independence of agent/component processes is guaranteed by the JaCamo framework. The chapter is organized as follows. In section 3.1, distribution grid modeling and MAS modeling is thoroughly described, focusing on how components are represented, included and integrated in the simulation platform. In section 3.2, MAS capabilities and planning procedures are described with emphasis on how AR is modeled and achieved in the developed approach. In section 3.3, conclusions and final remarks are outlined. 3.1 System Component and MAS Modeling The global simulation model is constituted by a set of AgentSpeak plans that coordinate the speech act and agent interactions within the environment imposed to it. Moreover, it includes a Java Application Programming Interface (API) method elaborated and supported with a set of Java based libraries allowing relations with external programming platforms chosen to perform grid calculations. Lastly, it includes a built-in MAS framework platform. As the MAS abstraction suggests, before creating the agent level representation of the problem, an environment must to be defined. Being power distribution grids the object of study in this 23 30 Developed Approach Figure 3.8: JaCaMo approach [8] Now, a designed JaCaMo system is given by a Moise organization of autonomous BDI agents, implemented in Jason, working in shared artifact-based environments implemented in CArtAgO, as depicted in Fig. 3.8. Therefore, the JaCaMo framework approach establishes the coordination between three models JAson-CArtago-MOise, in which each represents substantial contribution to the framework as a whole, that is: Jason library implements AgentSpeak development workspace and extends it by interpreting the running code of Jason’s Agent language to be compiled by JaCaMo runnable file (. jcm). Cartago library are responsible to define the environment and link to the Agents dimension through Artifacts operation, using a proper set of commands to define each operation and observable proprieties of the environment. Moise library [39]used to orchestrate the organization between agents and environment observable proprieties. The JaCaMo MAS approach has been conceived by utilizing the default Moise organizational model of autonomous BDI agents, and a set of Jason AgentSpeak language codes working in a shared Artifact-based environment dimension created, implemented in CArtAgO artifact extensions by the same means Java methods are implemented. AgentSpeak is a discipline of computational sciences and some details in terms of approach, at the modeling development, might differ from power engineering point of view as the process of 3.1 System Component and MAS Modeling 31 learning and implementing a MAS model goes. Therefore, as an attempt to introduce the reader some of the details and basis of how the solutions are actually created, a brief explanation of the Jason language and interpreter will be presented, skipping the complex issues for the ease of the reader. For more information, a proper reference can be found in [10]. The main idea to be addressed when comes to model agents, is talk of computer programs as if they have a “mental state”. Thus, when we talk about a BDI system, we are talking about computer programs with computational analogues of beliefs, desires and intentions. Unlike in classical logic, the concept to be learned here is of modalities of truth, rather than things that are stated to be true in absolute terms. Therefore, the basic steps of an agent abstraction based on the PRS model, outlined in Chapter 2, is the usage of deliberation and means-ends reasoning on the basis of the control loop, in which an agent continually: • Looks at the world and updates beliefs based on events that occur in it, Agents receive events either external from the environment (perceptual data) or internally generated (beliefes); • Deliberates to decide what intention to achieve, by tring to handle events by looking for plans (desires) that match; • Uses means-ends reasoning to find a plan to achieve this intention; • Executes the plan. Belief sets are then part of agents structure, in which represents a collection of literals, where each one of them is represented by predicates in a symbolic form: voltage(Phase1,1.02)[source(sel f )|source(percept)] . This means that an agent with such belief, acquired either from what he is sensing of its environment sphere of influence or what himself somehow concludes, determine as true “Phase1 has voltage 1.02 p.u.” until it changes – p.u. here is implicit and means voltage electrical quantity per unit system. However, in the context of agents, this will never be known unless it is stated as a belief. That is, the existence of the literal voltage in the agent’s belief base means that the agent relate the internal terms that defines it as true. The desires are previously devised by the MAS developer in advance, by giving the agent information about how to respond to events and how to achieve goals. A desire structure then comprehends: an event or trigger that the plan can handle, a context (rule) that defines the condition under which the plan can be used and a body (course of action) or the the actions to be carried out if the plan is chosen, as follows: +!triggering_event[source(percept|agentn|sel f )]:context <- body. The triggering events are identifiable changes in beliefs or Goals, and such changes can trigger the execution of plans. Contexts will then represents logical conditions which defines a plan 32 Developed Approach applicability or not, i.e. candidate for execution, and bodies are the course of actions (actuation commands). The different types of triggering events and context literals are shown in Tables 3.4 and 3.3. Table 3.3: Types of literals in plan context Notation Description literal The agent believes literal is true ∼literal The agent believes literal is false not literal The agent does not believe literal is true not ∼literal The agent does not believe literal is false “Goals: predicate formulae prefixed with "!" identify what the agent wants to do. Whereas beliefs, in particular those of a perceptual source, express properties that are believed to be true of the world in which the agent is situated, goals express the properties of the states of the world that the agent wishes to bring about. Goals are equivalent to method calls in object-oriented programming. The mapping is achieved through the use of events and associated event handler, known as plan rules.” [10, adapted from pag.40] Table 3.4: Types of triggering events Notation Description +literal Belief addition/Variation -literal Belief deletion +!literal Achievement goal addition -!literal Achievement goal deletion In means-ends analysis, the Agents reasoning begins by envisioning the end, or ultimate goal, and then determines the best strategy for attaining the goal in his current situation. Therefore, the desires are represented as the set of plans that match the event or the possible options of executions in with differentiate between them by triggering rules they carry. That said, the Agent will then find a plan to achieve this intention by trying to handle events by looking for plans that match a certain condition of the environment. An example of handling desires upon a belief perception of the environment is devised as the algorithm suggests: Algorithm 3.4: belief environment change percept illustrate 1\\ belief triggered if environment percept changes and if its locate in Phase1 2+voltage(A,B)[Source(percept)]: A == "Phase1" <- 3.print("Testing Voltage Adequacy Phase:",A); 4!testBelifadequacyVoltage(A,B). \\passing belief to a course of action 3.1 System Component and MAS Modeling 33 What the Agents perception of the environment creates when changed and if matched its preconditions, for this particular case where the belief is triggered only if (A) condition relates with "Phase1", basically is calling a desire loop – triggered when first called, passing from an idle goal (false) to a active goal (true) – in which will further decide whats the best action to take. Algorithm 3.5: Completion and retention of Agent possible intention 1/*******Decisions Loop: ***********/ 2+!testBelifadequacyVoltage(A,B): true <- !testBelifadequacyVoltage(A,B). 3+!testBelifadequacyVoltage(A,B): B>0.95 & B<1.05 4<- .print("Report only: Voltage Levels whiting Regulatory Standard Range"). 5+!testBelifadequacyVoltage(A,B): B<0.95 | B>1.05 6<- .print(">> FALT ALERT! voltage out of tolerance Range <> ",B); 7handle_Situation_by_Calling_Actuator_internal_Function(A); 8.send(dMS,tell,Occurrence(A,B)). The process of actuating upon environment conditions, here handling a possible undervoltage or overvoltage, is defined as context (desires conditions). That is, if B – the voltage value sensed from the environment– are withing 0.95 and 1.05 (p.u.) the Agent choosing desire will be reporting the environment current state, otherwise if B presents below or above the tolerable condition the course of action to be taken will be the one in with deliberation orders to the agents actuator, by calling its own fix routines and sending a message with Occurrence label to be interpreted by the dMS Agent. In very short terms, at every reasoning cycle of an programmed agent, the interpreter updates the events list, which may be generated from perception of the environment, or from the execution of intentions (when goals are specified in the body of plans). Beliefs are either updated from perception or from plan controlled operations and whenever there are changes in the agents beliefs, this implies the insertion of an event in the set of events. Check the PRS scheme illustrated in Fig. 3.9. The Agent-Artifact Model All elements beyond the scope of the Agents in a MAS application are typically considered to be part of the environment. Such elements can be relented to databases, constructed communication infrastructures, topology of a spacial domain and so on [78]. By definition, CArtAgO means Common ARTifact infrastructure for AGents Open, allowing users to model and and execute virtual environments for Artifact-based MAS in open workspaces were agents can join and work together. CArtAgO is based on the Agents-Artifacts (AA) multiagent systems environment modeling and designing abstraction. AA introduces agents as computational entities performing some kind of task or goal-oriented activity, and artifacts as resources and tools dynamically constructed, used and manipulated by Agents to support their individual and collective activities [1]. 34 Developed Approach Figure 3.9: Agent reasoning cycle. after [10, pag. 68] Developers of MAS have then a simple framework to design and implement Agents computational environment [1]. Artifacts, as the encapsulated representation suggests in Fig. 3.10, have been proposed as first-class abstractions to model engineer computational environments. Knowing that, environments can plays a fundamental role to the overall application, as Artifacts handles responsibilities impacting on the design and development. Figure 3.10: Artifact Model [78] 3.2 MAS Capabilities and Agent Plans Towards Reconfiguration 35 The workspace environment, portrayed as endogenous environment level in Fig. 3.8, can be populated by one or more workspace entities (Artifact/Agent). These entities form the abstraction layers that rely upon the observable environment proprieties or usage interface. Defining Artifact’s usage interface means then setting observable properties and programming a set of operations that mimic the user intended goal or actuation command. Operation or variability in the simulated environment can generate updates to the observable properties and specific observable events. The last entity concerning the environment dimension is the manual, an entity used for representing the description of the functionalities provided by an Artifact. The Application of the AA concept to the MAS developed, implicate in the creation of methods that would help agents to coordinate communication and their behaviors, as the Algorithm 3.6 suggests. Algorithm 3.6: Artifact Example 1@OPERATION public void init(...) throws InterruptedException { 2defineObsProperty("statusVolt",new Atom("Coud Not reach Voltage sensor")); 3defineObsProperty("statusCurrent",new Atom("Coud Not reach Current sensor")); 4defineObsProperty("zone",new Atom(Zone)); 5defineObsProperty("voltagePhase1", 0.00); 6defineObsProperty("voltagePhase2", 0.00); 7defineObsProperty("voltagePhase3", 0.00); 8...} 9@OPERATION public void incSim() {} 10 @OPERATION public void getBusRealName(OpFeedbackParam<String> name) {...} 11 @OPERATION public void attachedTo() {...} 12 public double randDouble(double bound1, double bound2) {...} 13 public static String readLine(int line, String File){...} 14 ... The artifcat modeling, illustrated inFig. 3.10, is defined by a set of observable proprieties that are devised according with the characteristics of the problem and the environment observed. Also, it includes a set of operations which can be either to actuate on the environment or to aid agents to archive their tasks. This is possible since the operations and agents share the same level of abstraction, and the ways operations are implemented depends only on how the user abstracts its platform. This link between agents and operations is generally provided in case agents use AgentSpeak (and proper agent language to communicate with their artifact) as well as artifacts use Java language. 3.2 MAS Capabilities and Agent Plans Towards Reconfiguration Achieving an acceptable integration within the simulated tools required a considerable level of abstraction when it comes to specifying the goals –intentions– over the activities behind reconfiguration operations. In this context, Jason AgentSpeak has been used to model the basis of agent-agent communication and the interaction at agent-artifact level. CArtAgo has been first used to define an 36 Developed Approach artifact that held the API method, which in turn links, initiate and drive OpenDSS via COM engine inside JaCaMo framework. The artifact based library has been also applied to implement operations to be directed through the COM engine and operate on behalf of agents, supporting them to achieve their goals. The API was written in native Java and the set of operation is modeled in CarTAgO. 3.2.1 MAS Structure for Automatic Configuration This section describes the MAS structure utilized for both hierarchical and fully decentralized AR approaches. Such modling required the specific use of each JaCaMo libraries, which come with the necessity of representing the external distribution grid environment. That stated, in order to put the reconfiguration into perspective, simplification and certain assumptions to make the scenario suitable are summarized as follows: • Power flow snapshots have been utilized to model network voltages and currents in steadystate; • Short-circuit analyses have been utilized to model network voltages currents for falty conditions; • All switches have capacity to support short-circuit conditions and are able to be remotely controled using utility communication systems. Also, fault passage indicators are provied near each switch. • A communication system is avaiable to support the operation procedures. The agent types considered in the MAS are classified as: • Ag_busNumber*: Represent at most each and every existing bus in the system, bus agents will be responsible to be constantly reasoning upon their status and regarding failure it must be capable of autonomously handle it. They can be modeled to handle operations in an actual network bus or manage a set of buses in a zone. • simulationCall Agent: Responsible to coordinate the simulation (using steady-state and short-circuit analisis) and in build the MAS infrastructure (grid environment and bus Agents). • dMS (Distribution Management System) Agent: responsible for management and simulation delegations such as to ask for simulationCall to perform fault simulations and to reason about grid health by constantly keep contact with busAgents, which in turn provide access to electric quantities (voltage and currents). In the agent-abstraction level, using JaCaMo layered structural approach (see Fig. 3.8), the following considerations must be emphasized: 3.2 MAS Capabilities and Agent Plans Towards Reconfiguration 37 Cycle.1 The Exogenous Environment Characterization: The MAS framework integration with the OpenDSS tool must be established allowing a simulated open workspace grid. Hence, the environment is set by an agent created for this very reason – here referred as simulationCall – and responsible for grid building and busAgents initialization. This is devised by: • Phase 1: The initialization of the external simulation tool using an Java API; • Phase 2: Building the distribution grid and run the steady-state simulations, whose results are stored in text and CSV files. Cycle.2 The Endogenous Environment Characterization: When integration is established and the grid objects are observable, agents can now take place in the workspace where its objects are. This cycle features 2 sub cycles: • Phase 1: Each agent is responsible for at least a bus and an artifact-sensor, exempt agents responsible for the simulations (Agents: simulationCAll and dMS). When instumentation is available, each agent must be capable of identifying: (A) Voltages - Status Phases Phase 1, 2 and 3 ; (B) Currents - Status Phases Phase 1, 2 and 3; (C) Zone - 1, 2 ...; (D) Switches zone status On/Off of the zone; (E) Identifiable neighboring agents such that a bound amongst then is establhised by communication act. • Phase 2: Setting/coordinate sensorial analyses for bus agents, where each bus agent must be capable of sensing corresponding voltages and currents and perform further analysis upon its values such as: (A) Voltages - Overvoltages or undervoltages, and so forth; (B) Currents - Overcurrents, line overloading, and so forth; (C) Zone - read zone and interpret switches positioning; (D) Switches - capability of handling fault conditions either if zone switches are energized or not; (E) In adversity, capacity of handling isolation and coordinate solution along side neighboring agent. Cycle.3 The Reconfiguration Characterization: If a fault condition for an section of the grid is assigned, the MAS system must be capable of autonomously adjust – locally and systemically – handling zone and perform line isolation determining courses of action to reconfigure the grid, assuring continuity of supply to loads and secondary feeders. These activities rely on: • Phase 1: Perform fault isolation: after fault, a local busAgent must handle communicating acts with busAgents attached to switches in order to isolate the zone. 38 Developed Approach • Phase 2: Perform reconfiguration coordination: once the local faulted agent confirms the zone is properly isolated, other agents start a coordinating to find ways to reconfigure. • Phase 3: Finalize the reconfiguration by reading bus status againi f reconfiguration is performed adequately. Otherwise the system remains in a faulted state and looking for solutions. Having these structures in mind, a specification diagram using Unified Modeling Language (UML) was developed to aid designing and visualizing the MAS. This diagram maps Agents relation also giving specifications to the created MAS as shown in 3.11. Figure 3.11: Structural Specification UML diagram In the interactions shwon, proposed action plans approval by the dMS before any action is not necessarily imposed or either reinforced. Agents are programmed to report all activities back to the dMS, which has the possibility of overriding decisions. These directives might be of great relevance to gathering data about the system operations, testing protection and control settings derived from the executed plans, tuning and validating agent decisions, as well as improving its degree of acceptance. The dependencies in the model are related to the necessity on acting toward grid equipment state, and the fact that the dMS share the same simulation Artifact as simulationCall. The simulationCall holds a communication role as well as goal-oriented activities to perform distribution grid simulations, only possible due the link to an .asl file, that represents the main Agent module and where algorithms run the Agent-Artifact concept through CArtAgO framework. To give a more comprehensible insight to what the simulationCall does, a UML diagram of the agent is presented in Fig. 3.12. On the UML diagram it is possible to verify the design of simulationcall agent. In order to build a grid environment in which practically all data can be acted upon through artifact operations, agent-artifact main operations are the follwing: start(_) to start the runs steady-state simulation, 3.2 MAS Capabilities and Agent Plans Towards Reconfiguration 39 Figure 3.12: simulationCall structural specification UML diagram setAgentNumber(_) to retrieve the number of buses in the grid, getAgentName(_) a list with the bus names to assign to additional agents and stop(_) to stop simulation and start post processing to create new agents to integrate the grid environment. Predicates that comes with "+!" represents achievement goals and will be triggered by the ones containing only "!", subsequently when the goal is complete the agent return to the previous achievement goal, following the main sequence: simulationCall initialization →!startSimulation(_) →+! +!startSimulation(_) →!makeArtifactBuild(_) →+!makeArtifactBuild(_) ← +!startSimulation(_) →+!simulationStop(_)←+!startSimulation(_). 3.2.2 Agent Plans for Automatic Reconfiguration To design the agent-based model, the fist step taken has been defining the Agents simulationCall and dMS inside the framework, and a workspace layer to represents the environment space where 46 Developed Approach Figure 3.15: busAgents fault coordination dMS receive the isolation zone confirmation it starts a subroutine to find ways to best reconfigure the grid. When the plans for configuration are set the dMS delegates functions to agents to reconfigure. When the process is done it is expected that the reconfiguration is achieved and plans for calling crews are initialized to take care of the failed component. The dMS agent runs a Dijkstra Shortest Path algorithm to find the best solution to achieve reconfiguration aiming in reducing the number of non energized zones and buses. The criterion of number of buses was chosen for the sake of the example, though other criterion could be specified. Afterwards the dMS send plans to be followed by the busAgents. Dijkstra Shortest Path is an algorithm for finding the shortest paths between nodes in a graph and exists in many variants. The one used for the course of reconfiguration fixes a single node as the “source” node and finds shortest paths from the source to all other nodes in the graph, producing a shortest-path tree. The idea behind Dijkstra algorithm can be depicted assuming the needed path is from agent A to B: • Start with a message consisting of the name of an agent node A. • Send a copy of this message along each line spreading from A. • When a message reaches a node agent K, its name is add to the path. • Along each line which spreads from node K and was not used yet, a copy of the message is sent. 3.2 MAS Capabilities and Agent Plans Towards Reconfiguration 47 • The first message that arrives at node B (and any other node) contains the shortest path from A to it. The use of the algorithm here comes with the idea of finding the best path option from the source bus to normally open switches in order to minimizing the impact of an possible permanent fault. This can take into account several criteria, so for the sake of choosing one we aim to maximize the number of nodes to be energized. By making use of the data obtained by the agents, such as coordinates and length, and to implement an method that use these data, a Java - based dynamic graphic library GraphStream [72] was chosen. The basic usage of this class takes place in 4 steps [72]: 1. Definition of a Dijkstra instance with parameters needed for the initialization. 2. Initialization of the algorithm with a graph through the initiation(graph) method from the Algorithm interface. 3. Computation of the shortest path tree with the compute(_) method from the Algorithm interface. 4. Retrieving of shortest paths for given destinations with the getShortestPath(Node) method for instance. The creation of the Dijkstra instance is done with the dijkstra(Element, String, String) constructor by giving 3 parameters: First, the type of element that is consider for the computing of shortest paths (Dijkstra.Element.node). Second, the key string of the attribute used for the weight computation. The third parameter is the “id” of the source node the shortest tree will be constructed for. The source of all these information along with the example of how to use the algorithm in the library can be found in [32,72] and the devised algorithm for these approach can be found in [44]. The application of the algorithm is defined by an simple search for solution, consisting in seating a fix node as source. For instance, in the IEEE123 test feeder the source node is bus number 150. The basic solution is the find the shortest path from the source to all switches in the grid. A post processing method was devised to read the list created with all shortest path assuming all switches are in close state, by their names witch contains normally open (NO) or normally (NC), the shortest path to a normal open switch define the plan form a closing to be closed by the agent attached to it, as depicted in Fig. 3.16. 3.2.2.3 Reconfiguration Planning: Decentralized Solution Although the hierarchical solution might present fair results, we also deployed the idea of a fully decentralized solution where busAgents are responsible to the main reconfiguration procedures. This reinforces the idea of a smart system that can handle adversities without a quasi-dictator dMS agent. To achieve that the implemented functionalities were: 48 Developed Approach Figure 3.16: dMS reasoning plan generator Step1 Fault identification: Similarly to the hierarchical approach, the nearest bus react to fault current indications initiating speech act actions in order to isolate the faulted zone. The de-nergized zones are also isolated to aid reconfiguration. Step2 The reconfiguration system: One by one, agents responsible for switches will are asked by neighboring busAgents to close if they are neighbors of an energized zone, excluding the faulted zone. This enables the full an decentralized solution. Step3 The restoration: After a signal indicates the faulted component isrepaired, another procedure is made in order to restore the system to its initial state. The basic idea behind these approach is to find a simple but suitable solution for reconfiguration. As shown in the Fig. 3.17, the starting point of the simulation represents the moment when the nearest busAgent to fault acquire a belief of a fault state, and right after proceeds to communicate to other busAgent attached to switches, asking them to change status from normally close to open. Afterwards, course of actions involve the other agents, that is, all busAgents will participate of an speech acts in order to close switches attached to energized zones, one by one until a reconfiguration is done and most of the custumers are supplied. The steps of the AgentSpeak implementation are found in algorithm 3.10. 3.2 MAS Capabilities and Agent Plans Towards Reconfiguration 49 Figure 3.17: busAgents fault coordination Algorithm 3.10: AgentSpeak for decentralized reconfiguration 1 2/**(Step 1: From busAgent)**/+callFalt2:true <- \\ perceptual belief triggered 3getBusRealName(RealName)[artifact_id(S)]; getFaltLine(FaltLine)[artifact_id(S)]; 4?zone(BusZone)[artifact_id(S)]; 5.print("**Falt simulation with in line",FaltLine," bus number: -->",RealName) 6.send("dMS",tell,fautSimulation(RealName,FaltLine,BusZone));. \\ belief trigger 7/**(Step 2: From simulation Agent)**/ 8+fautSimulation(BusFalt,LineOfFalt,BusZone)[source(G)]; \\ perceptual belief 9\\run OpenDSS short-circuit simulation given the Bus and line of fault 10 .wait(5000); performFalt(BusFalt,LineOfFalt)[artifact_id(ArtId)]; 11 .print("Falt occurency, reported location of falt by ---> Agent",G); 12 +statusSimulation(0,1); \\ changing belief --> Normal to Fault state 50 Developed Approach 13 .wait(3000); .print("**** OPENING ALL SWITCHES ****"); 14 openALLsw[artifact_id(ArtId)]; ... 15 /**(Step 3:)**/... 16 .broadcast(tell,senseAgain(_)); \\ tell all bus Agent to acknowledge their state 17 .print("****Atempting Falt restoration by Agents speach Act coordination****"); 18 .wait(5000); .broadcast(achieve,faltCommunication); 19 ... 20 /**(Step 4:)**/ 21 .print("Reconfiguration Performed Successfully... Awaiting Restoration Agreement"); ... 22 +procedReconfig_and_restoration(G) \\ trigger belief 23 +getPlots("1"); 24 .send("Ag_1",tell,showConsole);. Both solutions present fundamentally the same results and uses the same basis of Agent communication though out speech acts. What essentially differentiates one from another is that in the first solution the MAS is somewhat centralized, while the alternative solution presents a fully decentralized approach. The basic explanation on how agents manage to receive massages proceed the reasoning at ate the same time that its sending messages, is due a the multi-threaded asynchronous nature adopted in JaCaMo approach. One way to characterize that is comparing with other processing methods, as below. 1---- : Time spend 2A,B and C : Processes (receive, send, others...) 3Synchronous (one thread): 4thread -> |----A-----||-----B-----------||-------C------| 5Synchronous (multi-threaded): 6thread A -> |----A-----| 7\ 8thread B ------------> ->|-----B-----------| 9\ 10 thread C ----------------------------------> ->|-------C------| 11 12 Asynchronous (one thread): 13 A-Start ---------------------------------------- A-End 14 | B-Start ----------------------------------------|--- B-End 15 | | C-Start -------------------- C-End | | 16 V V V V V V 17 1 thread-> |-A-|---B---|-C-|-A-|-C-|--A--|-B-|--C--|---A-----|--B--| 18 19 Asynchronous (multi-Threaded): 20 thread Agent A ---------> |----A-----| 21 thread Agent B ----> |-----B-----------| 22 thread Agent C ------> |-------C----------| The next chapter will then expose the overall results obtained from both solutions. 3.3 Final Remarks 51 3.3 Final Remarks Considerations toward the software and tools utilized to implement a MAS approach for reconfiguration in the IEEE 123 test feeder are presented. Also, it was presented the model adopted to conceive power grids on OpenDSS context as well as example of representations of line, switches, busses and terminal were addressed. This was followed by the description of the approach to to integrate the grid model and simulation with an MAS framework supported by the use of an API package. Concerning the MAS model, the JaCaMo approach for agent-based systems has been unfold, addressing the main topics of its representations, the BDI structure and the model of AgentSpeck adopted, all expressed in basic Jason modeling and the Agent-Artifact model supported by CArTaGo. When comes to the application capabilities, it was developed schemes to devise a MAS capable to simulate a power grid environment along with agent planing and methodologies to achieve reconfiguration within the simulation platform. All this considered solutions for reconfiguration either by a semi decentralize model using a dijkstra shortest path algorithm and a fully decentralized model. 52 Developed Approach Chapter 4 Simulation and Results Analysis This chapter presents simulations and result analysis for the MAS approach to model AR, either considering a hierarchical or fully decentralized control philosophy. The chapter is structured as follows. In section 4.1, system initialization and building phase are presented for the purposes of testing and validating environment and grid simulations. In section 4.2, simulation cycles are presented in order to analyse reconfiguration solutions achieved using both control philosophies. 4.1 MAS Initialization and building phase The JaCaMo framework console is a buit-in optional Graphic User Interface (GUI) used to present the run-time simulation of the system also providing basic tools to aid the user in achieving a compressible view over devised MAS solutions. JaCaMo’s console is illustrated in Fig. 4.1. Figure 4.1: JaCaMo framework console . 53 54 Simulation and Results Analysis In JaCaMo framework console, Agent-Agent and Agent-Artifact interactions are can be depicted in particular window tab dedicated to a given agent, or in a common window where all interactions are marked by console messages. The example below transcripts messages shown in the window console: begin ... [simulationCall]dMS FOUND and focusing on--> cobj_2 Artifact [dMS]DMS Agent Initiated ... The course of actions taken by the agents can be observable through out the run-time infrastructure as simulation goes. Also, log messages of each participant on the environment will be accessible by a tab with the Ag_Nº tag, giving the user access to each action made either by the Agent itself or its attached Artifact. In addition, some of the console buttons give the user the power to direct interaction within the environment and the agents as well as the possibility of adding new agents and triggering beliefs and goals externally. In agent simulatiom, visualization is a matter of utmost importance. JaCaMo console allowed validating the integration of OpenDSS with MAS platform, besides supporting modeling and improving the applications. With direct link to OpenDSS, all its structures, including validated IEEE data for test systems, can be used as object types. The customized console permited also verifying and correcting problems during the building, where workspace and agent types are instantiated. The building phase consists on running the JaCaMo file (.jcm), shown in algorithm 3.7, containing the MAS initiation course. This works also as a form of validating each step taken in the simulation, printing messages and log commands placed intentionally to aid verifying the evolution of simulation process and execution of internal/external functions. Once the run button is pressed, the artifact created by simulationCall, named initSim, run the API and start processing: [initSim]..Artifact responsible to Sense & Build the grid initiated.. Afterwards, the simulationCall Agent acknowledges its artifact ant takes he first actions: 1. Identify the workspace: begin [simulationCall]Workspace Dimension Created and Named: grid_environment 2. Trigger goals to perform stead-state simulation: begin [initSim]Runing Case: IEEE123 Distribution system [initSim]»COM OpenDSS engine::: Running Simulation 4.1 MAS Initialization and building phase 55 3. Log the simulation summary, as shown in Fig. 4.2.begin Figure 4.2: Summary of steady state simulation performed inside the framework 4. Start processing actions to filter and organize returned COM objects and external files: begin [initSim]»>COM OpenDSS engine::: Retrieving Result Objects... [initSim]Lines and switches : [l115,l1,l2,l3,l4,l5,l6, ...., sw1,sw2,sw3,sw4,sw5,sw6,sw7,sw8] [initSim]Busses: [150,150r,149,1,2,3,7,4,5,6,8,12,9,13,9r,14,34,18,11,10, ...] [initSim]Tranformer and regulators: [Trans f ormer.reg1a,RegControl.creg1a...] [initSim]»>Post Processing Results ... ... Coordinates , Bus: 88 X : 10813.263337 Y : 2171.336913 Coordinates , Bus: 89 X : 9833.451402 Y : 279.28628 Coordinates , Bus: 197 X : 11067.378502 Y : 6097.64203 ... 62 Simulation and Results Analysis Figure 4.11: Short-circuit analyses after dMS reasoning upon fault Figure 4.12: Agents acknowledging changes in the environment over fault state 4.2 MAS Reconfiguration Approach: Hierarchical Solution 63 Figure 4.13: dMS reported state from busAgents Although the course of action seems to be sequential, the execution timing for each participant in the speech act has an asynchronous feature, meaning that the order of action was not a concern when comes to implementing such systems, but rather a matter of acting upon conditions. Therefore, the Ag_62 requests action on isolation to agents attached to switches in the faulted zone right after sensing its short circuit current. This is achieved concurrently as shown in Fig. 4.14. The dMS also receives a request to actuate upon fault as shown in Fig. 4.15. Figure 4.14: Automatic zone isolation performed using agents speech act Figure 4.15: dMS reasoning upon fault report 64 Simulation and Results Analysis At the moment, the dMS receive confirmation of zone isolation, line switch 2 and 4 both open, and their correspondent agent sends a message to dMS which confirms zone isolation. Afterwards a sub-routing with the shortest path algorithm is responsible to find a solution for reconfiguration. The reasoning goes like: begin [dMS]DMS awaiting switch agents completion of actions... [dMS]Fault scenario completed... [dMS]DMS Agent Calling graphic API to generate Plan of Action For reconfiguration When the dMS initialize the algorithm API method, the graph shown in Fig. 4.16 is depicted in a new window. The grasphstream library allows one to draw a dynamic node-based graph with the obtained data from the building phase, including coordinates (x,y) of the nodes and the length of the lines attached to them. The grid is interactive given a visual impression on how the decision plan is created. Figure 4.16: Shortest path grid plan As the algorithm iterates as suggested below, the dMS reports the process of creating a plan as shown in 4.17. Afterwards dMS proceeds by reasoning until the solution is found (4.16), as indicated in Fig.4.19 by implementing/acting upon the generated plans, as shown in the Fig. 4.20. 4.2 MAS Reconfiguration Approach: Hierarchical Solution 65 begin [dMS]Switch(s) found working/or that should be Working - Line.SW3=0 [dMS]Read Node multiMap->{Line.SW3=[0]} [dMS]#Switch Plan1 : Got to be Close—-> Line.SW3 [dMS]—-> Geting NOT Energyzed Switch Zones... [dMS]Zone ->1 Zone Swt with No Power found ->Line.SW4 [dMS]Zone ->2 Zone Swt with No Power found ->Line.SW5 [dMS]Zone ->3 Zone Swt with No Power found ->Line.SW2 [dMS]Zone ->5 Zone Swt with No Power found ->Line.SW6 [dMS]Zone Swt electrified found ->2 & not energized : 4 [dMS]Calculating Solution Using Dijkstra short path algorithm and Agents coordination... [dMS]Setting source Node...Ag/Bus 150 —> Transformer [dMS]Generation DMS plan for isolation NORMALY OPEN SWITCH coordination Figure 4.17: dMS reasoning upon fault report 66 Simulation and Results Analysis Figure 4.18: TIEEE123test feeder shortest path grid Figure 4.19: The reconfiguration achievement summary 4.2 MAS Reconfiguration Approach: Hierarchical Solution 67 To this point, the plan is to close the SW7 and the other switches not including the ones of faulted isolated zone. By default Line.SW7 is a normally open switch. The reconfiguration is then achieved and the final result can be shown in 4.20. In order to analzyse the reconfigured grid scenario, another power flow analysis is trigger for the agents to sense. Figure 4.20: The reconfiguration shortest-path validation The reconfiguration cycle is now complete, as a minimum number of customer nodes are non energized. One way of evaluating the simulation cycles presented is by resorting to the plot results generated by the OpenDSS. These evaluations are briefly put in the next topic. The graph in figure 4.21 is refereed to the grid state right after the short-circuit simulation and when busAgents start the course for reconfiguration reconfiguration in order to change that state. Figure 4.22 is the second state of the simulation and when dMS start planing to reconfigure. Figure 4.23 shows the voltage profiles in the of reconfigured grid and lastly in figure 4.24 it is the power flow intensity depicted. 68 Simulation and Results Analysis Figure 4.21: Short-circuit results Figure 4.22: Post zone isolation result 4.2 MAS Reconfiguration Approach: Hierarchical Solution 69 Figure 4.23: Reconfiguration results 70 Simulation and Results Analysis Figure 4.24: Power flow results These figures represents all grid states the agents inside the framework were capable of sensing and reasoning upon gird objects. 4.3 MAS Reconfiguration Approach: Decentralized Solution The decentralized solution is taken following the same considerations as the hierarchic solution. It is considered the case scenario in which a fault is simulated for a line near bus 62, as depicted in Fig. 4.25. The only alteration in comparison to the previous case is the inclusion of agent-agent interaction to avoid depending on plan executed by dMS. Figure 4.25: Fault perceptual belief Trigger form decentralized approach From the start, when a trigger event caring a signal of fault is acquired by agent 62, the immediate response is to run a short-circuit simulation. The trigger is shown in Algorithm 4.3: begin [Ag_62]******Fault simulation with line attach to Bus —–>62 [Ag_62]——-*/-/-/– Falt Analysis processing for Bus/BusAgent nº: 62 [initSim]*Line Generated for falt simulation —->Line.L62 4.3 MAS Reconfiguration Approach: Decentralized Solution 71 Algorithm 4.3: callFalt2 belief 1+callFalt2:true <- 2.my_name(Me); 3getBusRealName(RealName)[artifact_id(S)]; 4getFaltLine(FaltLine)[artifact_id(S)]; 5?zone(BusZone)[artifact_id(S)]; 6.print("******Falt simulation with line Bus Agent ----->",RealName); 7.send("simulationCall",tell,getFalts2(RealName,FaltLine,BusZone)); The subroutine generates the short circuit-scenario with the same simulation summary result as shown in Fig. 4.11 page 62. The course of action taken in AgentSpeak is depicted in Algorithm 4.4. Algorithm 4.4: callFalt2 belief 1+getFalts2(BusFalt,LineOfFalt,BusZone)[source(G)]: true <- 2performFalt(BusFalt,LineOfFalt)[artifact_id(ArtId)]; 3+statusSimulation(0,1); 4stop(_)[artifact_id(ArtId)]; 5getBusData("1",_,_,_,_,BPstring)[artifact_id(ArtId)]; 6.broadcast(tell,senseAgain(BPstring)); A command action, such as ".broadcast(tell,senseAgain(_)) ", gives the agent the power to acknowledge a fault state after short-circuit. What differentiates this approach from the previous one is when a fault occur the busAgent 62 initiates a speech act between all the agents attached to normally close switches and ask them to open, instead of recurring to the dMS. The communication occur as shown below, as illustrated in Fig. 3.17 page 49. begin [simulationCall]attempting to Fault restoration by Agents speech Act coordination [simulationCall] Received request to open switch from [Ag_SW1] [initSim]switching OFF :Line.SW1phases =3Bus1=150rBus2=149... [simulationCall]Received request to open switch from [Ag_SW2] [initSim]switching OFF : Line.SW2 phases=3 Bus1=13 Bus2=152 Bus2=135.. [simulationCall]Received request to open switch from [Ag_SW3] [initSim]switching OFF : Line.SW3 phases=3 Bus1=18 Bus2=135 [simulationCall]Received request to open switch from [Ag_SW4] [initSim]switching OFF : Line.SW4 phases=3 .. [simulationCall]Received request to open switch from [Ag_SW5] [initSim]switching OFF : Line.SW5 .... [simulationCall]Received request to open switch from [Ag_SW6] [initSim]switching OFF : New Line.SW6 .. 78 Final Remarks 2. Another methods an algorithms can be combined with a load shedding scheme to enhances system capabilities; 3. A comprehensive and detailed relaying system together with a communication system modeling should be investigated in the future. 4. Integrate communications constraints to the model, concerning applied technology, be that : optical fibber, wirelesses access points (WAPs) or other. 5. Integrate methods to represent a qualitative study of the solutions through service quality indexes. 79 80 simulationCAll and dMS agents Main functions Appendix A simulationCAll and dMS agents Main functions Table A.1: simulationCall and dMS Agents Artifact List of Operation Function Description @OPERATION init() Initialize artifact operations @OPERATION start() Instantiate the COM OpenDSS API and Power flow @OPERATION cmd() Store OPendDSS command written in AgentSpeak @OPERATION cmdView() Show MAS specific agent behaviour @OPERATION cmdClear() Clear console @OPERATION setAgentNumber() Post processing: return number of busses @OPERATION getAgentName() Post processing: return bus name @OPERATION getBusData() Post processing: return Bus data object @OPERATION incSim() Increment simulation cycle @OPERATION inc() Increment simulation fault count @OPERATION incClear() clear inc @OPERATION openALLsw() Open switch actuator @OPERATION plotGrid() Plot grid @OPERATION getActionForZone() Actuator: pass OpenDSS command @OPERATION zoneIsolationActionFor() Actuator: pass OpenDSS command @OPERATION lineIsolationActionFor() Actuator: pass OpenDSS command @OPERATION performIsolationPF() Actuator: pass OpenDSS command @OPERATION performReconPF() Actuator: pass OpenDSS command powerflow @OPERATION callPlanAPI() Actuator: pass OpenDSS command Power flow @OPERATION getActionSwtOpen() speech action @OPERATION generatedPlan() speech action @OPERATION reconfigurationPF() Actuator: pass OpenDSS command Power flow @OPERATION performFalt() Actuator: pass OpenDSS command short-circuit @OPERATION callForIsolationZonePlan() Speech act: for isolation @INTERNAL_OPERATION void waitIngtime() Internal function to handle thread time internaly runSimulation() method: post processing power flow simulation handling objects readFalt() method: CSV file with fault analysis readLine() method: read line of text file getCordinate() method: read coordinates OpenDSS file class LinesDrawing class that implement grid drawing LinesReverseIsolation() method: restore dss files for new MAS simulation SwitchConfig() method: handle switch OpenDSS file SwitchAlloff() method: handle switch OpenDSS file SwitchConfigRestore() method: restore dss files for new MAS simulation readZones() method: read text file with zones getLineOfFalt() method: set fault line setLineOfFalt() method: get fault line simulationCAll and dMS agents Main functions 81 Table A.2: Bus Agent Artifact List of Operation Function Description @OPERATION init() Initialize artifact operations @OPERATION incSim() Increment agent fault reasoning cycle @OPERATION getBusRealName() Increment agent simulation cycle @OPERATION attachedTo() Actuator: implement speech act action @OPERATION faltCommunication() Actuator: implement speech act action @OPERATION isclosetosw() Actuator: implement speech act action @OPERATION senseCurrents() Actuator: implement sensing feature @OPERATION senseVoltages() Actuator: implement sensing feature @OPERATION busPath() Actuator: implement post processing @OPERATION incClear() clear incSim @OPERATION inc() clear inc @OPERATION getZone() Actuator: implement read zone in the environment @INTERNAL_OPERATION void waitIngtime() Internal function to handle thread time internaly SwitchRecon2() method: post processing from actuator randDouble() method: post processing from actuator readLine() method: read line of text file readResultfileVolt() method: read line of CSV file readResultfileCurr() method: read line of CSV file getNodes() method: read line of grahp file 82 simulationCAll and dMS agents Main functions Bibliography [1] CArtAgO. URL: http://cartago.sourceforge.net/. [2] cartago_by_examples. [3] Transforming the Grid to Revolutionize Electric Power in North America Transforming the Grid to Revolutionize Electric Power in North America. 2003. [4] Amir Abiri-Jahromi, Mahmud Fotuhi-Firuzabad, Masood Parvania, and Mohsen Mosleh. Optimized Sectionalizing Switch Placement Strategy in Distribution Systems. IEEE Transactions on Power Delivery, 27(1):362–370, 1 2012. URL: http://ieeexplore. ieee.org/lpdocs/epic03/wrapper.htm?arnumber=6072299,doi:10.1109/ TPWRD.2011.2171060. [5] asanti aricci. CArtAgO By Example, volume 2.0.1. 2010. [6] M.E. Baran and F.F. Wu. Network reconfiguration in distribution systems for loss reduction and load balancing. IEEE Transactions on Power Delivery, 4(2):1401–1407, 4 1989. URL: http://ieeexplore.ieee.org/lpdocs/epic03/wrapper.htm? arnumber=25627,doi:10.1109/61.25627. [7] Carole Bernon, Massimo Cossentino, and Juan Pavón. An Overview of Current Trends in European AOSE Research. Informatica, 29(4):379–390, 2005. [8] Olivier Boissier, Rafael H. Bordini, Jomi F. Hübner, Alessandro Ricci, and Andrea Santi. JaCaMo Project. URL: http://jacamo.sourceforge.net/. [9] Rafael H. Bordini, Lars Braubach, Mehdi Dastani, Amal El Fallah-Seghrouchni, Jorge J. Gómez-Sanz, João Leite, Gregory M. P. O’Hare, Alexander Pokahr, and Alessandro Ricci. A Survey of Programming Languages and Platforms for Multi-Agent Systems., 2006. [10] Rafael H. Bordini, Jomi Fred Hübner, and Michael Wooldridge. Programming Multi-Agent Systems in AgentSpeak using Jason. 2007. doi:10.1002/9780470061848. [11] Michael E Bratman, John Broome, Sarah Paul, and Jeffrey Seidman. Intention, Practical Rationality, and Self-Governance. Ethics, 119:411–443, 2009. 83 84 BIBLIOGRAPHY [12] PROFFITT BRIAN. What APIs Are And Why They’re Important. URL: http:// readwrite.com/2013/09/19/api-defined/. [13] buraq group. scada network. URL: https://www.csiac.org/journalarticle/the-efficacy-and-challenges-of-scada-and-smart-gridintegration/. [14] Hong-Chan Chang and Cheng-Chien Kuo. Network reconfiguration in distribution systems using simulated annealing. Electric Power Systems Research, 29(3):227– 238, 5 1994. URL: http://linkinghub.elsevier.com/retrieve/pii/ 0378779694900183,doi:10.1016/0378-7796(94)90018-3. [15] H.-D. Chiang and R. Jean-Jumeau. Optimal network reconfigurations in distribution systems. I. A new formulation and a solution methodology. IEEE Transactions on Power Delivery, 5(4):1902–1909, 1990. URL: http://ieeexplore.ieee.org/lpdocs/ epic03/wrapper.htm?arnumber=103687,doi:10.1109/61.103687. [16] Chiou J Chang C Su C. Variable Scaling Hybrid Differential Evolution for Solving Network Reconfiguration of Distribution Systems. IEEE Transactions on Power Systems, 2005. URL: ieeexplore.ieee.org/lpdocs/epic03/wrapper.htm?arnumber= 1425559,doi:10.1109/TPWRS.2005.846096. [17] Gordon R. Clarke, Deon. Reynders, and Edwin Wright. Practical modern SCADA protocols DNP3, 60870.5 and related systems. Elsevier, 2004. [18] Consortium of Electric Infrastructure to Support a Digital Society (CEIDS). Overview of IntelliGrid Architecture. URL: http://www.intelligrid.info/ IntelliGrid{_}Architecture/Overview{_}Guidelines/Frm{_}Overview. htm. [19] Edvard Csanyi. Important Primary Distribution (Radial and Loop) System Considerations. URL: http://electrical-engineering-portal.com/author/edvard. [20] Distribution System Analysis Subcommittee. IEEE 123 Node Test Feeder Letterhead. [21] Don Von Dollen, Joe Hughes, and Paul Haase. INTELIGRID : A Smart Network of Power. EPRI Journal, page 32, 2005. URL: http://mydocs. epri.com/docs/CorporateDocuments/EPRI{_}Journal/2005-Fall/ 1012885{_}IntelliGrid.pdf. [22] Roger C Dugan. Reference Guide The Open Distribution System Simulator (OpenDSS). 2013. [23] Venizelos Efthymiou, George Huitema, and et. al. The Digital Energy System 4.0. ETP SG, page 72, 2016. URL: http://www.smartgrids.eu/documents/ BIBLIOGRAPHY 85 ETP{%}20SG{%}20Digital{%}20Energy{%}20System{%}204.0{%}202016. pdf. [24] Electric Power Research Institute. Simulation Tool – OpenDSS. URL: http:// smartgrid.epri.com/SimulationTool.aspx. [25] European Technology and Innovation Platform (ETIP). National and Regional Smart Grids initiatives in Europe. European Technology and Innovation Platform (ETIP), 2(Second Edition):52, 2016. URL: http://www.smartgrids.eu/documents/ ETP{%}20SG{%}20National{%}20Platforms{%}20Catalogue{%}202016{%}20edition. pdf. [26] European Technology Platform. Smart Grids European Technology Platform. URL: http: //www.smartgrids.eu/. [27] M. Ferdowsi, A. Lowen, P. McKeever, A. Monti, F. Ponci, and A. Benigni. New monitoring approach for distribution systems. In 2014 IEEE International Instrumentation and Measurement Technology Conference (I2MTC) Proceedings, pages 1506–1511. IEEE, 5 2014. URL: http://ieeexplore.ieee.org/lpdocs/epic03/wrapper.htm? arnumber=6860997,doi:10.1109/I2MTC.2014.6860997. [28] T. Finin. The KQML Language. URL: http://www.csee.umbc.edu/csee/ research/kqml/papers/desiderata-acl/section3.4.html. [29] Tim Finin, Richard Fritzson, Don McKay, and Robin McEntire. KQML as an agent communication language. In Proceedings of the third international conference on Information and knowledge management - CIKM ’94, pages 456–463, New York, New York, USA, 1994. ACM Press. URL: http://portal.acm.org/citation.cfm?doid=191246. 191322,doi:10.1145/191246.191322. [30] FIPA. FIPA Agent Communication specifications, 2016. URL: http://www.fipa.org/ repository/aclspecs.html. [31] FIPA TC Agent Management. FIPA ACL Message Representation in XML Specification, 2002. URL: http://www.fipa.org/specs/fipa00071/SC00071E.html. [32] project graphstream. Dijkstra’s Shortest Path Algorithm. URL: http://graphstreamproject.org/doc/Algorithms/Shortest-path/Dijkstra/1.0/. [33] Guozheng Han, Bingyin Xu, and Jiale Suonan. IEC 61850-Based Feeder Terminal Unit Modeling and Mapping to IEC 60870-5-104. IEEE Transactions on Power Delivery, 27(4):2046– 2053, 10 2012. URL: http://ieeexplore.ieee.org/lpdocs/epic03/wrapper. htm?arnumber=6293924,doi:10.1109/TPWRD.2012.2209685. 86 BIBLIOGRAPHY [34] Barbara Hayes-Roth and Frederick Hayes-Roth. A Cognitive Model of Planning*. Cognitive Science, 3(4):275–310, 10 1979. URL: http://doi.wiley.com/10.1207/ s15516709cog0304{_}1,doi:10.1207/s15516709cog0304{\_}1. [35] Peter G. Hinman. Fundamentals of mathematical logic. A.K. Peters, 2005. [36] Wilfrid. Hodges. A shorter model theory. Cambridge University Press, 1997. [37] Ian Sommerville. Centralized Control, 2008. URL: https://ifs.host. cs.st-andrews.ac.uk/Books/SE9/Web/Architecture/ArchPatterns/ CentralControl.html. [38] Diego Issicaba, João Abel Peças Lopes, Mauro Augusto da Rosa, and Senior Researcher. Block-Oriented Agent-Based Architecture to Support the Power Distribution System Operation System Design and Environment Model. 2013. [39] J. F. Hübner, O. Boissier, and A. Ricci R. Kitio. Instrumenting multi-agent organisations with organisational artifacts and agents: “giving the organisational power back to the agents. Journal of Autonomous Agents and Multi-Agent Systems, 20(3):369–400, 2010. [40] M.A. Kashem, V. Ganapathy, and G.B. Jasmon. Network reconfiguration for load balancing in distribution networks. IEE Proceedings - Generation, Transmission and Distribution, 146(6):563, 1999. URL: http://digital-library.theiet.org/content/ journals/10.1049/ip-gtd{_}19990694,doi:10.1049/ip-gtd:19990694. [41] Abdollah Kavousi-Fard, Taher Niknam, and Mahmud Fotuhi-Firuzabad. A Novel Stochastic Framework Based on Cloud Theory and-Modified Bat Algorithm to Solve the Distribution Feeder Reconfiguration. IEEE Transactions on Smart Grid, 7(2):1– 1, 2015. URL: http://ieeexplore.ieee.org/lpdocs/epic03/wrapper.htm? arnumber=7123178,doi:10.1109/TSG.2015.2434844. [42] Johan Kensby and Rasmus Olsson. Building Automation Systems Design Guidelines for Systems with Complex Requirements. [43] Edwin Bernard Kurtz, Thomas M. Shoemaker, and James E. (Engineer) Mack. The lineman’s and cableman’s handbook. McGraw-Hill, New York, 9th edition, 1997. [44] Matheus Lopes. M. IEEE123testfederForAR, 2016. URL: https://github.com/ matheusmlopess/matheusmlopess/blob/master/IEEE123testfederForAR. [45] Ahmad Reza Malekpour, Taher Niknam, Anil Pahwa, and Abdollah Kavousi Fard. Multi objective Stochastic Distribution Feeder Reconfiguration in Systems With Wind Power Generators and Fuel Cells Using the Point Estimate Method. IEEE Transactions on Power Systems, 28(2):1492, 5 2013. URL: http://ieeexplore.ieee.org/lpdocs/epic03/ wrapper.htm?arnumber=6338327,doi:10.1109.2012.2218261. BIBLIOGRAPHY 87 [46] Stephen D. J. McArthur, Euan M. Davidson, Victoria M. Catterson, Aris L. Dimeas, Nikos D. Hatziargyriou, Ferdinanda Ponci, and Toshihisa Funabashi. Multi-Agent Systems for Power Engineering Applications—Part I: Concepts, Approaches, and Technical Challenges. IEEE Transactions on Power Systems, 22(4):1743–1752, 11 2007. URL: http://ieeexplore. ieee.org/lpdocs/epic03/wrapper.htm?arnumber=4349106,doi:10.1109/ TPWRS.2007.908471. [47] Stephen D. J. McArthur, Euan M. Davidson, Victoria M. Catterson, Aris L. Dimeas, Nikos D. Hatziargyriou, Ferdinanda Ponci, and Toshihisa Funabashi. Multi-Agent Systems for Power Engineering Applications—Part II: Technologies, Standards, and Tools for Building Multi-agent Systems. IEEE Transactions on Power Systems, 22(4):1753–1759, 11 2007. URL: http://ieeexplore.ieee.org/lpdocs/epic03/wrapper.htm? arnumber=4349107,doi:10.1109/TPWRS.2007.908472. [48] Hugh J. McCann and M. E. Bratman. Intention, Plans, and Practical Reason. Noûs, 25(2):230, 4 1991. URL: http://www.jstor.org/stable/2215590?origin= crossref,doi:10.2307/2215590. [49] Elliott. Mendelson. Introduction to mathematical logic. CRC Press, 2010. [50] Alexandre Mendes, Natashia Boland, Patrick Guiney, and Carlos Riveros. Switch and TapChanger Reconfiguration of Distribution Networks Using Evolutionary Algorithms. IEEE Transactions on Power Systems, 28(1):85–92, 2 2013. URL: http://ieeexplore. ieee.org/lpdocs/epic03/wrapper.htm?arnumber=6203628,doi:10.1109/ TPWRS.2012.2194516. [51] Jefferson Morais, Yomara Pires, Claudomir Cardoso, and Aldebaro Klautau. An Overview of Data Mining Techniques Applied to Power Systems. [52] Moxa Newsletter. Power Automation. URL: http://www.moxa.com/Event/Sys/ 2009/IEC{_}61850-3/Application.htm. [53] Muaz Niazi and Amir Hussain. Agent-based computing from multi-agent systems to agent-based models: a visual survey. Scientometrics, 89(2):479–499, 11 2011. URL: http://link.springer.com/10.1007/s11192-011-0468-9,doi: 10.1007/s11192-011-0468-9. [54] James. Northcote-Green and Robert Wilson. Control and automation of electrical power distribution systems. Taylor & Francis, 2007. [55] Ricardo Pastor, Dag Eirik Nordgård, and et. al. Progress and Challenges on Asset Management for Future Smart Grids WORKING GROUP 1: NETWORK OPERATION AND ASSETS 2016. ETP SG, page 16, 2016. URL: http://www.smartgrids.eu/documents/ ETP{%}20SG{_}Asset{%}20Management{_}White{%}20Paper{_}2016.pdf.