Sunday, May 29, 2005

Software agent technology for IT vs. consumer applications

Originally, my interest in software agent technology was focused on applications for businesses or IT. Later, as the tech "boom" fizzled and IT started focusing on cutting costs, IT seemed infinitely less attractive than consumer applications. Now, given the over-abundance of consumer-oriented technology and gizmos and gadgets, I'm beginning to reconsider if IT might not be a better target after all.

In truth, both IT and consumer applications are great targets for software agent technology. The question was simply which sector was more likely to have the kind of spending and tolerance for new technology that software agents would present.

-- Jack Krupansky

Saturday, May 21, 2005

Workshop topics for Service-Oriented Computing and Agent-Based Engineering

The upcoming Workshop on Service-Oriented Computing and Agent-Based Engineering (SOCABE'2005) lists the following possible topics:

  • Architectures and infrastructure for distributed agent- or  service-oriented frameworks;
  • Agent-based modelling and design techniques in service oriented  system development;
  • Multi-agent techniques to describing, organizing, and discovering services;
  • Process modelling and planning for service/agent composition, orchestration and coordination;
  • Security support for agents and services, and agent-based approaches to service security;
  • Intelligent matchmaking, service brokering and service level agreement negotiation;
  • Services and the Semantic Web, including initiatives such as OWL-S;
  • Deployment, packaging, and distribution of services and software agents;
  • Agent-based quality of service management;
  • Intelligent services and service agents;
  • Agent and service interoperability and integration
  • Functional and non-functional aspects of agents and services;
  • Agent-based service business models and applications (e.g. in e-Business, e-Science, Enterprise, Telecom etc.)
The summary description for the workshop is as follows:

Service-Oriented Computing (SOC) is a newly emerging paradigm for distributed computing and e-business processing that utilizes services as fundamental elements to enable building agile networks of collaborating business applications distributed within and across organizational boundaries. Services are self-contained, platform-independent computational elements that can be described, published, discovered, orchestrated and deployed for the purpose of developing distributed applications across networks, including the Internet. Service-based approaches include Web services, Semantic Web services, and Grid services.

While a service need not fulfill all characteristics of a strong definition of agency, the SOC approach to building complex software systems bears many similarities to the development of agent-based systems. In particular, large systems are assembled from distributed heterogeneous software components providing specialized services and communicating using agreed-upon protocols. Similarly to certain multi-agent engineering paradigms, the design process of such systems focuses on the declarative characterization of the agents' capabilities and on a message-based paradigm of interoperation. Also similarly to multi-agent systems, management of the service provision processes is dynamic and distributed, and takes into account the requirements both at the individual services and system levels of the composed application. It also needs to be adaptive in response to the changing requirements, services and exceptions in the dynamic Web and Grid environments.

The area of Service Oriented Computing offers much of real interest to the Multi Agent System community, including similarities in system architectures and provision processes, powerful tools, and the focus on issues such as quality of service, security and reliability. Similarly, techniques developed in the MAS research community promise to have a strong impact on this fast growing technology.

The SOCABE workshop is being held at the Fourth International Joint Conference on Autonomous Agents & Multi-Agent Systems (AAMAS'2005), 25 - 29 July 2005, Utrecht , The Netherlands.

A list of the currently accepted papers for the workshop can be found on the workshop web page.

Wednesday, May 04, 2005

Visibility of agent schemas

One of my main questions is quite simple, but very difficult:  How do we know that an agent is doing (or programmed to do) what we think it is supposed to be doing?  In other words, how to give greater visibility to the "agent schema" that is implemented by the agent.
 
This question of course begs the question of having a formal "agent schema" to begin with, as contrasted with imagining a schema and then translating that vision into hard code that supposedly implements that imagined schema.
 
My view is that the greatest danger of software agents is that they and their users get trapped
in the "code swamp", where nobody can make sense of what the agent might do in situations that are not precisely as envisioned in "the lab".  Throw in evolutionary programming, and it's a true nightmare (ala Michael Crichton's "Prey").