Developing Agent Models with Repast Michael North
|
|
- Lora Hoover
- 5 years ago
- Views:
Transcription
1 Developing Agent Models with Repast Michael North
2 Agent-Based Models Can Be Constructed Using a Variety of Approaches Environments are the stage upon which agents play These environments must be constructed A variety of processes exist to construct software, including agent-based models: Traditional methods such as the systems development life cycle ( waterfall ) method or the evolutionary spiral method can be used Newly emerging agile development methods such as Extreme Programming can be used Plain old quick and dirty coding can be used Many, many other approaches exist Software Engineering is a complex discipline, there is no need to restate the details of these methods here However, regardless of which methods are used, several important issues must be addressed when developing and using models
3 Several Important Issues Must Be Addressed When Developing and Using Models The model must be correctly designed The model should be fully documented The model must undergo suitable verification and validation (V&V) The model must be properly used
4 ABMS Design is Often Iterative and Evolutionary ABMS design is often iterative: Most substantial designs undergo major revisions before they are completed The revisions often occur in stages where a design concept is considered, tested in a prototype form, and then adjusted as needed Prototyping is often done using live simulations, simple tools such as StarLogo, or even Excel spreadsheets The steps need not be explicitly defined and are often simply implicit ABMS design is often evolutionary: The model designers learn more about the model (and possibly the underlying system) during each design iteration This learning can be used to improve the design during the next step
5 ABMS Architectures Have Three Basic Components User Interface The interface collects input data and displays output data The simulation engine performs the simulation work Data Flow Simulation Engine Data Flow Data Flow Data Storage Data storage provides persistence for agents and their environments
6 The ABMS Architectural Components are Conceptual The ABMS architectural components define core architectural functions These core functions can be provided by a huge range of software tools These core functions can be implemented in many different combinations, for example: Some ABMS tools unify the user interface and simulation engine functions into a single package Some user interface tools use completely different mechanisms for input collection and output reporting These components are not intended to define a single rigid ABMS architecture, but rather they are intended to provide a solid conceptual framework for later learning and ABMS tool selection
7 Several ABMS Architectural Styles Are Commonly Used Tightly coupled architectures confine the user interface and simulation engine components into a single process space or program An example is a monolithic C program Another example is a basic Java console application Loosely coupled architectures divide the user interface and simulation engine components into separate process spaces or programs An example is a Java program with a Java Servlet interface Another example is a Microsoft Visual C++ program with a Visual Basic interface Distributed architectures spread the user interface and simulation engine components across separate processes on many computers An example is a Java Remote Method Invocation (RMI) program with a Java Servlet interface Another example is a Visual C++ Distributed Component Object Model (DCOM) program with a Active Server Pages (ASP) interface
8 Tightly Coupled Architectures Tend to Be Easier To Work With But Less Scalable Than the Other Architectures Tightly coupled architectures tend to be simpler than the other styles: They tend to have fewer required modules, since modules can simultaneously handle display, simulation, and storage They tend to have simpler communications between modules, since direct function calls are usually sufficient Since they tend to be simpler, systems with tightly coupled architectures are usually easier to develop and maintain than those designed using one of the other architectures However, since these architectures are not as well factored, they tend to be less scalable than the other architectures: Tightly coupled architectures are well suited to small-scale ABMS Tightly coupled architectures generally are not well suited to medium or large-scale ABMS
9 Loosely Coupled Architectures Tend to Sit Between the Other Styles In Terms of Development Challenge and Scalability Loosely coupled architectures tend to be be more complex than tightly coupled architectures: They tend to have more required modules, since display, simulation, and storage are separated for each program function They tend to have more complex communications between modules, since direct function calls alone are often not sufficient Loosely coupled architectures tend to be simpler than distributed architectures: They tend to have fewer required modules, since a single module usually provides the simulation engine functions They tend to have less complex communication within the simulation module since direct function calls are usually sufficient However, since the simulation engine is not as well factored as in distributed architectures, loosely coupled architectures tend to be less scalable on the high end Loosely coupled architectures are generally well suited to medium-scale but not large-scale ABMS
10 Distributed Architectures Tend To Be the Most Scalable But Also the Most Challenging to Develop Distributed architectures tend to be be more complex than loosely coupled architectures: They tend to have more required modules, since they have separate modules for various simulation engine functions, as well as for display and storage They tend to have more complex communications between modules, since direct function calls are usually not sufficient, even within the simulation engine However, since the simulation engine is better factored than in loosely coupled architectures, distributed architectures tend to be much more scalable Distributed architectures generally are well suited to largescale ABMS
11 A Tale of Two Models Design: Use a random distribution to gerne generate a random variate. Apply this variate to the subject heading, following a motion using the previous heading. The motion previously one referred to should use a distance of three. Repeat for the other direction of rotation. Bound the rotations by 50 degrees. Do this to wiggle. exclusive Code: to a15050 [ fd 1 rt random 50 lt random 50] end Excerpts from Model A Design: Use the following steps to wiggle: 1. Move one space forward in the current direction. 2. Try turning right by a random number of degrees between one and Try turning left by a random number of degrees between one and 49. Code: to wiggle ;; Move one space forward. forward 1 ;; Try turning right. right random 50 ;; Try turning left left random 50 end Excerpts from Model B
12 How Can Agent Environments Be Designed? There are many ways to proceed One suggested path is as follows: Define the relevant agents Define the relevant agent interactions Pick the simplest topology that will support the relevant agent interactions, unless there is a very specific reason to chose a more complicated one Add as little agent-environment interaction as possible to support the relevant agent interactions, unless there is a very specific reason to add more Test the resulting model Grudgingly add complexity to the topology and details to the agent-environment interaction until the model works as desired
13 How Can Agent Topologies Be Selected? Defining the topology of interaction is a process of abstraction: For example, few real-life interactions are actually defined by a grid However, a grid still might capture the relevant dynamics of the interaction of interest The design of agent environments is largely dictated by interaction topology and implementation concerns: Some topologies are more amenable to certain kinds of interactions Some topologies are more or less supported among various toolkits In particular, implementations become more complicated when visualization of custom environments is required Note that topology selections can cause artifacts such as agentenvironment couplings
14 V&V, V&V, V&V! Verification matches a model against its design Validation matches a model against its real world subject Design Model Subject Verification Validation According to many modelers, V&V is the single most important step in model development: Before appropriate V&V, models are toys After appropriate V&V, models are tools V&V can be a complex process: Law and Kelton s book describes model V&V in detail Today some basic ideas will be discussed
15 CYA ( Cover( Your Analysis ) One simple way to think about V&V is covering cases: Cases are reasonable combinations of inputs and outputs for a design, a model, or a subject In principle, a model is fully verified when all of the design cases correctly match model cases and vice versa In principle, a model is fully validated when all of the model cases correctly match real world cases and vice versa For many substantial models, fully explicit coverage is difficult if not impossible However, meaningful areas can be covered
16 V&V is Like Painting The set of all possible cases Parameter sweeps can be used to collect data for statistical analysis Cases based on known results and standard models can be covered Cases that are of special interest or likely to reveal problems can be covered Many other approaches are also possible, these are only some example suggestions See Law and Kelton for a more complete coverage
17 Use It (Properly) or Lose It! Even properly designed and developed models can be misused Properly using models properly requires attention to many issues including the following: The model s data requirements must be understood and met The model s design limits must be understood and followed The model s V&V limits must be understood and followed The model s stochastic requirements, if any, must be understood and met User education is key
18 Agents Exist Within Environments and Model Development Processes Agents exist within environments, including the following: Soups Grids Networks and graphs Irregular polygons Quasi-agent environments Agents exist within model development processes Both of these homes where discussed today
19 Now for More Fun! Let s do some additional hands-on exercises
20 Developing Agent Models with Repast Are there additional questions? Michael North
An Introduction to Agent Based Modeling with Repast Michael North
An Introduction to Agent Based Modeling with Repast Michael North north@anl.gov www.cas.anl.gov Repast is an Agent-Based Modeling and Simulation (ABMS) Toolkit with a Focus on Social Simulation Our goal
More informationIntroduction to Software Engineering
Introduction to Software Engineering Gérald Monard Ecole GDR CORREL - April 16, 2013 www.monard.info Bibliography Software Engineering, 9th ed. (I. Sommerville, 2010, Pearson) Conduite de projets informatiques,
More informationChapter 3 Parallel Software
Chapter 3 Parallel Software Part I. Preliminaries Chapter 1. What Is Parallel Computing? Chapter 2. Parallel Hardware Chapter 3. Parallel Software Chapter 4. Parallel Applications Chapter 5. Supercomputers
More informationArchitectural Styles - Finale
Material and some slide content from: - Emerson Murphy-Hill - Software Architecture: Foundations, Theory, and Practice - Essential Software Architecture Architectural Styles - Finale Reid Holmes Lecture
More informationSystem Development Life Cycle Methods/Approaches/Models
Week 11 System Development Life Cycle Methods/Approaches/Models Approaches to System Development System Development Life Cycle Methods/Approaches/Models Waterfall Model Prototype Model Spiral Model Extreme
More informationCS487 Midterm Exam Summer 2005
1. (4 Points) How does software differ from the artifacts produced by other engineering disciplines? 2. (10 Points) The waterfall model is appropriate for projects with what Characteristics? Page 1 of
More informationParadigms of computer programming
Paradigms of computer programming Louv1.1x and Louv1.2x form a two-course sequence Together they teach programming as a unified discipline that covers all programming languages Second-year university level:
More informationMicroservices Beyond the Hype. SATURN San Diego May 3, 2016 Paulo Merson
Microservices Beyond the Hype SATURN San Diego May 3, 2016 Paulo Merson Our goal Try to define microservice Discuss what you gain and what you lose with microservices 2 Defining Microservice Unfortunately
More informationChapter 8 Web Services Objectives
Chapter 8 Web Services Objectives Describe the Web services approach to the Service- Oriented Architecture concept Describe the WSDL specification and how it is used to define Web services Describe the
More informationProcess of Interaction Design and Design Languages
Process of Interaction Design and Design Languages Process of Interaction Design This week, we will explore how we can design and build interactive products What is different in interaction design compared
More informationSoftware Engineering Lifecycles. Controlling Complexity
Software Engineering Lifecycles Class url:http://laser.cs.umass.edu/courses/cs320.spring11/ Controlling Complexity Separation of Concerns Planning Ahead Do a little work now to make later work easier The
More informationThe Bizarre Truth! Automating the Automation. Complicated & Confusing taxonomy of Model Based Testing approach A CONFORMIQ WHITEPAPER
The Bizarre Truth! Complicated & Confusing taxonomy of Model Based Testing approach A CONFORMIQ WHITEPAPER By Kimmo Nupponen 1 TABLE OF CONTENTS 1. The context Introduction 2. The approach Know the difference
More informationA unified multicore programming model
A unified multicore programming model Simplifying multicore migration By Sven Brehmer Abstract There are a number of different multicore architectures and programming models available, making it challenging
More informationSoftware Prototyping Animating and demonstrating system requirements. Uses of System Prototypes. Prototyping Benefits
Software Prototyping Animating and demonstrating requirements Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapter 8 Slide 1 Uses of System Prototypes
More informationSoftware Life Cycle. Main issues: Discussion of different life cycle models Maintenance or evolution
Software Life Cycle Main issues: Discussion of different life cycle models Maintenance or evolution Introduction software development projects are large and complex a phased approach to control it is necessary
More informationVerification, Testing, and Bugs
Verification, Testing, and Bugs Ariane 5 Rocket First Launch Failure https://www.youtube.com/watch?v=gp_d8r- 2hwk So What Happened? The sequence of events that led to the destruction of the Ariane 5 was
More informationChapter 4 Objectives
Chapter 4 Objectives Eliciting requirements from the customers Modeling requirements Reviewing requirements to ensure their quality Documenting requirements for use by the design and test teams 4.1 The
More informationSOME TYPES AND USES OF DATA MODELS
3 SOME TYPES AND USES OF DATA MODELS CHAPTER OUTLINE 3.1 Different Types of Data Models 23 3.1.1 Physical Data Model 24 3.1.2 Logical Data Model 24 3.1.3 Conceptual Data Model 25 3.1.4 Canonical Data Model
More informationPROCESSES AND THREADS
PROCESSES AND THREADS A process is a heavyweight flow that can execute concurrently with other processes. A thread is a lightweight flow that can execute concurrently with other threads within the same
More informationCreating a Lattix Dependency Model The Process
Creating a Lattix Dependency Model The Process Whitepaper January 2005 Copyright 2005-7 Lattix, Inc. All rights reserved The Lattix Dependency Model The Lattix LDM solution employs a unique and powerful
More informationManaging Change and Complexity
Managing Change and Complexity The reality of software development Overview Some more Philosophy Reality, representations and descriptions Some more history Managing complexity Managing change Some more
More informationSystem Design and Modular Programming
CS3 Programming Methodology Lecture Note D1, 2 November 2000 System Design and Modular Programming System design involves meeting competing requirements and satisfying constraints on the system and the
More informationSystem types. Distributed systems
System types 1 Personal systems that are designed to run on a personal computer or workstation Distributed systems where the system software runs on a loosely integrated group of cooperating processors
More informationTutorial 1 Answers. Question 1
Tutorial 1 Answers Question 1 Complexity Software in it what is has to do, is often essentially complex. We can think of software which is accidentally complex such as a large scale e-commerce system (simple
More informationChapter 10 Working with Graphs and Charts
Chapter 10: Working with Graphs and Charts 163 Chapter 10 Working with Graphs and Charts Most people understand information better when presented as a graph or chart than when they look at the raw data.
More informationThe Repast Simulation/Modelling System for Geospatial Simulation. Andrew Crooks. CASA University College London 1-19 Torrington Place London
The Repast Simulation/Modelling System for Geospatial Simulation Andrew Crooks CASA University College London 1-19 Torrington Place London http://www.casa.ucl.ac.uk http://www.gisagents.blogspot.com Introduction
More informationAn Introduction to Software Architecture. David Garlan & Mary Shaw 94
An Introduction to Software Architecture David Garlan & Mary Shaw 94 Motivation Motivation An increase in (system) size and complexity structural issues communication (type, protocol) synchronization data
More informationS1 Informatic Engineering
S1 Informatic Engineering Advanced Software Engineering Web App. Process and Architecture By: Egia Rosi Subhiyakto, M.Kom, M.CS Informatic Engineering Department egia@dsn.dinus.ac.id +6285640392988 SYLLABUS
More informationMaking Frameworks More Useable: Using Model Introspection and Metadata to Develop Model Processing Tools
Making Frameworks More Useable: Using Model Introspection and Metadata to Develop Model Processing Tools J.M.Rahman,S.Seaton,S.M.Cuddy Cooperative Research Centre for Catchment Hydrology, CSIRO Land and
More informationAdvOSS AAA: Architecture, Call flows and implementing emerging business use cases
AdvOSS AAA: Architecture, Call flows and implementing emerging business use cases An AdvOSS White Paper Latest version of this white paper can always be found at http://advoss.com/resources/whitepapers/advoss-aaa-workflows.pdf
More information3. XML Foundations; Introduction to Modeling
3. XML Foundations; Introduction to Modeling DE + IA (INFO 243) - 30 January 2008 Bob Glushko 1 of 35 Plan for Today's Lecture XML Foundations for Document Engineering Models and modeling The classical
More informationSoftware Architecture
Software Architecture Architectural Design and Patterns. Standard Architectures. Dr. Philipp Leitner @xleitix University of Zurich, Switzerland software evolution & architecture lab Architecting, the planning
More informationINTRODUCTION TO Object Oriented Systems BHUSHAN JADHAV
INTRODUCTION TO Object Oriented Systems 1 CHAPTER 1 Introduction to Object Oriented Systems Preview of Object-orientation. Concept of distributed object systems, Reasons to distribute for centralized objects.
More informationArchitectural Styles. Reid Holmes
Material and some slide content from: - Emerson Murphy-Hill - Software Architecture: Foundations, Theory, and Practice - Essential Software Architecture Architectural Styles Reid Holmes Lecture 5 - Tuesday,
More informationCSE 70 Final Exam Fall 2009
Signature cs70f Name Student ID CSE 70 Final Exam Fall 2009 Page 1 (10 points) Page 2 (16 points) Page 3 (22 points) Page 4 (13 points) Page 5 (15 points) Page 6 (20 points) Page 7 (9 points) Page 8 (15
More informationAppendix A - Glossary(of OO software term s)
Appendix A - Glossary(of OO software term s) Abstract Class A class that does not supply an implementation for its entire interface, and so consequently, cannot be instantiated. ActiveX Microsoft s component
More informationPARAMETRIC BIM WORKFLOWS
Y. Ikeda, C. M. Herr, D. Holzer, S. Kaijima, M. J. Kim. M, A, Schnabel (eds.), Emerging Experience in Past, Present and Future of Digital Architecture, Proceedings of the 20th International Conference
More informationIntegration Testing Qualidade de Software 2
Integration Testing Integration Testing Software systems are built with components that must interoperate Primary purpose: To reveal component interoperability faults so that testing at system scope may
More informationDictionary Driven Exchange Content Assembly Blueprints
Dictionary Driven Exchange Content Assembly Blueprints Concepts, Procedures and Techniques (CAM Content Assembly Mechanism Specification) Author: David RR Webber Chair OASIS CAM TC January, 2010 http://www.oasis-open.org/committees/cam
More informationInfor Education. Mongoose Workshop. Infor Education. Mongoose Workshop. Class 5: Introduction to Mongoose. (Use this guide for this course.
Infor Education Class 5: Introduction to Mongoose Student Guide (Use this guide for this course.) Student Guide Introduction to Mongoose Page: 1 of 35 Welcome to the Infor Education. You have been provided
More informationJDBC(TM) API Tutorial And Reference: Universal Data Access For The Java(TM) 2 Platform (2nd Edition) Download Free (EPUB, PDF)
JDBC(TM) API Tutorial And Reference: Universal Data Access For The Java(TM) 2 Platform (2nd Edition) Download Free (EPUB, PDF) This book provides the definitive description of the JDBCaA A API, the technology
More informationSystems Analysis and Design in a Changing World, Fourth Edition
Systems Analysis and Design in a Changing World, Fourth Edition Systems Analysis and Design in a Changing World, 4th Edition Learning Objectives Explain the purpose and various phases of the systems development
More informationUser-Centered Development
Software Lifecycle CS470 User-Centered Development User-centered development refers to a design process for creating a system that meets the needs of the user Users should be included in the design process
More informationChapter 1: Distributed Information Systems
Chapter 1: Distributed Information Systems Contents - Chapter 1 Design of an information system Layers and tiers Bottom up design Top down design Architecture of an information system One tier Two tier
More informationAvancier Methods. Very basic design patterns. It is illegal to copy, share or show this document
Methods Very basic design patterns It is illegal to copy, share or show this document (or other document published at http://avancier.co.uk) without the written permission of the copyright holder Copyright
More informationClient/Server-Architecture
Client/Server-Architecture Content Client/Server Beginnings 2-Tier, 3-Tier, and N-Tier Architectures Communication between Tiers The Power of Distributed Objects Managing Distributed Systems The State
More informationshortcut Tap into learning NOW! Visit for a complete list of Short Cuts. Your Short Cut to Knowledge
shortcut Your Short Cut to Knowledge The following is an excerpt from a Short Cut published by one of the Pearson Education imprints. Short Cuts are short, concise, PDF documents designed specifically
More informationGustavo Alonso, ETH Zürich. Web services: Concepts, Architectures and Applications - Chapter 1 2
Chapter 1: Distributed Information Systems Gustavo Alonso Computer Science Department Swiss Federal Institute of Technology (ETHZ) alonso@inf.ethz.ch http://www.iks.inf.ethz.ch/ Contents - Chapter 1 Design
More information6. The Document Engineering Approach
6. The Document Engineering Approach DE + IA (INFO 243) - 11 February 2008 Bob Glushko 1 of 40 Plan for Today's Class Modeling Methodologies The Document Engineering Approach 2 of 40 What Modeling Methodologies
More informationThe requirements engineering process
3 rd Stage Lecture time: 8:30-12:30 AM Instructor: Ali Kadhum AL-Quraby Lecture No. : 5 Subject: Software Engineering Class room no.: Department of computer science Process activities The four basic process
More informationCHEP 2013 October Amsterdam K De D Golubkov A Klimentov M Potekhin A Vaniachine
Task Management in the New ATLAS Production System CHEP 2013 October 14-18 K De D Golubkov A Klimentov M Potekhin A Vaniachine on behalf of the ATLAS Collaboration Overview The ATLAS Production System
More informationPassionate designer with a love for solving design problems using feasible and creative solutions
Ramya Jayakumar Mobile: 980-430-9942 Email: ramyajayakumar7@gmail.com Portfolio:www.ramyajayakumar.com Summary Passionate designer with a love for solving design problems using feasible and creative solutions
More informationSoftware Architecture in Practice
Software Architecture in Practice Chapter 5: Architectural Styles - From Qualities to Architecture Pittsburgh, PA 15213-3890 Sponsored by the U.S. Department of Defense Chapter 5 - page 1 Lecture Objectives
More informationImplementing a Numerical Data Access Service
Implementing a Numerical Data Access Service Andrew Cooke October 2008 Abstract This paper describes the implementation of a J2EE Web Server that presents numerical data, stored in a database, in various
More informationOrganization of User Interface Software
Organization of User Interface Software Administration Questions about assignments due and assignments assigned 2 What we will talk about Ways to organize UI code Different models of user interfaces as
More informationSemantic Web in a Constrained Environment
Semantic Web in a Constrained Environment Laurens Rietveld and Stefan Schlobach Department of Computer Science, VU University Amsterdam, The Netherlands {laurens.rietveld,k.s.schlobach}@vu.nl Abstract.
More informationSoftware Development Methodologies
Software Development Methodologies Lecturer: Raman Ramsin Lecture 8 Agile Methodologies: XP 1 extreme Programming (XP) Developed by Beck in 1996. The first authentic XP book appeared in 1999, with a revised
More informationThe Software Design Process. CSCE 315 Programming Studio, Fall 2017 Tanzir Ahmed
The Software Design Process CSCE 315 Programming Studio, Fall 2017 Tanzir Ahmed Outline Challenges in Design Design Concepts Heuristics Practices Challenges in Design A problem that can only be defined
More informationSoftware Architecture
Software Architecture Definitions http://www.sei.cmu.edu/architecture/ published_definitions.html ANSI/IEEE Std 1471-2000, Recommended Practice for Architectural Description of Software- Intensive Systems
More informationSensitivity Analysis. Nathaniel Osgood. NCSU/UNC Agent-Based Modeling Bootcamp August 4-8, 2014
Sensitivity Analysis Nathaniel Osgood NCSU/UNC Agent-Based Modeling Bootcamp August 4-8, 2014 Types of Sensitivity Analyses Variables involved One-way Multi-way Type of component being varied Parameter
More informationTYPES OF PARAMETRIC MODELLING
Y. Ikeda, C. M. Herr, D. Holzer, S. Kaijima, M. J. J. Kim. M, A, A, Schnabel (eds.), Emerging Experiences of in Past, the Past, Present Present and and Future Future of Digital of Digital Architecture,
More informationSpecifying and Prototyping
Contents Specifying and Prototyping M. EVREN KIYMAÇ 2008639030 What is Specifying? Gathering Specifications Specifying Approach & Waterfall Model What is Prototyping? Uses of Prototypes Prototyping Process
More informationAchieving Right Automation Balance in Agile Projects
Achieving Right Automation Balance in Agile Projects Vijayagopal Narayanan Vijayagopal.n@cognizant.com Abstract When is testing complete and How much testing is sufficient is a fundamental questions that
More informationDistributed Algorithms. Partha Sarathi Mandal Department of Mathematics IIT Guwahati
Distributed Algorithms Partha Sarathi Mandal Department of Mathematics IIT Guwahati Thanks to Dr. Sukumar Ghosh for the slides Distributed Algorithms Distributed algorithms for various graph theoretic
More informationVisual Application Usage Modeling with UCML 1.1. Scott Barber Chief Technology Officer PerfTestPlus, Inc. STAR East, 2004 Orlando, FL
Visual Application Usage Modeling with UCML 1.1 First Presented for: STAR East, 2004 Orlando, FL Scott Barber Chief Technology Officer PerfTestPlus, Inc. UCML 1.1 Page 1 Agenda Introduction and Learning
More informationIntegration Test Plan. Angry Face Studios
Integration Test Plan Angry Face Studios April 9, 2008 Contents 1 Revision History 3 2 Introduction 4 2.1 Scope................................................. 4 2.2 Purpose................................................
More informationEnterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions
Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions Chapter 1: Solving Integration Problems Using Patterns 2 Introduction The Need for Integration Integration Challenges
More informationABMSync: An Object-Oriented Reimplementation of PS-I. Randall Fradin Steve Pelhan
ABMSync: An Object-Oriented Reimplementation of PS-I Randall Fradin (fradin@wharton.upenn.edu) Steve Pelhan (pelhan@seas.upenn.edu) Faculty Advisor: Professor Barry Silverman Abstract The purpose of this
More informationSoftware Processes. Ian Sommerville 2006 Software Engineering, 8th edition. Chapter 4 Slide 1
Software Processes Ian Sommerville 2006 Software Engineering, 8th edition. Chapter 4 Slide 1 Objectives To introduce software process models To describe three generic process models and when they may be
More informationRendering and Radiosity. Introduction to Design Media Lecture 4 John Lee
Rendering and Radiosity Introduction to Design Media Lecture 4 John Lee Overview Rendering is the process that creates an image from a model How is it done? How has it been developed? What are the issues
More informationStack Machines. Towards Scalable Stack Based Parallelism. 1 of 53. Tutorial Organizer: Dr Chris Crispin-Bailey
1 of 53 Stack Machines Towards Scalable Stack Based Parallelism Tutorial Organizer: Department of Computer Science University of York 2 of 53 Today s Speakers Dr Mark Shannon Dr Huibin Shi 3 of 53 Stack
More informationThree General Principles of QA. COMP 4004 Fall Notes Adapted from Dr. A. Williams
Three General Principles of QA COMP 4004 Fall 2008 Notes Adapted from Dr. A. Williams Software Quality Assurance Lec2 1 Three General Principles of QA Know what you are doing. Know what you should be doing.
More informationChallenges motivating deep learning. Sargur N. Srihari
Challenges motivating deep learning Sargur N. srihari@cedar.buffalo.edu 1 Topics In Machine Learning Basics 1. Learning Algorithms 2. Capacity, Overfitting and Underfitting 3. Hyperparameters and Validation
More informationThe Design Space of Software Development Methodologies
The Design Space of Software Development Methodologies Kadie Clancy, CS2310 Term Project I. INTRODUCTION The success of a software development project depends on the underlying framework used to plan and
More informationAzure Integration Services
Azure Integration Services 2018 Microsoft Corporation. All rights reserved. This document is provided "as-is." Information and views expressed in this document, including URL and other Internet Web site
More informationTest Driven Development. René Barto SES Agile Development - Test Driven Development
Test Driven Development René Barto SES Agile Development - Test Driven Development 27-09-2006 Contents About Myself About SES Agile Development A Typical Developer s Day Test Driven Development Questions
More informationLabVIEW Basics. Based on LabVIEW 2011 Student Edition
LabVIEW Basics Based on LabVIEW 2011 Student Edition Virtual instruments LabVIEW works on a data flow model in which information within a LabVIEW program, called a virtual instrument (VI), flows from data
More informationOracle Application Development Framework Overview
An Oracle White Paper July 2009 Oracle Application Development Framework Overview Introduction... 1 Oracle ADF Making Java EE Development Simpler... 2 THE ORACLE ADF ARCHITECTURE... 3 The Business Services
More informationNext-Generation Architecture for Virtual Prototyping
Next-Generation Architecture for Virtual Prototyping Dr. Bipin Chadha John Welsh Principal Member Manager Lockheed Martin ATL Lockheed Martin ATL (609) 338-3865 (609) 338-3865 bchadha@atl.lmco.com jwelsh@atl.lmco.com
More informationSE420 - Software Quality Assurance
SE420 - Software Quality Assurance http://dilbert.com/strips/comic/2006-01-29/ Lecture 3 Unit Testing, Part-2 January 21, 2019 Sam Siewert Reminders Assignment #2 Posted Thursday [Unit Re-Use] Explore
More informationCSC Advanced Object Oriented Programming, Spring Overview
CSC 520 - Advanced Object Oriented Programming, Spring 2018 Overview Brief History 1960: Simula first object oriented language developed by researchers at the Norwegian Computing Center. 1970: Alan Kay
More informationFundamentals of STEP Implementation
Fundamentals of STEP Implementation David Loffredo loffredo@steptools.com STEP Tools, Inc., Rensselaer Technology Park, Troy, New York 12180 A) Introduction The STEP standard documents contain such a large
More informationOther Issues. Context
25 Other Issues This sentence contradicts itself or rather well, no, actually it doesn t! Douglas Hofstadter We re done with acceptance testing. No, not really. Here are a few more issues that didn t seem
More informationTopic : Object Oriented Design Principles
Topic : Object Oriented Design Principles Software Engineering Faculty of Computing Universiti Teknologi Malaysia Objectives Describe the differences between requirements activities and design activities
More informationThese are notes for the third lecture; if statements and loops.
These are notes for the third lecture; if statements and loops. 1 Yeah, this is going to be the second slide in a lot of lectures. 2 - Dominant language for desktop application development - Most modern
More informationSoftware Components and Distributed Systems
Software Components and Distributed Systems INF5040/9040 Autumn 2017 Lecturer: Eli Gjørven (ifi/uio) September 12, 2017 Outline Recap distributed objects and RMI Introduction to Components Basic Design
More informationSOFTWARE LIFE-CYCLE MODELS 2.1
SOFTWARE LIFE-CYCLE MODELS 2.1 Outline Software development in theory and practice Software life-cycle models Comparison of life-cycle models 2.2 Software Development in Theory Ideally, software is developed
More informationIncremental development A.Y. 2018/2019
Incremental development A.Y. 2018/2019 Incremental development Interleaves the activities of specification, development, and validation. The system is developed as a series of versions (increments), with
More informationSoftware Development Process Models
Software Development Process Models From classical notions to more agile approaches th@cs.toronto.edu, BA8134 Code & Fix or Cowboy Coding 1) Write program 2) Test and fix program Problems: program users
More informationHow to integrate data into Tableau
1 How to integrate data into Tableau a comparison of 3 approaches: ETL, Tableau self-service and WHITE PAPER WHITE PAPER 2 data How to integrate data into Tableau a comparison of 3 es: ETL, Tableau self-service
More informationSOFTWARE ENGINEERING. Lecture 6. By: Latifa ALrashed. Networks and Communication Department
1 SOFTWARE ENGINEERING Networks and Communication Department Lecture 6 By: Latifa ALrashed Outline q q q q q q q q Define the concept of the software life cycle in software engineering. Identify the system
More informationChapter 1: Introduction
Chapter 1: Introduction This dissertation will describe the mathematical modeling and development of an innovative, three degree-of-freedom robotic manipulator. The new device, which has been named the
More information1: Software Development and.net. An approach to building software
1: Software Development and.net An approach to building software Overview Programming in software development Life-Cycles for software development Object-orientation and modelling Requirements analysis
More informationImplementation Architecture
Implementation Architecture Software Architecture VO/KU (707023/707024) Roman Kern ISDS, TU Graz 2017-11-15 Roman Kern (ISDS, TU Graz) Implementation Architecture 2017-11-15 1 / 54 Outline 1 Definition
More informationCSCI-1200 Data Structures Spring 2018 Lecture 14 Associative Containers (Maps), Part 1 (and Problem Solving Too)
CSCI-1200 Data Structures Spring 2018 Lecture 14 Associative Containers (Maps), Part 1 (and Problem Solving Too) HW6 NOTE: Do not use the STL map or STL pair for HW6. (It s okay to use them for the contest.)
More informationSystem development, design & implementation
System development, design & implementation Design of software The following are the principle for any software design : Modularity and partitioning : Top down methods are used through out the analysis
More informationReference Policy for Security Enhanced Linux Christopher J. PeBenito, Frank Mayer, Karl MacMillan Tresys Technology
Reference Policy for Security Enhanced Linux Christopher J. PeBenito, Frank Mayer, Karl MacMillan Tresys Technology Abstract The Reference Policy project is an effort to restructure the NSA example policy
More informationCMSC 435: Software Engineering Section 0201
CMSC 435: Software Engineering Section 0201 Atif M. Memon (atif@cs.umd.edu) 4115 A.V.Williams building Phone: 301-405-3071 Office hours Tu.Th. (11:00am-1:00pm) Don t wait, don t hesitate, do communicate!!
More informationCHAPTER 1. Objects, UML, and Java
chpt_01.fm Page 1 Tuesday, December 4, 2001 10:24 AM CHAPTER 1 Objects, UML, and Java This book is about object-oriented (OO) software development. Writing real object-oriented programs that are used by
More informationReview of Basic Software Design Concepts. Fethi Rabhi SENG 2021
Review of Basic Software Design Concepts Fethi Rabhi SENG 2021 1 Topics The development process Planning Designing Implementing 2 1. The development process How to organise activities related to the creation,
More information