E-Business ModelsEssay Preview: E-Business ModelsReport this essayFront Page — Deliverable NÐo: 6Deliverable Summary SheetExecutive SummaryPurpose of the projectApproach, assumptions and goalsImplementation language and supportIntroductionAgents – what are they?The promiseThe reality and basic infrastructureDocument contentsCross-reference: sections versus deliverablesIntroduction to Agent Modeling and SimulationTwo examplesSugarscape4.1.1Agents of the SSC systemEmergency Transport4.2.1Agent Communication Language4.2.2Agent Interaction Protocols4.2.3Simulation Setup – subscriptions of data4.2.4Simulation acts – negotiation for resources4.2.5Need to plan and focus on certain goals — motivationDifferences – SSC versus EmTMozartDesign of a Multi Agent PlatformBase ArchitectureAgent Base EnvironmentExtending a Base AgentModeling Simple AgentsRoles in SSC in respect to Basic ArchitectureUse of the ABE in SSCSummaryFirst steps towards distributionFederations of agentsFederation setupSupport for SimulationsProgrammable BehaviorConcrete Real World SimulationParallelisation and DistributionUsing the Simulation EnvironmentConcrete StudiesWeb Word of Mouth – a detailed exampleAppendixAgent Base EnvironmentReferencesExecutive SummaryThe purpose of this document is to provide a self-contained description of the work related to the iCities project work-package number 3 (WP3), “Multi Agent System Design, Implementation and Experimentation”. It is supposed to be a direct correspondence between the deliverables (reports) and the sections in this document. A cross-reference between sections and deliverables (some of them do no exist yet, but are still supplied as empty sections) is given in the introduction section.
Purpose of the projectThe purpose of the iCities project is to add to the “understanding of the evolution of the Web” and to “add to the understanding of agent based computational modeling”. In WP3 we focus on the latter part, based on the requirements of the web scenarios (models) being developed in other work-packages.
Approach, assumptions and goalsThe task is to develop and to perform experiments with a platform or an environment for agent based simulation – in particular simulation of city-like formations on the web. The agents are assumed to be the conceptual entities, within the models, that perform some sort of actions, typically info-habitants of the Web. So what we want to study is the emergent behavior in a (simulated) web caused by the individual actions of the agents.
Implementation language and supportThe simulation platform is being implemented on top of the Mozart [7] system, which features a multi-paradigm language with support for distribution and data-synchronization. One of the goals of the project is to support large scale simulations in the scale of 10K agents. To cope with such large numbers it is expected that simulations will be run on multiprocessor machines or to be distributed over a cluster of machines.
IntroductionThe agent field has become increasingly popular in areas of research, development and applications. Because of the wide variety of directions pursued in these areas it is important do define what we mean by what we refer to as an agent. In fact the “agent-field” is not just one field, but several fields are more or less related. Fields that come to mind are: (1) Information Collection and Information Management, (2) Electronic Commerce, (3) Problem Solving, (4) Simulation, (5) Knowledge Sharing, (6) Internet, (7) Mobility and Processes, (8) Demons and Objects – just to name a few. To categorize these apples, oranges and the occasional carburetor being thrown in, is a topic in itself. (1-4) are application fields, (5) a sub-field that may be studied in its own right, (6) enabling technology, (7) a property and (8) being implementation concepts, abstractions and techniques. Add to this the different aspects of realization and the picture is getting somewhat complex.
Agents – what are they?So what meaning do we put into the notion of an agent and how does that notion relate to the iCities project. An agent is a metaphor [10], for a conceptual entity that may be represented and implemented as some simple data structure with access functions or as an object maybe with its own thread. The entity may have some of the following properties; autonomous, reactive or proactive – sometimes refereed to as (using Distributed AI vocabulary) a weak agent. A strong agent is often ascribed mental abilities such as beliefs, attitudes and means for re- evaluating and re-focusing their goals. This means that a powerful programming language and the programming constructs of
A new toolkit of “smart agents” was developed to use the new technology to assist the development of C++, but with so specific and specific tools we were unable to incorporate the C++ language into the framework and the tools were not designed specifically for C++.This is a problem. We have not written any of our code yet as the standard C++ language (see our blog post for updates of our methodology) however there is a clear sense that we are only doing so to help the C++ developers become more and more proficient with the language.We are making it possible for others to learn the C++ languages at a level that the average person with no experience in C++ is unable to get (as a community at large) by using C++. If we were to write C++ with the language that the average person is able to understand, our language as C++ would not be used at all, it would be too large for a given community to be used.It is also clear to me from our blog post that what is needed is a language that is strong in its approach-development framework, but that does not mean that we make use of C++ for C++ programming. We do not. This can be pointed out by a number of community members discussing a “C++ compiler”. Here is an overview of my approach to “C++ for C++ programmers” and how I implemented that language.We did our first C++ compiler. This software was developed by me for my C++ project. While the project had to be maintained locally in order to support all C++ languages (including GCC), I still maintained the software. I built on the principles that we have described in this post. It was not by me. It was only my friend James (who is still a member of the C++ community ) that created the C++ compiler with the goal to help other C++ programmers develop at a high level a compiler that includes a strong C++ language. It was not by another. Not by the other. It was by the people that inspired it for such a long time. James and I knew it was better to put our energy and skill into trying to make it better, but we needed and had to have a C++ interpreter and a C library to do the work. James would build and maintain those C++ projects on Github with me. We had an easy way for many of the people that shared these goals to build or maintain their C++ projects on this system. There were others of us working on the project with an unknown collaborator. That has led to numerous problems. James and I have also known these people for years and I respect them. We have to take some responsibilities that others in this team have taken. For example, the C++ compiler is not maintained