/
AbstractThis paper professes how the SimAgents[1]migrating agent syste AbstractThis paper professes how the SimAgents[1]migrating agent syste

AbstractThis paper professes how the SimAgents[1]migrating agent syste - PDF document

yoshiko-marsland
yoshiko-marsland . @yoshiko-marsland
Follow
400 views
Uploaded On 2016-07-14

AbstractThis paper professes how the SimAgents[1]migrating agent syste - PPT Presentation

FIGURE 1 Semantic gaps between application domain ID: 403606

Share:

Link:

Embed:

Download Presentation from below link

Download Pdf The PPT/PDF document "AbstractThis paper professes how the Sim..." is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.


Presentation Transcript

AbstractThis paper professes how the SimAgents[1]migrating agent system bridges semantic gaps, particularlyas encountered in modeling and simulation of flows. Sim-Agents provides an underlying execution model true to thedomain view of order and structure, thereby providinggreater programming ease in a distributed environment.Emphasized are autonomicity among distributed entities,parallel processing, open-endedness, intuitive decomposi-tion and interactive simulation steering. An implementedcardiovascular model addresses semantic gaps demon-strating development flexibility and functionality. 1.0 IntroductionAgent-based technologies are one of the most impor-tant computing shifts in recent years. There have beenmany environments and languages developed to facilitatedistributed and parallel processing. Ease of programminghas remained a challenge in such systems. We contendthat this paradigm offers solutions for bridging semanticgaps between program code and natural domain throughmore inherent programming approaches. SimAgents[1] is a fully distributed, migrating agentsystem implemented in Java[2]. The potential of agent-based systems for modeling and simulation domains hasbeen an application area largely overlooked. Agent func-tionality employed is especially suitable for modeling andsimulation of domains having distributed entities, autono-mous flow patterns and dynamic reactive events. Theproblem has characteristics and behaviors of multiple,integrated yet decentralized sub-systems with multiplecontrolling properties. Overlaid flow properties are oftenevident such as bifurcations and merges, pressure waves,and reactive flow mechanisms. This class of simulationmodels has previously been difficult to achieve in distrib-uted computing. The SimAgents computational modelclosely corresponds to characteristics of autonomous flow-ing entities. A high degree of expressiveness yet simplic-ity results from close alignment of computing processes toactual domain behaviors. Consequently, such a system is anatural solution for this class of modeling and simulationproblems. In the paper, we first explore the philosophy ofsemantic gaps in program code. An overview of the Sim-Agents programming model is then presented. An imple-mented cardiovascular model reflects semantic problems addressed by SimAgents. Different program models arecompared, relative to semantic issues. Related work andperformance is discussed. Finally, we conclude with howthis agent framework inaugurates new and innovativeways to manage simulation complexity.2.0 Semantic GapsSemantic gaps exist in the form of a lack of affinityto the original domain in computational order, in misrepre-sentation of dynamics and inaccurate contextual abstrac-tions. Programming must always be conducted withinconstraints of the host architecture and of the processingparadigm, usually not aligning with the natural domainstructure. Semantic gaps are encountered through thetranslation process of actual domain to program code.There is a disassociation from natural behavior to programcode. These aspects leave the programmer with a difficultdevelopment environment and limitations in representa-tion management of complex problems. Figure 1 illus-trates characteristics encountered as a modeling processmoves from natural domain to mathematical model toactual program code. Typically, flow problems are forcefully modeled inarchitectures that do not assimilate the natural system. Anartificial representation forces computations with the goalof deriving desired results. The order or determiners ofactions often do not align with the natural behavior. Com-ponent representation is usually somewhat isolated anddoes not reflect interactions with other sites. Sequentialfor-loop structures of fixed computations and behaviorsdoes not adequately address the semantics of complicatedflow problems. At the other extreme of computing archi-tecture, synchronously controlled mesh of parallel compu-tations likewise do not accurately depict autonomousbehaviors. Environment characteristics limit representa-tional capabilities and result in difficulties of program-ming, debugging, and understanding. In order toaccurately depict the natural behavior of flow problems,clearly semantic gaps must be bridged between the naturaland computational systems. To bridge semantic gaps, theunderlying execution model needs to be true to the domainview of order and structure. Bridging Semantic Gaps with Migrating Agents Susan L. Mabry and Lubomir F. Bic aWhitworth College University of California Spokane, Washington Irvine, California smabry@whitworth.edu bic@uci.edu FIGURE 1. Semantic gaps between application domain structure and program code.3.0 The SimAgents SystemSimAgents consists of an AgentEngine and of anApplication Development Framework. A flow-basedtopology affords natural order of control and communica-tion. Context sensitive agents are responsive to bothregional location and the current state of interaction. Pow-erful multi-threaded agent handlers implicitly manageagent migrations. The programmer is shielded frommigration details, from distributed physical locality andfrom distributed communication protocols. Java structureand code concepts further encourage a programmableenvironment. 3.1 Programming ModelSimAgents is comprised of autonomous migratingagents and cooperative stationary regions. Objects repre-senting regional entities are mapped to distributed networkhost sites. Regions retain local states, properties and con-duct local behaviors. Agents flow along paths or itinerar-of regions, performing actions and coordinating localbehaviors. This flowing movement and related actions atstationary regions are analogous to entities movingthrough their own natural physical domains. The agent-based system can be thought of as a coordinating group ofagents working in a framework of spatially orientedregions operating with their own individual agendas. Agents are task oriented active objects, carryingboundary value objects and coordinating regional meth-ods. Individual agents migrate through the logical net-work of regions according to their own behavior and tasks.Agents are context sensitive, detecting their physical loca-tion or an event, and acting accordingly. Regions are stationary, passive objects comprised ofstate variables and local methods. One or more regionsmay reside on a physical processor host. In the partition-ing scheme, regions are organized by spatial properties orby behavior roles. Local behaviors are invoked by visitingagents. Visiting agents can acquire computed values andcarry them forward to other regions. Communication andstate changes are transmitted by visiting agents to regionsand picked up by other agents as they traverse the region,much as in the natural course of events. path is a name for a predefined series of orderedlinks between regions. An agent is simply fired onto apath. Because of the path abstraction, it automaticallyidentifies properties of the path flow to travel and actupon. Paths are normally a static configuration, assignedwhen the system is initialized. Paths provide a means ofordered agent migration and another layer of abstraction inthe form of aggregates of regions or behaviors of agents.Thus, functionality and behavior may be coupled to well-defined flows. An itinerary consists of an explicit desig-nation, also ordered, of one or more regions that an agentis to traverse. An itinerary may be assigned dynamically,“on-the-fly” without regard to a territorial flow. Figure 2depicts an abstract view of agent migration amongregions. An agent is shown following an implicit path Xalong regions. Another agent is shown following anexplicit itinerary from region A to region D. Yet anotheragent has been fired, concurrently, from the user interfaceto region B.FIGURE 2. Path and Itinerary traversals of agents among framework of regions. A logical network distinct from the physical networkis established providing the perspective from which theuser views. A logical network consists of regions andpaths of regions, of which agents will travel. Once an ini-tial configuration is declared, the user is aware of logicaldistribution of objects but not of physical mappings andneed not be concerned with establishing communicationchannels or with tracking distributed locations. Figure 3illustrates the separation of logical network and underlyingnetwork of host processors.FIGURE 3. Logical Network over Network of Physical Host Processors EntitiesBehaviorEventsTimeOrderNaturalDomainVariablesEquationsFunctionsTimestepsOrderMathematicalModelStructuresOperandsOperatorsSyntaxControlProgramCode GCBFDE UserInterface X AgentsRegionsPath linksItinerary route Y Agents traversing regions by path or itineraryLogical Network of RegionsAgentEngineJVM on each processorHost ProcessorNetwork Dynamic agent composition is accomplished with afire statement. Fire invokes, initializes, registers and putsinto motion a new agent. When an agent is fired, it isgiven either a path or itinerary to follow. Although anagent follows a given path or itinerary without interven-tion, it is also possible to explicitly change an agent’s nav-igation with a jump statement. Jump will halt the agent’scurrent execution, capture state, migrate to the targetregion, restore its state and resume execution. As in most mobile agent systems, autonomousmigration provides the ability for each object to navigatethrough the network according to its own behavioral con-text. Distinctive in SimAgents is the aspect of using pathsand navigation as another layer of abstraction, facilitatinganother dimension as a structuring instrument. Contextsensitive agents perform local computations or actions rel-ative to their perceived location and then are implicitlytransported to the next region in its given path or itinerary.Navigational autonomy features support flexibility of adynamically changeable environment. Firing of agentsduring runtime, without halting normal execution, is par-ticularly effective for interactive simulations, providingtwo forms of simulation steering. Internal open-loopsteering reacts to internal state changes and is accom-plished through dynamic firing of an agent or of multipleagents upon a detected condition at a region. Externalevent steering reacts to events introduced from a userinterface. 3.2 AgentEngine The AgentEngine, transparent to the user/developer,administers the runtime infrastructure. Key to the pro-gramming environment are agent and region functional-ities defined in the AgentEngine. Subordinate applicationclasses inherit all properties and methods of their respec-tive AgentEngine superclasses. Distinctive SimAgentsfeatures enabled are automatic agent migration, dynamicsimulation steering, multiple location independent regis-tries, and territorial or itinerary navigations. Most prominent qualities of Java used are JavaRemote Method Invocation (RMI), object serialization,multi-threading, classloaders and reflection. Traditionalobject-oriented concepts carry heavily into SimAgentsincluding inheritance, encapsulation and polymorphism.Important enhancements provided by SimAgents includeimplicit agent migration mechanisms found in the agenthandlers, AgentReceiver and AgentSender. Migrationoccurs region by region. Classes are implemented as mul-tithreaded objects, managing incoming and outgoingagents, synchronizing their processing, determining targetdestinations and handling transport. Figure 4 shows theobject hierarchy for the AgentEngineas it relates to theJava Class Library and to application classes defined bythe developer. The middle layer encompasses the Agen-tEngine, inheriting fundamental classes from standardclass libraries. Application classes portray model entities,inheriting functionality from AgentEngine classes.FIGURE 4. Object hierarchy of AgentEngine to Java Class Libraries and Application Classes4.0 Map Cardiovascular Model to SimAgentsThe cardiovascular system is a prime example of aclass of problems for which SimAgents is designed to sup-port. The basic cardiovascular model implemented inSimAgents has been adapted from previous work,CVSys[3]. The domain has inherently parallel and distrib-uted physiological components with multiple asynchro-nous inputs. Circulatory flow is modeled as a bio-fluid,mechanical full-body cardiovascular modeling systemwith pulsatile flow. Nonlinearization is discretized overregional segmentations and time steps. The model sup-ports the premise made by Karlsson[4], stressing that anyeffort at modeling the arterial tree should resolve charac-teristic features such as distributed resistance and the abil-ity to incorporate local variations in segmentalcompliance. After leaving the heart, flow is pulsatile andbifurcates to smaller, tapering vessels and to distributedperipheral regions, through peripheral organ beds, thenmerges back into small venous vessels, continues merginginto larger venous vessels until returning to the right heart.Reactive mechanisms and autoregulation further compli-cates the domain. There are multiple dimensions of deter-mining factors affecting system dynamics and rates.Territorial regions play different participatory roles. The circulatory physiology is implemented as aseries of heart chambers, arterial regions, venous regions,distributed and parallel organ bed perfusions with arterioleregions and venule regions. Figure 5 depicts the decom-position of physiology into computational regionsAgentsrepresenting blood flows, migrate from one region toanother along emanating paths analogous to natural bloodflow[5].Given the assumption that an Artery class has alreadybeen defined that extends the AgentEngine Region super-class. Upon system configuration, multiple instances ofthe Artery class would be instantiated and assigned uniquenames to represent the many arterial regions. A Configu-ration file maps local regions to physical processors withstatic links, thereby establishing a logical network.Blood flow is converted into agent behavior. Oncethe agent has arrived at a region such as aorta, coordina-tion statements within the the arterial agent class are con-ducted. Further migration is handled implicitly handledand subsequent coordination statements at those regionsconducted. Thus, the agents flow along paths or desig- Java Class Library SimAgents Agent Engine Application Classes nated itineraries, coordinating local behaviors among sta-tionary regions. In our model, multiple types of flows areevidenced such as forward circulatory flow of blood, pres-sure waves, and adjustment signals such as baroreflex orcardiopulmonary responses. Flows are all programmedinto migrating agents, carrying behaviors specialized fortheir particular actions. Simulation steering is evidencedthrough numerous dynamic firings of agents. Internalsteering is accomplished by autonomous agents enactingreactive compensatory mechanisms over the layer of basiccirculatory flow. External steering allows reactions toevents introduced from a user interface, without haltingthe system during runtime execution. Numerous types offlows can be overlaid onto such a system because of theopen-ended, extensible qualities of migrating agents. FIGURE 5. Basic closed loop circulatory physiology partitioned as stationary Regions in SimAgents.In the resulting implementation, overlaid pulsewaves are reflected as agents traverse region to region.Changing heart rates are transmitted via agent migrationand reflected throughout the cardiac cycle. A graph exam-ple of a resultant pressure wave is shown for a specificvessel region over a given time in Figure 6.FIGURE 6. Pressure wave for vessel region over time.5.0 Programming Model ComparisonsThe sequential approach does not support distribu-tion, concurrency and distributed controls over processing,hence it cannot preserve a natural order of events.Although code is certainly more compact and containedcleanly within for-loop iteratives, it has considerablesemantic gaps from the original application domain. Withincreased model complexity such limitations severelyimpact representative capability and management of com-plexity. The application is fit in a box of processing con-structs rather than aligning processing to the natural orderof domain events. In comparing message-passing with an agent-basedSimAgents, major areas of differences include (1) anagent-oriented approach versus a machine-orientedapproach (2) concept of a logical network and (3) pro-grammability. Agent-oriented versus Machine-oriented. Mostobvious differences lie in the fact that SimAgents controlsand actions are agent-oriented, whereas message-passingmachine-oriented. In the agent-oriented approach,design is centered around agents visiting stationaryregions, perceiving and reacting to their location. Henceactual entity roles are critical to design. Agents enact nat-ural flows with various driving forces, having a closeaffinity to natural flow. In a machine-oriented approach,the computational mapping must be according to machine.The developer must even think in two levels: machine andthen associated region. Obviously, because such a designmust revolve around machine configurations rather thanproblem domain, the machine oriented approach loosesthe ability to bridge semantic gaps. Logical network. A logical network of regions inSimAgents provides transparency from the physical net-work of processors. Logical regions coincide in a one-to-one basis with stationary domain regions. Because ofclear alignment of regions and agents to specific computa-tional processes and entity properties, reconfiguration iseasily accomplished without affecting other region oragent class codes. There are no processor communicationprimitives in the SimAgents code, rather actions are col-laborated with calls from the agent upon that agent’s visitto a region. Message passing assumes one processmapped to one processor. It is a static arrangement withno notion of a logical network. If more than one region isto be mapped to a processor, related computation must beincluded in the single process executing on that physicalprocessor. A change in configuration requires major re-programming. There is no notion of movement, only ofmessaging between processors. In message-passing, allactions are coordinated by explicit send and receive com-munication primitives. Data is formally sent and receivedvia messages. Programmability. The open-endedness of migrat-ing agents provides a natural solution for conditionalbranches carried out in autonomous flows. The branchingflow is processed with a branching agent and resultingproperties are carried with the flow to the receiving region.SimAgents utilizes its flow-orientation to enforce synchro-nization. SimAgents is easier to program largely becauseof clear decomposition into agents and regions, congruent Veins Arteries Heart & Lung Venules Organs Arterioles with the natural system. The concept of using flow andimplicit mechanisms to reinforce order is consistent withour primary goal of providing an underlying executionmodel true to domain view of order and structure. In mes-sage-passing, the programmer is immersed into decipher-ing between processors and entity functions. Dealing withdistributed communications and physical processor map-pings divert attention from the domain and complicatesprogramming drastically. Management of conditionalflows is more difficult to implement. Changes necessitatesignificant reconfiguration. The environment is simplymore difficult to conceptually envision the domain and toprogram the application. 6.0 Related Work and Performance The mobile agent discipline has emerged from com-bining concepts of the artificial intelligence and distrib-uted computing communities. Focus of these systemshave primarily been as internet service providers, informa-tion retrieval and filtering, network and resource manage-ment. Most have similar purpose and present largelycommon functionality such as AgentSpace[6],Aglets[7],Voyager[8], Telescript[9], Mobile Object Work-bench[10]. A few have somewhat more general applica-tion such as UCI-Messengers[11] and Agent-Tcl[12].SimAgents is especially designed to address the largelyunexplored arena of modeling and simulations. Althoughmany distributed and parallel environments have focusedon model and simulation applications, it is our contentionthat functionalitiesfound in migrating agents facilitate adynamic, distributed, open-ended execution model, capa-ble of processing and controlling threads analogous to thenatural domain. Because the code is more closely alignedwith the natural domain, programming is more inherentand extensible. The current version of SimAgents has not been tunedfor performance and suffers high overhead in the agent fir-ing operation. However, the performance numbers arestrong enough to suggest that a combination of optimiza-tions that are currently being implemented will make Sim-Agents competitive in performance while retaining itsdesign principles.Comparisons with other distributed systems over dif-ferent network speeds have been made using a simplebifurcating flow problem[1]. Figure 7 displays relativespeedup demonstrated by SimAgents and MESSEN-GERS-C[13]. MESSENGERS-C has been optimizedwith pre-compilation of individual Messengers to C andperformance in both systems is limited by the degree ofparallelism and data dependencies of the simple problem.Nevertheless, SimAgents demonstrated a respectable com-parison given the lack of current optimizations.FIGURE 7. Relative Speedup of SimAgents and MESSENGERS VersionsOn the full cardiovascular testbed problem, the fol-lowing results in Figure 8 were demonstrated in speedupover 100 MB/s Fast Ethernet connections. In the case of asteady state circulatory model without dynamic responses,a complete heart cycle is represented by 80,000 opera-tions. Experiments with internal open-loop reflexresponses and external event entries after the initial stabili-zation also prove interesting, although difficult to interpreteffects of the varying level of computations and process-ing performance.FIGURE 8. Speedup for SimAgents configuration upon 1, 2, 4, and 8 processorsAgent Migration shown in Figure 9, includes statecapture, time in dispatchQueue, serialization, transporttime in arrivalQueue, deserialization and restart. The fireoperation is significantly more costly than basic migration,reflecting roughly a twice the overhead costs. Fireincludes agent object instance creation and migration time. FIGURE 9. Migration time per agent size.The proven performance of interpreted bytecodesand accomplished performance is deemed reasonable for 0.20.40.60.81.21.412345678n ProcessorsSpeedup S(n) = T(n)/T(1) SimAgents 100MB/s MESSENGERS 10MB/s SimAgents 10 MB/s MESSENGERS 10 0 MB/s 0.51.52.53.5 40k 80k 120k 160k 200k 240kOperationsSpeed-up 2CPUs 4CPUs 8CPUs 100200300Agent Size (in Bytes)Time (Milleseconds) 10 MB/sNetwork 100 MB/sSwitch 8,192 16,384 29,330 Bytes the designated purposes of SimAgents. While for timecritical systems this approach is clearly not effective, it issignificantly faster than pure interpreted approaches andwith proposed optimizations, SimAgents is expected to behighly competitive in performance with other distributedsystems. 7.0 Conclusion In this paper, we have defined typical semantic gapsand how SimAgents addresses issues with migratingagents. It has long been recognized that cardiovascularmodeling would greatly benefit from distributed, parallelprocessing. Clearly, sequential processing does not cap-ture the distributed demeanor of the cardiovascular systemParallel processing as with massively parallel processingapproaches have been used to improve performance; how-ever such approaches do not address the autonomous con-trol flows found in such problems or allow a naturaldecomposition of the problem. Although distributed pro-cessing is desirable for a more natural depiction of thedomain, traditional distributed approaches present both adifficult programming environment and obstacles in han-dling region-to-region differential equations of flow prob-lems. These aspects are addressed through application ofthe agent-based model and through features of SimAgents.Modeling aspects of a cardiovascular model were directlyenabled by an agent infrastructure included multipleautonomously controlled flows, distributed organ perfu-sion and short-term compensatory mechanisms in an inter-active, asynchronous manner without halting the runtimesystem. Features work together to preserve the correctness ofthe simulation model and thereby bridge semantic gaps.New dimensions of abstraction in a migrating-agentapproach opens doors for more natural representation.Extensibility qualities include a very modular system withencapsulation, inheritance, abstraction, reusability andinformation hiding; which thereby provide means to con-trol complexity, also contributing to true representation ofa domain. An ease of programming allows the modeler tofocus on accuracy of a model implementation. Unlikeother environments, application development takes on anintuitive quality in this distributed environment becausethe agent-based paradigm is analogous to the naturaldomain order. Through various evolutions in distributed and paral-lel processing, ease of programming has remained a chal-lenge. A migrating agent framework presents a functionalcomputational order and accurate decomposition intomoving and stationary structures, resulting in narrowing ofsemantic gaps between the natural and virtual world.Functionality and a simple development environment actto bridge semantic gaps. Through decreasing problems ofsemantic gaps, we increase the usefulness of a system andcreate a more easily programmable distributed environ-ment.References[1] S. Mabry. SimAgents: Migrating Agents for Simula-tion Models. PhD Dissertation, Department of Informa-tion and Computer Science. University of California,Irvine. March, 1999.[2] C. Horstmann and G. Cornell. Core Java, Volumes Iand II. Sun Microsystems, Inc. Sun Microsystems Press.1998.[3] S. Mabry, L. F. Bic and K. M. Baldwin. CVSys: ACoordination Framework for Dynamic and Fully Distrib-uted Cardiovascular Modeling and Simulation. Proceed-ings of Biomedical Sensing and Imaging Technologies.1998.[4] M. Karlsson. Modeling and simulation of the humanarterial tree - a combined lumped-parameter and transmis-sion line element approach. Computer Simulations in Bio-medicine. Eds. H. Power and R. T. Hart. ComputationalMechanics Publications, U.K. 1995.[5] S. Mabry, S. Rodriquez and J. Heffernan. IntegratedMedical Analysis System (IMAS). In Proceedings ofWSC 97. December, 1997. [6] A. Silva, M.M.da Silva and J. Delgado. An Overviewof AgentSpace: A Next-Generation Mobile Agent Sys-tem. Proceedings of Mobile Agents Workshop. Springer .1998.[7] IBM Tokyo Research Laboratory. The Aglets Work-bench: Programming Mobile Agents in Java, 1997.[8] ObjectSpace: Voyager Core Package Technical Over-. 1997.[9] J. White. General Magic, Inc. Mobile Agents WhitePaper. 1994.[10] M. Bursell, R. Hayton, D. Donaldson and A. Herbert.A Mobile Object Workbench. Proceedings of MobileAgents Workshop. Springer. 1998.[11] M. Fukuda, L. F. Bic, M. Dillencourt and F. Mer-chant. Distributed coordination with Messengers. Scienceof Computer Programming, 31(2), 1998. Special Issue onCoordination Models, Languages, Applications.[12] R. S. Gray. Agent Tcl: A flexible and secure mobile-agent system. In Proceedings of the Fourth Annual Tcl/TkWorkshop (TCL 96), 1996.[13] C. Wicke, L. Bic, M. Dillencourt and M. Fukuda.Automatic State Capture of Self-Migrating Computationsin MESSENGERS. In Proceedings of Mobile AgentsSecond International Workshop, MA’98. 1998.