169 research outputs found

    Mobile Applications in X-KLAIM

    Get PDF
    Networking has turned computers from isolated data processors into powerful communication and elaboration devices, called global computers; an illustrative example is the World–Wide Web. Global computers are rapidly evolving towards programmability. The new scenario has called for new programming languages and paradigms centered around the notions of mobility and location awareness. In this paper, we briefly present X-KLAIM, an experimental programming language for global computers, and show a few programming examples

    KLAIM: A Kernel Language for Agents Interaction and Mobility

    Get PDF
    We investigate the issue of designing a kernel programming language for mobile computing and describe KLAIM, a language that supports a programming paradigm where processes, like data, can be moved from one computing environment to another. The language consists of a core Linda with multiple tuple spaces and of a set of operators for building processes. KLAIM naturally supports programming with explicit localities. Localities are first-class data (they can be manipulated like any other data), but the language provides coordination mechanisms to control the interaction protocols among located processes. The formal operational semantics is useful for discussing the design of the language and provides guidelines for implementations. KLAIM is equipped with a type system that statically checks access rights violations of mobile agents. Types are used to describe the intentions (read, write, execute, etc.) of processes in relation to the various localities. The type system is used to determine the operations that processes want to perform at each locality, and to check whether they comply with the declared intentions and whether they have the necessary rights to perform the intended operations at the specific localities. Via a series of examples, we show that many mobile code programming paradigms can be naturally implemented in our kernel language. We also present a prototype implementaton of KLAIM in Java

    Working notes of the KI \u2796 Workshop on Agent Oriented Programming and Distributed Systems

    Get PDF
    Agent-oriented techniques are likely to be the next significant breakthrough in software development process. They provide a uniform approach throughout the analysis, design and implementation phases in the development life cycle. Agent-oriented techniques are a natural extension to object-oriented techniques, but while there is a whole pIethora of analysis and design methods in the object-oriented paradigm, very little work has been reported on design and analysis methods in the agent-oriented community. After surveying and examining a number of well-known object-oriented design and analysis methods, we argue that none of these methods, provide the adequate model for the design and analysis of multi-agent systems. Therefore, we propose a new agent-specific methodology that is based on and builds upon object-oriented methods. We identify three major models that need to be build during the development of multi-agent applications and describe the process of building these models

    Agents for Distributed Multimedia Information Management

    No full text
    This paper discusses the role of agents in a distributed multimedia information system (DMIS) engineered according to the principles of open hypermedia. It is based on the new generation of Microcosm, an open hypermedia system developed by the Multimedia Research Group at the University of Southampton. Microcosm provides a framework for supporting the three major roles of agents within open information systems: resource discovery, information integrity and navigation assistance. We present Microcosm and its agents, and discuss our current research in applying agent technology in this framework

    Розробка агентно-орієнтованих компонентів програмного забезпечення для вилучення маркетингової інформації з web

    Get PDF
    The article is devoted to researching the processes of extracting marketing information from the Web space. Conclusions are drawn on the need to introduce an information marketing system into modern business activities. A decision has been taken to develop software for the collection and analysis of marketing information. Identified and analyzed the main problems of collecting marketing information in the Web space. External systems for extracting and processing marketing information from the Web space were considered. During the analysis of the subject area, functional and non-functional requirements for the software being developed were formulated. Requirements for the selection of technologies for the development of an information system were defined. The analysis of software development technologies is carried out and the approach to the development of a software component is chosen. Such approaches to software development as: object-oriented programming, service-oriented architecture, component-oriented programming, agent-oriented programming were analyzed. A decision has been made to use the agent three-tier architecture in software development. The most commonly used programming languages in programming systems were: Java, KIF, KQML, AgentSpeak, April, TeleScript, Tcl / Tk, Oz. Analyzed such popular agent platforms and their functions as: JADE, Cougaar, ZEUS, Jason. For the development of software, the JADE platform was chosen, its classes, methods and interfaces were examined. The advantages and peculiarities of the SOLID principle are analyzed. In detail, the levels of the CLEAN architecture are examined. And also explained the possibilities of software implementation of this architecture. A software architecture was developed for the data collection system. In accordance with the requirements, a selection of software development tools has been made. It was decided to use the programming language Java, Spring Framework, GoF design pattern, the template Dependency Injection, SOLID and CLEAN architectural principles. A software component was developed for marketing information gathering systems, which allows to optimize this process. The limitations and ways to improve the software system are analyzed.Статтю присвячено питанням дослідження процесів вилучення маркетингової інформації з Web-простору. Зроблено висновки про необхідність введення інформаційної маркетингової системи в сучасну підприємницьку діяльність. Прийнято рішення про розробку програмного забезпечення для збору та аналізу маркетингової інформації. Виявлено та проаналізовано основні проблеми збору маркетингової інформації у Web-просторі. Були розглянуті зовнішні системи по вилученню та обробці маркетингової інформації з Web-простору. В ході аналізу предметної області були сформульовані функціональні і нефункціональні вимоги до розроблюємого програмного забезпечення. Були визначені вимоги до вибору технологій для розробки інформаційної системи. Проведено аналіз технологій розробки програмного забезпечення та обрано підхід до розробки програмного компонента. Були проаналізовані такі підходи до розробки програмного забезпечення як: об’єктно-орієнтоване програмування, сервіс-орієнтована архітектура, компонентно-орієнтоване програмування, агентно-орієнтоване програмування. Прийнято рішення про використання агентної трирівневої архітектури в розробці програмного забезпечення. Були розглянуті найбільш часто використовувані в агентних системах мови програмування: Java, KIF, KQML, AgentSpeak, April, TeleScript, Tcl/Tk, Oz. Проаналізовано такі популярні агентні платформи і їх функції як: JADE, Cougaar, ZEUS, Jason. Для розробки програмного забезпечення була обрана платформа JADE, розглянуті її класи, методи і інтерфейси. Проаналізовано переваги та особливості принципу SOLID. В деталях розглянуті рівні архітектури CLEAN. А також зроблені пояснення можливостей програмної реалізації цієї архітектури. Була розроблена програмна архітектура для системи зі збору даних. Відповідно до вимог зроблений вибір інструментів розробки програмного продукту. Прийнято рішення про використання мови програмування Java, Spring Framework, GoF патерну проектування, шаблону Dependency Injection, SOLID і CLEAN архітектурних принципів. Був розроблений програмний компонент для систем збору маркетингової інформації, що дозволяє оптимізувати цей процес. Проаналізовано обмеження і шляхи поліпшення програмної систем

    Security in mobile agent systems: an approach to protect mobile agents from malicious host attacks

    Get PDF
    Mobile agents are autonomous programs that roam the Internet from machine to machine under their own control on behalf of their users to perform specific pre-defined tasks. In addition to that, a mobile agent can suspend its execution at any point; transfer itself to another machine then resume execution at the new machine without any loss of state. Such a mobile model can perform many possible types of operations, and might carry critical data that has to be protected from possible attacks. The issue of agent security and specially agent protection from host attacks has been a hot topic and no fully comprehensive solution has been found so far. In this thesis, we examine the possible security attacks that hosts and agents suffer from. These attacks can take one of four possible forms: Attacks from host to host, from agents to hosts, from agents to agents (peer to peer) and finally from hosts to agents. Our main concern in this thesis is these attacks from a malicious host on an agent. These attacks can take many forms including rerouting, spying out code, spying out data, spying out control flow, manipulation of code, manipulation of data, manipulation of control flow, incorrect execution of code, masquerading and denial of execution. In an attempt to solve the problem of malicious host attacks on agents, many partial solutions were proposed. These solutions ranged across simple legal protection, hardware solutions, partitioning, replication and voting, components, self-authentication, and migration history. Other solutions also included using audit logs, read-only state, append only logs, encrypted algorithms, digital signatures, partial result authentication codes, and code mess-up, limited life time of code and data as well as time limited black box security. In this thesis, we present a three-tier solution. This solution is a combination of code mess up, encryption and time out. Choosing code mess-up as part of the solution was due to the several strengths of this method that is based on obfuscating the features of the code so that any attacker will find it very difficult to understand the original code. A new algorithm iii was developed in this thesis to implement code mess-up that uses the concept of variable disguising by altering the values of strings and numerical values. Several encryption algorithms were studied to choose the best algorithm to use in the development of the proposed solution. The algorithms studied included DES, LUCIFER, MADRYGA, NEWDES, FEAL, REDOC, LOKI, KHUFU & KHAFRE, IDEA and finally MMB. The algorithm used was the DES algorithm due to several important factors including its key length. Not any language can be used to implement mobile agents. Candidate languages should possess the portability characteristic and should be safe and secure enough to guarantee a protection for the mobile agent. In addition to that the language should be efficient in order to minimize the implementation overhead and the overhead of providing safety and security. Languages used to implement mobile agents include Java, Limbo, Telescript, and Safe TCL. The Java language was chosen as the programming language for this thesis due to its high security, platform independence, and multithreading. This is in addition to several powerful features that characterize the Java language as will be mentioned later on. Implementing a mobile agent requires the assistance of a mobile agent system that helps in launching the agent from one host to another. There are many existing agent launching systems like Telescript, Aglets, Tacoma, Agent TCL and Concordia. Concordia was chosen to be the implementation tool used to launch our mobile agent. It is a software framework for developing, running and administering mobile agents, and it proved to be very efficient, and effective. The results of our proposed solutions showed the strength of the proposed model in terms of fully protecting the mobile agent from possible malicious host attacks. The model could have several points of enhancements. These enhancements include changing the code mess-up algorithm to a more powerful one, using a different encryption technique, and implementing an agent re-charge mechanism to recharge the agent after it is timeout

    A model checking-based approach for security policy verification of mobile systems

    Full text link
    International audienceThis article describes an approach for the automated verification of mobile systems. Mobile systems are characterized by the explicit notion of (e.g., sites where they run) and the ability to execute at different locations, yielding a number of security issues. To this aim, we formalize mobile systems as Labeled Kripke Structures, encapsulating the notion of that describes the hierarchical nesting of the threads constituting the system. Then, we formalize a generic that includes rules for expressing and manipulating the code location. In contrast to many other approaches, our technique supports both access control and information flow specification. We developed a prototype framework for model checking of mobile systems. It works directly on the program code (in contrast to most traditional process-algebraic approaches that can model only limited details of mobile systems) and uses abstraction-refinement techniques, based also on location abstractions, to manage the program state space. We experimented with a number of mobile code benchmarks by verifying various security policies. The experimental results demonstrate the validity of the proposed mobile system modeling and policy specification formalisms and highlight the advantages of the model checking-based approach, which combines the validation of security properties with other checks, such as the validation of buffer overflows

    Working notes of the KI '96 Workshop on Agent Oriented Programming and Distributed Systems

    Get PDF
    Agent-oriented techniques are likely to be the next significant breakthrough in software development process. They provide a uniform approach throughout the analysis, design and implementation phases in the development life cycle. Agent-oriented techniques are a natural extension to object-oriented techniques, but while there is a whole pIethora of analysis and design methods in the object-oriented paradigm, very little work has been reported on design and analysis methods in the agent-oriented community. After surveying and examining a number of well-known object-oriented design and analysis methods, we argue that none of these methods, provide the adequate model for the design and analysis of multi-agent systems. Therefore, we propose a new agent-specific methodology that is based on and builds upon object-oriented methods. We identify three major models that need to be build during the development of multi-agent applications and describe the process of building these models
    corecore