Agent UML is a notation for modeling agent-oriented systems using the Unified Modeling Language (UML). It represents key concepts like agents, roles, capabilities, services, and interactions. Agents in Agent UML are modeled as classes with additional properties specifying roles, organizations, and protocols. Capabilities and services define the tasks agents can perform. Interactions are represented using extended sequence diagrams to show concurrent message passing between agents. Agent UML aims to provide a standard modeling approach for agent-oriented software engineering.
The document discusses requirements engineering processes. It describes the main activities as feasibility studies to determine if a project is worthwhile, elicitation and analysis to discover requirements, specification to formalize requirements, and validation to check requirements. It discusses techniques for eliciting requirements including interviews, scenarios, use cases and viewpoints to represent different stakeholder perspectives. The goal is to create and maintain requirements documents through these iterative processes.
This document discusses different types of electromagnetic radiation and their uses in digital image processing. It covers gamma rays, X-rays, ultraviolet rays, visible and infrared rays, microwaves, and radio bands. Applications described include medical imaging techniques like MRI, industrial inspection, astronomy, remote sensing, and law enforcement applications like license plate and fingerprint recognition. Radar imaging is also discussed as a key application using microwaves.
This document discusses project scheduling for software engineering projects. It covers key topics such as:
- The importance of scheduling for establishing a roadmap and tracking progress on large, complex software projects.
- Basic principles of software project scheduling including compartmentalizing work, indicating interdependencies, allocating time and resources, and assigning responsibilities.
- Methods for defining tasks, networks, and timelines to plan and track schedules.
- Techniques for monitoring schedule performance such as status meetings, milestone tracking, and earned value analysis.
- Factors that influence schedules such as risks, changing requirements, estimates, and technical difficulties.
This document discusses various techniques for evaluating projects, including:
- Strategic assessment to evaluate how projects align with organizational goals and strategies.
- Technical assessment to evaluate functionality against available hardware, software, and solutions.
- Cost-benefit analysis to compare expected project costs and benefits in monetary terms over time.
- Cash flow forecasting to estimate costs and benefits over the project lifecycle.
- Risk evaluation to assess potential risks and their impacts.
Project evaluation is important for determining progress, outcomes, effectiveness, and justification of project inputs and results. The challenges include commitment, establishing baselines, identifying indicators, and allocating time for monitoring and evaluation.
Software reliability is defined as the probability of failure-free operation of software over a specified time period and environment. Key factors influencing reliability include fault count, which is impacted by code size/complexity and development processes, and operational profile, which describes how users operate the system. Software reliability methodologies aim to improve dependability through fault avoidance, tolerance, removal, and forecasting, with the latter using models to predict reliability mathematically based on factors like time between failures or failure counts.
The document discusses concepts related to software project scheduling, including:
- Software project scheduling involves distributing estimated effort across the planned project duration by allocating effort to specific tasks.
- There are two perspectives on software scheduling - either working within a prescribed end date or setting the end date based on the software team's estimates.
- Basic principles of software scheduling include compartmentalizing tasks, determining dependencies, allocating time estimates, validating effort, and defining responsibilities, outcomes, and milestones.
- Tracking project schedules involves comparing actual progress to planned schedules through status meetings, reviews, and milestone completions.
The document discusses software estimation and project planning. It covers estimating project cost and effort through decomposition techniques and empirical estimation models. Specifically, it discusses:
1) Decomposition techniques involve breaking down a project into functions and tasks to estimate individually, such as estimating lines of code or function points for each piece.
2) Empirical estimation models use historical data from past projects to generate estimates.
3) Key factors that affect estimation accuracy include properly estimating product size, translating size to effort/time/cost, and accounting for team abilities and requirements stability.
The document discusses software requirements and requirements engineering. It introduces concepts like user requirements, system requirements, functional requirements, and non-functional requirements. It explains how requirements can be organized in a requirements document and the different types of stakeholders who read requirements. The document also discusses challenges in writing requirements precisely and provides examples of requirements specification for a library system called LIBSYS.
The document discusses requirements engineering processes. It describes the main activities as feasibility studies to determine if a project is worthwhile, elicitation and analysis to discover requirements, specification to formalize requirements, and validation to check requirements. It discusses techniques for eliciting requirements including interviews, scenarios, use cases and viewpoints to represent different stakeholder perspectives. The goal is to create and maintain requirements documents through these iterative processes.
This document discusses different types of electromagnetic radiation and their uses in digital image processing. It covers gamma rays, X-rays, ultraviolet rays, visible and infrared rays, microwaves, and radio bands. Applications described include medical imaging techniques like MRI, industrial inspection, astronomy, remote sensing, and law enforcement applications like license plate and fingerprint recognition. Radar imaging is also discussed as a key application using microwaves.
This document discusses project scheduling for software engineering projects. It covers key topics such as:
- The importance of scheduling for establishing a roadmap and tracking progress on large, complex software projects.
- Basic principles of software project scheduling including compartmentalizing work, indicating interdependencies, allocating time and resources, and assigning responsibilities.
- Methods for defining tasks, networks, and timelines to plan and track schedules.
- Techniques for monitoring schedule performance such as status meetings, milestone tracking, and earned value analysis.
- Factors that influence schedules such as risks, changing requirements, estimates, and technical difficulties.
This document discusses various techniques for evaluating projects, including:
- Strategic assessment to evaluate how projects align with organizational goals and strategies.
- Technical assessment to evaluate functionality against available hardware, software, and solutions.
- Cost-benefit analysis to compare expected project costs and benefits in monetary terms over time.
- Cash flow forecasting to estimate costs and benefits over the project lifecycle.
- Risk evaluation to assess potential risks and their impacts.
Project evaluation is important for determining progress, outcomes, effectiveness, and justification of project inputs and results. The challenges include commitment, establishing baselines, identifying indicators, and allocating time for monitoring and evaluation.
Software reliability is defined as the probability of failure-free operation of software over a specified time period and environment. Key factors influencing reliability include fault count, which is impacted by code size/complexity and development processes, and operational profile, which describes how users operate the system. Software reliability methodologies aim to improve dependability through fault avoidance, tolerance, removal, and forecasting, with the latter using models to predict reliability mathematically based on factors like time between failures or failure counts.
The document discusses concepts related to software project scheduling, including:
- Software project scheduling involves distributing estimated effort across the planned project duration by allocating effort to specific tasks.
- There are two perspectives on software scheduling - either working within a prescribed end date or setting the end date based on the software team's estimates.
- Basic principles of software scheduling include compartmentalizing tasks, determining dependencies, allocating time estimates, validating effort, and defining responsibilities, outcomes, and milestones.
- Tracking project schedules involves comparing actual progress to planned schedules through status meetings, reviews, and milestone completions.
The document discusses software estimation and project planning. It covers estimating project cost and effort through decomposition techniques and empirical estimation models. Specifically, it discusses:
1) Decomposition techniques involve breaking down a project into functions and tasks to estimate individually, such as estimating lines of code or function points for each piece.
2) Empirical estimation models use historical data from past projects to generate estimates.
3) Key factors that affect estimation accuracy include properly estimating product size, translating size to effort/time/cost, and accounting for team abilities and requirements stability.
The document discusses software requirements and requirements engineering. It introduces concepts like user requirements, system requirements, functional requirements, and non-functional requirements. It explains how requirements can be organized in a requirements document and the different types of stakeholders who read requirements. The document also discusses challenges in writing requirements precisely and provides examples of requirements specification for a library system called LIBSYS.
The document discusses different types of software metrics that can be used to measure various aspects of software development. Process metrics measure attributes of the development process, while product metrics measure attributes of the software product. Project metrics are used to monitor and control software projects. Metrics need to be normalized to allow for comparison between different projects or teams. This can be done using size-oriented metrics that relate measures to the size of the software, or function-oriented metrics that relate measures to the functionality delivered.
Software Quality Assurance in software engineeringMuhammadTalha436
1. Software quality assurance involves quality control through inspections, reviews and testing throughout development to ensure work products meet specifications.
2. The costs of quality include prevention costs like planning and training, appraisal costs like testing, and failure costs like rework and support; finding and fixing defects early through reviews reduces costs.
3. Formal technical reviews uncover errors at various stages of development to catch them before they become costly defects later on; a review meeting follows constraints and produces an issues list and report that is tracked to resolution.
Project control and process instrumentationKuppusamy P
The document discusses project control and process instrumentation for software development projects. It describes 7 core metrics that can be used to measure: 1) management indicators like work progress, budget, and staffing, and 2) quality indicators like change activity, breakage, rework, and defects over time. These metrics provide objective assessments of progress, quality, and estimates. The document also discusses automating metric collection and displaying metrics through a software project control panel to provide visibility into the project.
The document discusses several key challenges in software engineering (SE). It notes that SE approaches must address issues of scale, productivity, and quality. Regarding scale, it states that SE methods must be scalable for problems of different sizes, from small to very large, requiring both engineering and project management techniques to be formalized for large problems. Productivity is important to control costs and schedule, and SE aims to deliver high productivity. Quality is also a major goal, involving attributes like functionality, reliability, usability, efficiency and maintainability. Reliability is often seen as the main quality criterion and is approximated by measuring defects. Addressing these challenges of scale, productivity and quality drives the selection of SE approaches.
The document discusses different types of operating systems. It explains that an operating system manages hardware and software resources on a device and provides a consistent interface for applications. Not all devices need complex operating systems; simple devices like microwaves run single hardcoded programs. However, most computers use general purpose operating systems that can be adapted for different hardware over time. The document outlines several categories of operating systems including those for desktops, real-time applications, single-user vs. multi-user, and networking.
The document summarizes statistical pattern recognition techniques. It is divided into 9 sections that cover topics like dimensionality reduction, classifiers, classifier combination, and unsupervised classification. The goal of pattern recognition is supervised or unsupervised classification of patterns based on features. Dimensionality reduction aims to reduce the number of features to address the curse of dimensionality when samples are limited. Multiple classifiers can be combined through techniques like stacking, bagging, and boosting. Unsupervised classification uses clustering algorithms to construct decision boundaries without labeled training data.
Slides on Problem Formulation, Problem Description, Chess, Water Jug Problem
Suitable for Under-Graduate Engineering students under computer science and Information Technology
Unit4 Software Engineering Institute (SEI)’sCapability Maturity Model (CMM)...Reetesh Gupta
The organization
Does not have an established and documented environment for developing and maintaining software.
Haphazard activities by the members of the project team
No systematic project management process
At the time of crises, projects usually stop using all planned procedures and revert to coding and testing.
Adhoc Processes (No formal process)
Success, if any, depends on heroic actions of few members in the team - Individual dependent outcomes
Genetic algorithms are inspired by Darwin's theory of natural selection and use techniques like inheritance, mutation, and selection to find optimal solutions. The document discusses genetic algorithms and their application in data mining. It provides examples of how genetic algorithms use selection, crossover, and mutation operators to evolve rules for predicting voter behavior from historical election data. The advantages are that genetic algorithms can solve complex problems where traditional search methods fail, and provide multiple solutions. Limitations include not guaranteeing a global optimum and variable optimization times. Applications include optimization, machine learning, and economic modeling.
This document discusses image segmentation techniques. It describes how segmentation partitions an image into meaningful regions based on discontinuities or similarities in pixel intensity. The key methods covered are thresholding, edge detection using gradient and Laplacian operators, and the Hough transform for global line detection. Adaptive thresholding is also introduced as a technique to handle uneven illumination.
The document describes the spiral model of the software development life cycle (SDLC). It discusses the phases of the spiral model including planning, risk analysis, engineering, and evaluation. The spiral model is an iterative approach that combines elements of both design and prototyping-based development. It allows for incremental adjustments to requirements through repeated cycles. The model helps manage risk on large, complex projects that experience changing requirements over time.
This document discusses different approaches to requirements modeling including scenario-based modeling using use cases and activity diagrams, data modeling using entity-relationship diagrams, and class-based modeling using class-responsibility-collaborator diagrams. Requirements modeling depicts requirements using text and diagrams to help validate requirements from different perspectives and uncover errors, inconsistencies, and omissions. The models focus on what the system needs to do at a high level rather than implementation details.
The document discusses parallel algorithms and parallel computing. It begins by defining parallelism in computers as performing more than one task at the same time. Examples of parallelism include I/O chips and pipelining of instructions. Common terms for parallelism are defined, including concurrent processing, distributed processing, and parallel processing. Issues in parallel programming such as task decomposition and synchronization are outlined. Performance issues like scalability and load balancing are also discussed. Different types of parallel machines and their classification are described.
Architecture design in software engineeringPreeti Mishra
The document discusses software architectural design. It defines architecture as the structure of a system's components, their relationships, and properties. An architectural design model is transferable across different systems. The architecture enables analysis of design requirements and consideration of alternatives early in development. It represents the system in an intellectually graspable way. Common architectural styles structure systems and their components in different ways, such as data-centered, data flow, and call-and-return styles.
Software Engineering- Requirement Elicitation and SpecificationNishu Rastogi
The document discusses the process of requirements engineering for software development. It involves four main steps:
1) Feasibility study to determine if the project is possible.
2) Requirements gathering by communicating with clients and users to understand what the software should do.
3) Creating a software requirements specification (SRS) document that defines system functions and constraints.
4) Validating requirements to ensure they are clear, consistent, and can be implemented.
This document discusses fault tolerance in computing systems. It defines fault tolerance as building systems that can continue operating satisfactorily even in the presence of faults. It describes different types of faults like transient, intermittent, and permanent hardware faults. It also discusses concepts like errors, failures, fault taxonomy, attributes of fault tolerance like availability and reliability. It explains various techniques used for fault tolerance like error detection, system recovery, fault masking, and redundancy.
The document discusses various aspects of software project management including project planning activities like estimation, scheduling, staffing, and risk handling. It describes different project organization structures like functional organization and project organization. It also discusses different team structures like chief programmer teams, democratic teams, and mixed teams. The document emphasizes the importance of careful project planning and producing a software project management plan document. It also discusses considerations for staffing a project team and attributes of a good software engineer.
There are two types of compiler passes: multi-pass compilers perform multiple traversals of the source code to perform different stages of compilation like scanning, parsing, semantic analysis, etc. One-pass compilers only traverse the source code once, performing all compilation stages on each line before moving to the next.
Bootstrapping is the process of using a compiler written in a language to compile itself, allowing the creation of a self-hosting compiler for that language. It involves first creating a simple bootstrap compiler for a language subset, then using that to compile a full compiler for the language which can then compile future versions.
This document provides an introduction to software agents, discussing key dimensions of agenthood including autonomy, intelligence, and sociality. It describes how agents can exhibit these dimensions through internal components like beliefs, goals, and plans. Autonomous agents require an internal state and ability to initiate behaviors. Intelligent agents may use reasoning, learning, and decision-making. Social agents can communicate and interact with other agents through models of other agents and capabilities like negotiation. Mobility refers to agents' ability to change locations physically or between execution environments. The document outlines common software constructs used to facilitate these dimensions in agent architectures.
This document provides an overview of use case diagrams in object oriented design and analysis. It defines key components of a use case diagram including actors, use cases, the system boundary, and relationships between these elements. Actors represent people or systems that interact with the system, while use cases describe specific functions or services provided by the system. Relationships such as include, extend, and association are used to connect actors to use cases and illustrate how use cases relate to each other. The purpose of a use case diagram is to depict the functionality of a system from the user's perspective and illustrate the developer's understanding of user requirements.
The document discusses different types of software metrics that can be used to measure various aspects of software development. Process metrics measure attributes of the development process, while product metrics measure attributes of the software product. Project metrics are used to monitor and control software projects. Metrics need to be normalized to allow for comparison between different projects or teams. This can be done using size-oriented metrics that relate measures to the size of the software, or function-oriented metrics that relate measures to the functionality delivered.
Software Quality Assurance in software engineeringMuhammadTalha436
1. Software quality assurance involves quality control through inspections, reviews and testing throughout development to ensure work products meet specifications.
2. The costs of quality include prevention costs like planning and training, appraisal costs like testing, and failure costs like rework and support; finding and fixing defects early through reviews reduces costs.
3. Formal technical reviews uncover errors at various stages of development to catch them before they become costly defects later on; a review meeting follows constraints and produces an issues list and report that is tracked to resolution.
Project control and process instrumentationKuppusamy P
The document discusses project control and process instrumentation for software development projects. It describes 7 core metrics that can be used to measure: 1) management indicators like work progress, budget, and staffing, and 2) quality indicators like change activity, breakage, rework, and defects over time. These metrics provide objective assessments of progress, quality, and estimates. The document also discusses automating metric collection and displaying metrics through a software project control panel to provide visibility into the project.
The document discusses several key challenges in software engineering (SE). It notes that SE approaches must address issues of scale, productivity, and quality. Regarding scale, it states that SE methods must be scalable for problems of different sizes, from small to very large, requiring both engineering and project management techniques to be formalized for large problems. Productivity is important to control costs and schedule, and SE aims to deliver high productivity. Quality is also a major goal, involving attributes like functionality, reliability, usability, efficiency and maintainability. Reliability is often seen as the main quality criterion and is approximated by measuring defects. Addressing these challenges of scale, productivity and quality drives the selection of SE approaches.
The document discusses different types of operating systems. It explains that an operating system manages hardware and software resources on a device and provides a consistent interface for applications. Not all devices need complex operating systems; simple devices like microwaves run single hardcoded programs. However, most computers use general purpose operating systems that can be adapted for different hardware over time. The document outlines several categories of operating systems including those for desktops, real-time applications, single-user vs. multi-user, and networking.
The document summarizes statistical pattern recognition techniques. It is divided into 9 sections that cover topics like dimensionality reduction, classifiers, classifier combination, and unsupervised classification. The goal of pattern recognition is supervised or unsupervised classification of patterns based on features. Dimensionality reduction aims to reduce the number of features to address the curse of dimensionality when samples are limited. Multiple classifiers can be combined through techniques like stacking, bagging, and boosting. Unsupervised classification uses clustering algorithms to construct decision boundaries without labeled training data.
Slides on Problem Formulation, Problem Description, Chess, Water Jug Problem
Suitable for Under-Graduate Engineering students under computer science and Information Technology
Unit4 Software Engineering Institute (SEI)’sCapability Maturity Model (CMM)...Reetesh Gupta
The organization
Does not have an established and documented environment for developing and maintaining software.
Haphazard activities by the members of the project team
No systematic project management process
At the time of crises, projects usually stop using all planned procedures and revert to coding and testing.
Adhoc Processes (No formal process)
Success, if any, depends on heroic actions of few members in the team - Individual dependent outcomes
Genetic algorithms are inspired by Darwin's theory of natural selection and use techniques like inheritance, mutation, and selection to find optimal solutions. The document discusses genetic algorithms and their application in data mining. It provides examples of how genetic algorithms use selection, crossover, and mutation operators to evolve rules for predicting voter behavior from historical election data. The advantages are that genetic algorithms can solve complex problems where traditional search methods fail, and provide multiple solutions. Limitations include not guaranteeing a global optimum and variable optimization times. Applications include optimization, machine learning, and economic modeling.
This document discusses image segmentation techniques. It describes how segmentation partitions an image into meaningful regions based on discontinuities or similarities in pixel intensity. The key methods covered are thresholding, edge detection using gradient and Laplacian operators, and the Hough transform for global line detection. Adaptive thresholding is also introduced as a technique to handle uneven illumination.
The document describes the spiral model of the software development life cycle (SDLC). It discusses the phases of the spiral model including planning, risk analysis, engineering, and evaluation. The spiral model is an iterative approach that combines elements of both design and prototyping-based development. It allows for incremental adjustments to requirements through repeated cycles. The model helps manage risk on large, complex projects that experience changing requirements over time.
This document discusses different approaches to requirements modeling including scenario-based modeling using use cases and activity diagrams, data modeling using entity-relationship diagrams, and class-based modeling using class-responsibility-collaborator diagrams. Requirements modeling depicts requirements using text and diagrams to help validate requirements from different perspectives and uncover errors, inconsistencies, and omissions. The models focus on what the system needs to do at a high level rather than implementation details.
The document discusses parallel algorithms and parallel computing. It begins by defining parallelism in computers as performing more than one task at the same time. Examples of parallelism include I/O chips and pipelining of instructions. Common terms for parallelism are defined, including concurrent processing, distributed processing, and parallel processing. Issues in parallel programming such as task decomposition and synchronization are outlined. Performance issues like scalability and load balancing are also discussed. Different types of parallel machines and their classification are described.
Architecture design in software engineeringPreeti Mishra
The document discusses software architectural design. It defines architecture as the structure of a system's components, their relationships, and properties. An architectural design model is transferable across different systems. The architecture enables analysis of design requirements and consideration of alternatives early in development. It represents the system in an intellectually graspable way. Common architectural styles structure systems and their components in different ways, such as data-centered, data flow, and call-and-return styles.
Software Engineering- Requirement Elicitation and SpecificationNishu Rastogi
The document discusses the process of requirements engineering for software development. It involves four main steps:
1) Feasibility study to determine if the project is possible.
2) Requirements gathering by communicating with clients and users to understand what the software should do.
3) Creating a software requirements specification (SRS) document that defines system functions and constraints.
4) Validating requirements to ensure they are clear, consistent, and can be implemented.
This document discusses fault tolerance in computing systems. It defines fault tolerance as building systems that can continue operating satisfactorily even in the presence of faults. It describes different types of faults like transient, intermittent, and permanent hardware faults. It also discusses concepts like errors, failures, fault taxonomy, attributes of fault tolerance like availability and reliability. It explains various techniques used for fault tolerance like error detection, system recovery, fault masking, and redundancy.
The document discusses various aspects of software project management including project planning activities like estimation, scheduling, staffing, and risk handling. It describes different project organization structures like functional organization and project organization. It also discusses different team structures like chief programmer teams, democratic teams, and mixed teams. The document emphasizes the importance of careful project planning and producing a software project management plan document. It also discusses considerations for staffing a project team and attributes of a good software engineer.
There are two types of compiler passes: multi-pass compilers perform multiple traversals of the source code to perform different stages of compilation like scanning, parsing, semantic analysis, etc. One-pass compilers only traverse the source code once, performing all compilation stages on each line before moving to the next.
Bootstrapping is the process of using a compiler written in a language to compile itself, allowing the creation of a self-hosting compiler for that language. It involves first creating a simple bootstrap compiler for a language subset, then using that to compile a full compiler for the language which can then compile future versions.
This document provides an introduction to software agents, discussing key dimensions of agenthood including autonomy, intelligence, and sociality. It describes how agents can exhibit these dimensions through internal components like beliefs, goals, and plans. Autonomous agents require an internal state and ability to initiate behaviors. Intelligent agents may use reasoning, learning, and decision-making. Social agents can communicate and interact with other agents through models of other agents and capabilities like negotiation. Mobility refers to agents' ability to change locations physically or between execution environments. The document outlines common software constructs used to facilitate these dimensions in agent architectures.
This document provides an overview of use case diagrams in object oriented design and analysis. It defines key components of a use case diagram including actors, use cases, the system boundary, and relationships between these elements. Actors represent people or systems that interact with the system, while use cases describe specific functions or services provided by the system. Relationships such as include, extend, and association are used to connect actors to use cases and illustrate how use cases relate to each other. The purpose of a use case diagram is to depict the functionality of a system from the user's perspective and illustrate the developer's understanding of user requirements.
The document discusses norms and electronic institutions for regulating behavior in distributed systems, particularly for applications in e-contracting environments. It introduces a language for representing norms, discusses how norms can guide the behavior of normative agents, and how electronic institutions can provide safe environments for enforcing norms and coordinating agent interaction through the definition and enforcement of norms. It also discusses how contract-based approaches can provide governance in service-oriented architectures.
The paper presents the Tropos framework for requirements-driven information systems engineering. Tropos models the early requirements phase using concepts like actors, goals, social dependencies, and extends requirements analysis into the later phases of architectural design and detailed design. It proposes modeling the system as an actor with goals and dependencies. The paper evaluates organizational architectural styles for e-business applications using quality attributes, and provides an example of applying the joint venture style to the Media Shop case study.
Presents a more expansive view of "stakeholders" in systems design, specifically beyond purely human notions. Produced for use by the IEEE P7000 working group "Model Process for Addressing Ethical Concerns During System Design."
The document discusses object-oriented analysis and design (OOAD). It describes OOAD as an approach that models a system using interacting objects. It covers key concepts like use case modeling, identifying actors and use cases, domain modeling to define classes and relationships. It also compares the traditional and object-oriented approaches to software development.
Software Agents are very useful in coming Software development process. This ppt discuss introduction and use of Agents in Software development process.
An intelligent agent is an entity that is situated in an environment, autonomous, and flexible. It perceives its environment through sensors and acts upon the environment through effectors. There are different types of agents including simple reflex agents, model-based reflex agents, goal-based agents, and utility-based agents. Environments can be fully or partially observable, deterministic or stochastic, static or dynamic, discrete or continuous, and involve a single agent or multiple agents. Examples of environments include chess, poker, backgammon, taxi driving, medical diagnosis, and image analysis.
The document provides an overview of distributed artificial intelligence and multi-agent systems. It discusses topics such as the definition of DAI, types of multi-agent systems, interaction among agents, the Agent Communication Language KQML, basic models of communication, and the definition of an agent. It also covers concepts like reactive agents, cognitive agents, classification of agents, and applications of DAI.
The Evaluation of Generic Architecture for Information Availability (GAIA) an...inventionjournals
Along with the growing interest in agent applications, there has been an increasing number of agentoriented software engineering methodologies proposed in recent years. These methodologies were developed and specially tailored to the characteristics of agents. The roles of these methodologies can provide methods, models, techniques, and tools so that the development of agent based system can be carried out in a former and systematic way. The goal of this paper is to understand the relationship between two key agent-oriented methodologies: Gaia, and MaSE. More specially, we evaluate and compare these three methodologies by performing a feature analysis, on them, which is carried out by evaluating the strengths and weaknesses of each participating methodology using an attribute-based evaluation framework. This evaluation framework addresses some areas of an agent-oriented methodology: concepts, modeling language, process and pragmatics
The Evaluation of Generic Architecture for Information Availability (GAIA) an...inventionjournals
Along with the growing interest in agent applications, there has been an increasing number of agentoriented software engineering methodologies proposed in recent years. These methodologies were developed and specially tailored to the characteristics of agents. The roles of these methodologies can provide methods, models, techniques, and tools so that the development of agent based system can be carried out in a former and systematic way. The goal of this paper is to understand the relationship between two key agent-oriented methodologies: Gaia, and MaSE. More specially, we evaluate and compare these three methodologies by performing a feature analysis, on them, which is carried out by evaluating the strengths and weaknesses of each participating methodology using an attribute-based evaluation framework. This evaluation framework addresses some areas of an agent-oriented methodology: concepts, modeling language, process and pragmatics
Artificial intelligence (AI) is the ability of machines to mimic human intelligence through tasks like learning, reasoning, and problem-solving. There are various types of AI agents with different capabilities, from simple reflex agents that respond only to current inputs to learning agents that can adapt based on experience. The goals of AI include replicating human intelligence by building machines that can prove theorems, play games, drive cars, and perform other complex tasks typically requiring human intelligence. While AI offers benefits like accuracy, speed, and usefulness in hazardous situations, it also faces challenges such as high costs, inability to think creatively, and increased dependency on machines.
The document discusses intelligent agents and related concepts. It begins by defining agents based on general definitions from dictionaries and literature. It then provides more specific definitions of intelligent agents from various sources. The document distinguishes between weak and strong notions of agency. It also compares and contrasts agents with objects and expert systems. The document discusses different types of environments that agents can operate in and how this impacts agent design. It concludes by discussing distributed artificial intelligence and multi-agent systems at a high level.
leewayhertz.com-Auto-GPT Unleashing the power of autonomous AI agents.pdfKristiLBurns
The document discusses the key components of autonomous AI agents, including perception, knowledge representation, decision making, cognition/reasoning, action, learning and adaptation, and communication. Autonomous agents can perceive their environment through various sensors and user input, represent knowledge through symbolic or neural models, make decisions using techniques like planning and machine learning, and take actions in their environment to achieve goals. They can also learn from new information and experiences over time to improve their abilities.
1. The document discusses trust, reputation, and negotiation in multi-agent systems. It defines trust as an individual measure of confidence in other agents, while reputation is a social measure of confidence held by a group of agents.
2. When negotiating, agents communicate their positions to try and reach agreement by making concessions. Efficient and distributed negotiation mechanisms should not waste resources or require central control.
3. Trust can be computed in various ways, such as from direct interactions, observed interactions of others, prior beliefs, or information from other agents. Direct experiences provide the most reliable information for evaluating trust.
The system analyst is responsible for developing software and hardware solutions to make an organization run efficiently. An analyst must have both interpersonal and technical skills, including communication, understanding technical concepts, teaching others, selling ideas, creativity, problem-solving, and project management. They are also expected to have experience in areas like systems analysis, programming languages, and hardware and software specifications. As a change agent, investigator, architect, psychologist, salesperson, motivator, and politician, the analyst plays a key role in developing, implementing, and ensuring adoption of new systems.
The system analyst is responsible for developing software and hardware solutions to make an organization run efficiently. An analyst must have strong interpersonal and technical skills to understand an organization's goals and needs, and to design systems that meet those needs. Key skills for an analyst include communication, understanding users, teaching others how to use new systems, selling ideas, problem-solving, project management, and having both technical knowledge and an understanding of business functions. Analysts play many roles such as a change agent to introduce new systems, an investigator to understand current problems, an architect to design technical solutions, a psychologist to understand users, a salesperson to convince users of new systems, a motivator to encourage users, and a politician to manage relationships
Group 1 (3009, 01, 02, 03, 04) interacting with agents, direct manipulation t...Prateek Soni
This document discusses agents and how humans interact with them, moving from direct manipulation to delegation. It defines agents and their key properties such as reactivity, proactiveness, and social ability. Delegation is described as assigning responsibility to another, such as an intelligent software agent, to perform tasks. The benefits of delegation for both managers and employees are outlined. Finally, the document details the steps involved in effective delegation, including introducing the task, demonstrating it clearly, ensuring understanding, allocating authority and resources, letting go, and providing support and monitoring.
Communications Mining Series - Zero to Hero - Session 1DianaGray10
This session provides introduction to UiPath Communication Mining, importance and platform overview. You will acquire a good understand of the phases in Communication Mining as we go over the platform with you. Topics covered:
• Communication Mining Overview
• Why is it important?
• How can it help today’s business and the benefits
• Phases in Communication Mining
• Demo on Platform overview
• Q/A
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...Neo4j
Leonard Jayamohan, Partner & Generative AI Lead, Deloitte
This keynote will reveal how Deloitte leverages Neo4j’s graph power for groundbreaking digital twin solutions, achieving a staggering 100x performance boost. Discover the essential role knowledge graphs play in successful generative AI implementations. Plus, get an exclusive look at an innovative Neo4j + Generative AI solution Deloitte is developing in-house.
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AIVladimir Iglovikov, Ph.D.
Presented by Vladimir Iglovikov:
- https://www.linkedin.com/in/iglovikov/
- https://x.com/viglovikov
- https://www.instagram.com/ternaus/
This presentation delves into the journey of Albumentations.ai, a highly successful open-source library for data augmentation.
Created out of a necessity for superior performance in Kaggle competitions, Albumentations has grown to become a widely used tool among data scientists and machine learning practitioners.
This case study covers various aspects, including:
People: The contributors and community that have supported Albumentations.
Metrics: The success indicators such as downloads, daily active users, GitHub stars, and financial contributions.
Challenges: The hurdles in monetizing open-source projects and measuring user engagement.
Development Practices: Best practices for creating, maintaining, and scaling open-source libraries, including code hygiene, CI/CD, and fast iteration.
Community Building: Strategies for making adoption easy, iterating quickly, and fostering a vibrant, engaged community.
Marketing: Both online and offline marketing tactics, focusing on real, impactful interactions and collaborations.
Mental Health: Maintaining balance and not feeling pressured by user demands.
Key insights include the importance of automation, making the adoption process seamless, and leveraging offline interactions for marketing. The presentation also emphasizes the need for continuous small improvements and building a friendly, inclusive community that contributes to the project's growth.
Vladimir Iglovikov brings his extensive experience as a Kaggle Grandmaster, ex-Staff ML Engineer at Lyft, sharing valuable lessons and practical advice for anyone looking to enhance the adoption of their open-source projects.
Explore more about Albumentations and join the community at:
GitHub: https://github.com/albumentations-team/albumentations
Website: https://albumentations.ai/
LinkedIn: https://www.linkedin.com/company/100504475
Twitter: https://x.com/albumentations
Climate Impact of Software Testing at Nordic Testing DaysKari Kakkonen
My slides at Nordic Testing Days 6.6.2024
Climate impact / sustainability of software testing discussed on the talk. ICT and testing must carry their part of global responsibility to help with the climat warming. We can minimize the carbon footprint but we can also have a carbon handprint, a positive impact on the climate. Quality characteristics can be added with sustainability, and then measured continuously. Test environments can be used less, and in smaller scale and on demand. Test techniques can be used in optimizing or minimizing number of tests. Test automation can be used to speed up testing.
Removing Uninteresting Bytes in Software FuzzingAftab Hussain
Imagine a world where software fuzzing, the process of mutating bytes in test seeds to uncover hidden and erroneous program behaviors, becomes faster and more effective. A lot depends on the initial seeds, which can significantly dictate the trajectory of a fuzzing campaign, particularly in terms of how long it takes to uncover interesting behaviour in your code. We introduce DIAR, a technique designed to speedup fuzzing campaigns by pinpointing and eliminating those uninteresting bytes in the seeds. Picture this: instead of wasting valuable resources on meaningless mutations in large, bloated seeds, DIAR removes the unnecessary bytes, streamlining the entire process.
In this work, we equipped AFL, a popular fuzzer, with DIAR and examined two critical Linux libraries -- Libxml's xmllint, a tool for parsing xml documents, and Binutil's readelf, an essential debugging and security analysis command-line tool used to display detailed information about ELF (Executable and Linkable Format). Our preliminary results show that AFL+DIAR does not only discover new paths more quickly but also achieves higher coverage overall. This work thus showcases how starting with lean and optimized seeds can lead to faster, more comprehensive fuzzing campaigns -- and DIAR helps you find such seeds.
- These are slides of the talk given at IEEE International Conference on Software Testing Verification and Validation Workshop, ICSTW 2022.
In his public lecture, Christian Timmerer provides insights into the fascinating history of video streaming, starting from its humble beginnings before YouTube to the groundbreaking technologies that now dominate platforms like Netflix and ORF ON. Timmerer also presents provocative contributions of his own that have significantly influenced the industry. He concludes by looking at future challenges and invites the audience to join in a discussion.
Pushing the limits of ePRTC: 100ns holdover for 100 daysAdtran
At WSTS 2024, Alon Stern explored the topic of parametric holdover and explained how recent research findings can be implemented in real-world PNT networks to achieve 100 nanoseconds of accuracy for up to 100 days.
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfMalak Abu Hammad
Discover how MongoDB Atlas and vector search technology can revolutionize your application's search capabilities. This comprehensive presentation covers:
* What is Vector Search?
* Importance and benefits of vector search
* Practical use cases across various industries
* Step-by-step implementation guide
* Live demos with code snippets
* Enhancing LLM capabilities with vector search
* Best practices and optimization strategies
Perfect for developers, AI enthusiasts, and tech leaders. Learn how to leverage MongoDB Atlas to deliver highly relevant, context-aware search results, transforming your data retrieval process. Stay ahead in tech innovation and maximize the potential of your applications.
#MongoDB #VectorSearch #AI #SemanticSearch #TechInnovation #DataScience #LLM #MachineLearning #SearchTechnology
Threats to mobile devices are more prevalent and increasing in scope and complexity. Users of mobile devices desire to take full advantage of the features
available on those devices, but many of the features provide convenience and capability but sacrifice security. This best practices guide outlines steps the users can take to better protect personal devices and information.
For the full video of this presentation, please visit: https://www.edge-ai-vision.com/2024/06/building-and-scaling-ai-applications-with-the-nx-ai-manager-a-presentation-from-network-optix/
Robin van Emden, Senior Director of Data Science at Network Optix, presents the “Building and Scaling AI Applications with the Nx AI Manager,” tutorial at the May 2024 Embedded Vision Summit.
In this presentation, van Emden covers the basics of scaling edge AI solutions using the Nx tool kit. He emphasizes the process of developing AI models and deploying them globally. He also showcases the conversion of AI models and the creation of effective edge AI pipelines, with a focus on pre-processing, model conversion, selecting the appropriate inference engine for the target hardware and post-processing.
van Emden shows how Nx can simplify the developer’s life and facilitate a rapid transition from concept to production-ready applications.He provides valuable insights into developing scalable and efficient edge AI solutions, with a strong focus on practical implementation.
“An Outlook of the Ongoing and Future Relationship between Blockchain Technologies and Process-aware Information Systems.” Invited talk at the joint workshop on Blockchain for Information Systems (BC4IS) and Blockchain for Trusted Data Sharing (B4TDS), co-located with with the 36th International Conference on Advanced Information Systems Engineering (CAiSE), 3 June 2024, Limassol, Cyprus.
Building RAG with self-deployed Milvus vector database and Snowpark Container...Zilliz
This talk will give hands-on advice on building RAG applications with an open-source Milvus database deployed as a docker container. We will also introduce the integration of Milvus with Snowpark Container Services.
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!SOFTTECHHUB
As the digital landscape continually evolves, operating systems play a critical role in shaping user experiences and productivity. The launch of Nitrux Linux 3.5.0 marks a significant milestone, offering a robust alternative to traditional systems such as Windows 11. This article delves into the essence of Nitrux Linux 3.5.0, exploring its unique features, advantages, and how it stands as a compelling choice for both casual users and tech enthusiasts.
Introducing Milvus Lite: Easy-to-Install, Easy-to-Use vector database for you...Zilliz
Join us to introduce Milvus Lite, a vector database that can run on notebooks and laptops, share the same API with Milvus, and integrate with every popular GenAI framework. This webinar is perfect for developers seeking easy-to-use, well-integrated vector databases for their GenAI apps.
Unlocking Productivity: Leveraging the Potential of Copilot in Microsoft 365, a presentation by Christoforos Vlachos, Senior Solutions Manager – Modern Workplace, Uni Systems
5. Introduction – our thinking
translate
Agent
Software
System
• Models are reused
Agent-oriented
Models
{Knowledge}
E.g.UMLmodels
XMLmodels
• Re-generation of the system is
not necessary
CASE
tool
Make
changes
6. The Changing Needs of Requirements
Modelling
1. Technology as enabler
Goals are discovered; may be bottom-up
2. Networked systems and organizations
Composite systems, but dispersed, fluid, contingent, ephemeral
Same for responsibilities, accountability, authority, ownership,…
3. Increased inter-dependency and vulnerability
Dependencies among stakeholders (inc. system elements)
Impact of changes
4. Limited knowledge and control
No single designer with full knowledge and control
5. Openness and uncertainties
Can’t anticipate all eventualities / prescribe responses in advance
6. Cooperation
Beyond vocabulary of “interaction” (behavioural)
Reason about benefits of cooperation – goals, beliefs, conflicts
7. Requirements can be organised around agents.
Agents are responsible for realising the
requirements.
Agent is the container and business rule is the
knowledge to fill the container in the requirements
model.
Agent and business rule complements each other in
the implementation: the former is the actor, the
latter guides it and dictates the role that it plays.
The mapping from requirements to implementation
for both the agent and the business rule brings
traceability.
Two additional model element –
agent
9. i* - agent-oriented modelling
Actors are semi-autonomous, partially
knowable
Strategic actors, intentional dependencies
Meeting Scheduling ExampleMeeting Scheduling Example
“Strategic
Dependency”
Model
10. Analysis and Design of
Agent-Oriented Systems
e.g., Wooldridge Jennings Kinny (JAAMAS
2000) “GAIA”
Analysis level
Roles and Interactions
oPermissions
oResponsibilities
• liveness properties
• safety properties
oActivities
oProtocols
Design level
Agent types
Services
Modelling concepts
being driven from
programming
again?!!
• Structured Analysis
from Structured
Programming
• OOA from OOD, OOP
• AOA from AOP ??
11. What are the important concepts
for
Agent Orientation as a
Modelling Paradigm ?
Intentionality
Autonomy
Sociality
Identity & Boundaries
Strategic Reflectivity
Rational Self-Interest
12. Agent Orientation as a Modelling
Paradigm
Intentionality
Agents are intentional.
Agent intentionality is externally attributed by the
modeller.
Agency provides localization of intentionality.
Agents can relate to each other at an intentional level.
Autonomy
Sociality
Identity & Boundaries
Strategic Reflectivity
Rational Self-Interest
13. Agent Orientation as a Modelling
Paradigm
Intentionality
Autonomy
An agent has its own initiative, and can act
independently. Consequently, for a modeller and from
the viewpoint of other agents:
o its behaviour is not fully predictable.
o It is not fully knowable,
o nor fully controllable.
The behaviour of an agent can be partially
characterized, despite autonomy, using intentional
concepts.
Sociality
Identity & Boundaries
Strategic Reflectivity
Rational Self-Interest
14. Agent Orientation as a Modelling
Paradigm
Intentionality
Autonomy
Sociality
An agent is characterized by its relationships with other agents,
and not by its intrinsic properties alone.
Relationships among agents are complex and generally not
reducible.
Conflicts among many of the relationships that an agent
participates in are not easily resolvable.
Agents tend to have multi-lateral relationships, rather than one-way
relationships.
Agent relationships form an unbounded network
Cooperation among agents cannot be taken for granted.
Autonomy is tempered by sociality.
Identity & Boundaries
Strategic Reflectivity
15. Agent Orientation as a Modelling Paradigm
Intentionality
Autonomy
Sociality
Identity & Boundaries
Agents can be abstract, or physical.
The boundaries, and thus the identity, of an agent are
contingent and changeable.
Agent, both physical and abstract, may be created and
terminated.
Agent behaviour may be classified, and generalized.
Strategic Reflectivity
Rational Self-Interest
16. Agent Orientation as a Modelling
ParadigmAutonomy
Intentionality
Sociality
Identity & Boundaries
Strategic Reflectivity
Agents can reflect upon their own operations.
Development world deliberations and decisions are
usually strategic with respect to the operational world.
The scope of reflectivity is contingent.
Rational Self-Interest
17. Agent Orientation as a Modelling
ParadigmIntentionality
Autonomy
Sociality
Identity & Boundaries
Strategic Reflectivity
Rational Self-Interest
An agent strives to meet its goals.
Self-interest is in a context of social relations.
Rationality is bounded and partial.
18. What is an agent
An agent is an hardware or software system
placed in an environment that enjoys the
following properties:
oAutonomy
oSocial ability
oReactivity
oProactivity
[Wooldridge et al, 1995]
19. A stronger notion of agent
Another stronger notion assigns to the agent also
the following properties:
Mentalistic notions:
o Beliefs
o Desires
o Intentions
Emotional notions:
o Trust
o Friendship
o Suspiciousness
[Wooldridge et al, 1995]
20. When agent notion is useful
The agent notion is adaptable to many HW and SW systems but it
is particularly useful in such contexts where complexity is high
enough to make the simple notion of object insufficient to describe
the system.
The focus is on the behaviour of agents and not on
the content of objects (attributes and methods).
Agent-oriented programming is at an abstraction level higher than
object-oriented programming.
21. Agent-oriented programming (1)
Agent-oriented programming (AOP) is a
specialisation of object-oriented programming (OOP)
in the way the computational system is conceived:
“The computational system is seen as composed of
communicating modules, each with its own way of handling
messages.” [Shoham, 1993]
The (mental) state of modules (agents) consists of
components such as beliefs, capabilities and
intentions.
22. Agent-oriented programming (2)
A computation consists of agents that:
Inform other agents about facts
Offer and request services
Accept or refuse proposals
Compete for accessing shared resources
Collaborate for achieving common goals
OOP AOP
Basic unit Object Agent
Parameters defining state
of basic unit
Unconstrained Belief, commitments,
chioces, …
Process of computation Message passing and
response methods
Message passing and
response methods
Types of messages Unconstrained Inform, request, offer,
promise, decline
Constraints on methods None Honesty, consistency, …
23.
24. What is Agent UML
Agent UML is a support notation for agent-oriented
systems development.
It consists in using the UML modeling language
and extending it in order to represent agents, their
behaviour and interactions among them.
AUML is not restricted to using UML. Other
approaches should be used wherever it makes
sense.
25. Who is interested in AUML
OMG Special Interest Group:OMG Special Interest Group: recommends
standards for agent technology where
appropriate (www.omg.org)
FIPA (Foundation for intelligent physicalFIPA (Foundation for intelligent physical
Agents)Modeling Technical Commitee:Agents)Modeling Technical Commitee:
tasked with developing an AUML standard
(www.auml.org)
Other methodologies:Other methodologies: MESSAGE, Gaia,
Tropos, Prometheus, MaSE, ...
26. Common features of agents
Agents share some common characteristics:
Identifier
• identifies each agent in a multiagent system
Role
• defines the behaviour of an agent into the society (es. Seller, Buyer)
Organization
• defines the relationships between the roles (similar to human or
animal organizations such as hierarchies, markets, groups of interest
or herds)
Capability
• specifies what an agent is able to do and under what conditions
Service
• describes an activity that an agent can perform and is provided to
other agents
27. Representation of agents
UML Class Diagrams can be used to represent
the static view of agents.
<<agent>> agent-name
Role
role 1, role 2, …, role n
role dynamic 1, role dynamic 2, …, role dynamic n
Organization
organization 1, organization 2, …, organization n
org dynamic 1, org dynamic 2, …, org dynamic n
28. Capabilities representation (1)
A capability is composed of the following parts:
Input
o What the agent must receive in input to achieve his task
Output
o What the capability generates as a result of the work
Input constraints
o Constraints that are expected to hold in the situation before the action specified by
the capability can be performed
Output constraints
o Constraints hat are expected to hold in the situation after the action specified by
the capability has been performed
Input-output constraints
o Constraints that must hold across input and output situations
Description
o A description in natural language of the capability
29. Capabilities representation (2)
<<capability>> addition
Input
x,y:Integer
Output
s:Integer
Description
This capability makes the sum of
two integers and returns an integer
<<agent>> sum
Role
addition, subtraction
rd 1
Organization
calculator
Protocol
enter-society, exit-society
compute
<<capability>> subtraction
Input
x,y:Integer
Output
d:Integer
Input Constraint
x>=0, y>=0
Input-Output Constraint
x-y >=0
Description
This capability makes the
difference of two integers and
returns an integer
• Example of capability representation:
The agent ‘sum’ has two
capabilities expressing the fact
that he is able to make additions
and subtractions
They can be defined
using OCL or simple
logic expressions
30. Service representation (1)
A service is composed of the following parts:
Name
• The name of the service
Description
• A description in natural language of the service
Type
• The type of the service
Protocol
• A list of interaction protocols supported by the service
Agent communication language
• The communication languages used in this service
Ontology
• A list of ontologies supported by the service
Content language
• A list of content languages supported by the service
Properties
• A list of properties that discriminate the service
31. Service representation (2)
<<agent>> sum
Role
addition, subtraction
rd 1
Organization
calculator
Protocol
enter-society, exit-society
compute
<<service>> computation
Description
This service makes an addition when
requested by the request addition
protocol and makes a subtraction
when requested by the request-
subtraction protocol
Type
computation
Protocol
request-addition
request-subtraction
Agent Communication Language
FIPA ACL
Ontology
computation ontology
Content Language
FIPA SL
• Example of service representation:
The agent ‘sum’ exports a service that
makes additions and subtractions on
demand
33. Concurrent interactions (1)
UML has been extended in order to
represent concurrent communication acts
sent from the sender agent to the
receiver.
a) Concurrent communication acts from
CA-1 to CA-n are sent in parallel.
b) A selection of the n acts is sent in
parallel (zero or more).
c) Exclusive choice: only one of the
communication acts is sent.
34. Concurrent interactions (2)
a) An agent sends 3 concurrent CA
to another agent. The diagram can
be interpreted in two different ways:
Every CA is processed from the
same agent/role by a different thread
of execution
Every CA is processed by a different
role of the agent (in this case
mesages can be annotated
specifying the role)
b) The same semantic of (a) but with
a simpler notation
c) Choice from three different
communication act received by
three different threads (or roles)
NOTE: each concurrent CA
can be sent to different
agents
35. Example of interaction
The Buyer sends a request-for-
proposal to the Seller
The Seller has three options to
choose within the deadline:
make a proposal
refuse (with different reasons)
say he did not understand
If the Seller has made a
proposal, the Buyer has the
choice to reject or to accept it
If the last is the case, the Seller
schedules the proposal
informing the Buyer about its
the state
The Buyer can cancel the
proposal execution at any time
36. Detailing interaction messages
Any interaction process
can be expressed in
more detail.
The “leveling” can
continue down until the
problem has been
specified adequately to
generate code.
Also activity diagrams
and statecharts can be
used.
37. Roles management
UML sequence diagrams can be used to represent
changes in agents’ role.
38. Object role in AOP
Objects may always be included in an agent-oriented system
and can communicate with agents using message passing
methods.
39. References (1)
Agents
[Wooldridge et al, 1995]
Wooldridge and Jennings
Intelligent Agents: Theory and Practice
Knowledge Engineering Review
Volume 10 No 2, June 1995
Cambridge University Press
(www.csc.liv.ac.uk/~mjw/pubs/ker95/ker95-html.html)
[Shoham, 1993]
Y. Shoham
Agent-oriented programming
Artificial Intelligence
60(1):51-92
(http://www.ncat.edu/~esterlin/c7902s02/Notes/Shoham.pdf)
If you have several points, steps, or key ideas use multiple slides. Determine if your audience is to understand a new idea, learn a process, or receive greater depth to a familiar concept. Back up each point with adequate explanation. As appropriate, supplement your presentation with technical support data in hard copy or on disc, e-mail, or the Internet. Develop each point adequately to communicate with your audience.