System testing needs to be a formal process for us to have any faith in it, so in the next section, I propose a formal procedure for doing it.

Size: px
Start display at page:

Download "System testing needs to be a formal process for us to have any faith in it, so in the next section, I propose a formal procedure for doing it."

Transcription

1 Purpose of System Testing The purpose of system testing is to ensure that a system meets its specification and any non-functional requirements (such as stability and throughput) that have been agreed with its users. In theory, R-GMA could be system tested independently because both its specification and requirements are public. In reality, only we currently have the in-depth understanding of the specification that is required to do it properly. Scope This document covers only the R-GMA system as described in the current R-GMA System Specification. It does not cover the R-GMA tools (Browser, Command Line, Site Publisher, Service Tool, Flexible Archiver, Glue Archiver and GIN). Each of these tools should have its own system tests, located in the same CVS module as the rest of the tool's files, but these system tests are not discussed further here. Overview I think the R-GMA system tests should consist of a set of top-level command-line scripts together with any supporting files, located in org.glite.rgma.system-tests. The existing code used by rgma-client-check should be removed to org.glite.rgma.base and any other old tests discarded (I think that s already been done). Each test script takes no parameters, runs without user intervention and reports a simple pass/fail to standard output on completion. Any diagnostic output is written to standard error. The scripts are consistently named and described in a Test Specification document (to be written). It is extremely important that we keep the test structure and the test scripts as simple, consistent and clean as possible, because they will have to be continually maintained in line with any externally visible changes to the system. The scripts are only for our use: I do not think that they should be distributed with R-GMA. For the purposes of system testing, R-GMA can be broken down into chunks each of which can be tested independently without any modification to the installed system (apart from user-configurable properties). These chunks are just the four User APIs, the Java System API and the seven Services. In this document, I will refer to them as sub-systems (I m considering R-GMA in isolation from glite here). Each test script will test one or more complete sub-systems, with the remaining sub-systems sometimes replaced by dummy versions to aid testing. It is essential that the subsystems being tested are installed exactly as a user would install them, and are not modified in any way (and that no special "test paths" through them are used). The idea is to start with simple single-sub-system tests and work up gradually to running the full system: that way, silly bugs can be detected by the easy tests to reduce the number of times the more complicated and time-consuming ones need to be run. System testing needs to be a formal process for us to have any faith in it, so in the next section, I propose a formal procedure for doing it. Test Procedure System testing needs one person to oversee the whole process and sign it off, so I assume that someone is nominated as the test manager for each round of testing. System testing needs to be planned into the development cycle, so I also assume that

2 we're working to a 3-month release cycle, and that sometime near the start of that cycle we agree the enhancements and bug fixes that we plan to include in the next release. Given that information, the test manager can identify which of the tests in the test specification are going to need to be run, and if necessary, get them modified in line with the changes being introduced, so they re ready in time. A set of clean machines also needs to be identified by the test manager for the sole use of system testing, probably about four machines will be adequate (we'll know once the tests are designed). When system testing is to begin, a new test release of the entire system is created. A branch is created in CVS from the development HEAD and all the modules on the new branch are tagged with the test release tag. The tag is simply something like rgma_test_nnnn for some number nnnn that increases with each new test release. If some modules are not ready for system testing, then the current production version of those modules will need to be tagged instead in all cases, the system is tagged and built as whole. The code is then built and installed onto the test machines using some repeatable process (e.g. Yaim). The test environment (from org.glite.rgma.systemtests) is also installed onto each machine. The tests identified by the test manager are run, starting with the lowest numbered ones. A test record is kept for each test release, with one entry for each test, containing date, test release number, test name, pass/fail and a reference to a Savanna bug if it failed. Testing of the release continues until either it is complete or the failures being found make it unreasonable to continue. At that point, testing stops and the test machines can be hacked if necessary to help diagnose bugs. The bugs are then fixed and committed to the test branch; all of the code on the test branch HEAD is tagged for a new test release and the new release is built, installed on clean machines and tested as just described. Of course, tests unaffected by the changes don't need to be re-run. The reason for tagging all modules for each test release is so that we can revert to a previous test release if, for example, we're pressured into finishing early and the test failures in that release are deemed to be acceptable. If late code is to be added into the testing, it is copied to the test branch HEAD and a new test release is built and tested in the usual way. Once testing has been completed to the satisfaction of the test manager, the test release tag (with no other changes sneaked in) is passed to the deployment team for integration testing. There is no need to branch again as the HEAD of the test branch will only now change if patches are required for the deployed code. We should find that the need for patches reduces with proper system testing, because the only bugs that get through should be minor and can be fixed in the normal development cycle. Note that by creating the release branch at the start of testing, other development (for the following release) can continue on the development HEAD. Test Specification The Test Specification is yet another document, but it s a very useful one. It simply names each test and describes in detail what it should do (and also how to run it, although in our case, that will be the same for all of them). In the short term, the test spec. is the basis for actually writing the tests (that job is much easier if someone else has already named them and described exactly how they must run and what they must

3 do). Long term, the document is used to decide, for each release, what tests need to be run to cover the changes that have been made. It s also useful if bug fixes passes to Alastair contain a reference in Savanna to the tests that should be run (or added). For the purposes of specifying them, I ve split the tests into six groups. The first group tests a single API in isolation. The second group tests a single Service (through the Java API) in isolation. The third group tests a single functional component 1 by this I mean one well-defined bit of R-GMA s behaviour (such as mediation or streaming) that spreads across several services. The fourth group contains simple tests for the whole system. The fifth group attempts to test the whole system under more realistic loading. The final group tests the whole system for resilience in the face of very high loading and partial failures. I ll take each test group in turn, but first I ll describe dummy services that are used to allow sub-systems to be tested independently. Dummy Services Testing will require dummy versions of all seven services. Each dummy service implements the same interface as its corresponding real service, but none of its functionality. Functionally, all dummy services are the same. A configuration file loaded by the service specifies, for each operation, what value should be returned, or what exception should be thrown. When called, each operation simply writes its parameters to a log file then returns the prescribed value or throws the prescribed exception. Each dummy service also has one extra call by means of which test scripts can change the names of the configuration file and log file, without restarting the service. Each test will have its own configuration files and create its own log files. The test services are installed alongside the real R-GMA services, either as a different Web application in the same Tomcat, or possibly in a second Tomcat instance running on a different port. The test scripts just modify rgma.conf to switch in dummy services as required 2. The configuration file will probably be a simple XML file, much as we used for testing the SOAP APIs. Group 1: Single-API tests (using dummy services) These tests use a single machine. Method calls with valid parameters (successful) For each API, the test scripts run a test program in the corresponding language to call each API method with valid parameters. Where parameters can take a fixed range of values (e.g. query type), all values are tested. Dummy services are used and test programs will check the APIs correctly pass back any return values as prescribed in the tests' configuration files. The log files from the dummy services are compared against model log files (just with a diff) to check that the API called the correct operations with the correct parameters. The same configuration and model log files are used for all four user APIs to ensure they remain consistent; different files will be required for the Java System API. 1 Sorry about the jargon if anyone can do better, I ll change it. 2 I think R-GMA services also look at this file (although that should probably change). If that s true, we may need to run the tests on a separate machine from the services.

4 Method calls with valid parameters (server-side exceptions) These are like the previous tests, except that the configuration file specifies that an example of each type of server exception is thrown. The test program checks that a corresponding exception (with the correct error message and number) is thrown by the API. Method calls with invalid parameters (client-side exceptions) For each API, the test scripts run a test program in the corresponding language to call each API method with any invalid parameters that the API should detect (e.g. out-ofrange values for query type if the language can t prevent this) and check that an appropriate exception is thrown. Group 2: Single-Service tests (with Java User/System APIs) These tests use a single machine. Although they are nominally single-service tests, there are some places where it will be necessary to use a real Registry and Schema tests that use them are responsible for re-initialising them at the start of each test. Operation calls with valid parameters (successful) These tests are limited to operations that don t involve producer/consumer resources and are not covered by subsequent tests. The test scripts use Java test programs that contact the services through the Java User/System APIs (never directly via HTTP as this is not the published interface) they simply call the operation with valid parameters and check for the expected result. For the Producer, Consumer and Mediator 3 services, the operations tested here are getproperty, setproperty, getversion and ping (and possibly setdefaultvdb). All operations of the Registry and Schema services are tested here, by adding entries then reading them back (the Registry tests will require a dummy Consumer service to receive and ignore the addproducer messages). Registry and Schema test scripts may (in fact, must) empty out the Registry and Schema databases via MySQL before they begin, but subsequently they may only read and write to them through the Registry and Schema APIs, even for the purposes of checking, because system tests must never poke about in the internal workings of the component being tested. Operation calls with invalid parameters (server-side exceptions) For each Service, the test scripts run a test program in the corresponding language to call each Service operation with any invalid parameters that the Service should detect by itself 4, and check that an appropriate exception is thrown by the service. Note that server parameter checks (should) go much further than the API checks. As before, the test scripts use Java test programs that contact the services through the Java User/System APIs. The parameter checks that should be made in each call of each services that use them are: Producer and Consumer services Termination interval out of permitted range for server Requested resource does not exist 3 The Mediator s getplansforquery operation is tested extensively as part of the mediation tests (see later). 4 I think we make one exception: the service can contact the schema (because a lot of parameter checking requires it).

5 Requested resource is closed Attempting to declare a table that is not in the schema of the specified VDB Attempting to re-declare a table Invalid SQL syntax in a producer predicate Invalid column names (for table) in a producer predicate History or latest retention periods out of permitted range for server Invalid SQL syntax in INSERT statement Invalid table name or column names in INSERT statement (not in schema) Table in INSERT statement not previously declared Type mismatch in INSERT statement Read-only column name (Rgma*) in INSERT statement Tuple store (logical) name does not exist Invalid property name (get/setproperty) Bad URI for ODP query handler Invalid SQL syntax in SELECT statement (i.e. doesn't conform to SQL92 Entry Level) 5 Illegal SQL for query type (e.g. complex continuous query) Invalid VDB, table or column names in SELECT statement Type mismatches in SQL SELECT statement Query timeout out of range Invalid producer endpoint (in startdirected) No data available to pop Request by non-sp to create a Secondary Consumer (if it can be checked) Bad producer endpoint or type passed to add/removeproducer Unexpected connection to streaming port Bad data written to streaming port Mediator service VDBs, table names, column names don't exist Registry service VDB or registry service URL don t exist. Table name not in schema for this VDB (or should Registry not check this?) Invalid SQL syntax in a predicate Attempt to read/modify a producer/consumer entry that s not in the registry (Registry replication of bad data is dealt with in later tests) Schema service VDB or schema service URL don t exist Invalid SQL syntax in CREATE/DROP TABLE/VIEW/INDEX Illegal table or column name in CREATE TABLE (breaks R-GMA rules) Unsupported type in CREATE TABLE Attempt to create a table entry that s already in the schema Attempt to read/modify a table entry that s not in the schema (Schema replication of bad data is dealt with in later tests) 5 R-GMA s SQL Query processing is tested extensively in later tests.

6 Group 3: Functional components (with Java APIs) Unless otherwise stated, these tests use a single machine. Mediation and Query Planning The mediation tests use real Mediator, Registry and Schema services. They use the Java System API to register all reasonable combinations of producer/table entries in the Registry and to check the plans returned by getplansforquery for a range of queries and query types that exercise all of the mediation rules (this includes checking history retention periods and generating warnings). To check Query Planning, a real Consumer Service is added, together with dummy Producer services to receive and log the start/stopstreaming messages, so that the test script can check that the correct producers are contacted for each plan. The Consumer Service is driven through the Java User API, by creating and starting suitable consumers. The producer entries can however still be added directly to the Registry through its Java System interface (or the Mediator could be simulated). Termination Intervals These tests check that: producer and consumer resources remain alive for their entire termination interval their lifetime can be extended by API calls, epecially showsignoflife, insert and pop they remain registered for as long as they remain alive 6 they are closed and unregistered fairly quickly after the termination interval is exceeded Retention Periods and Close Processing These tests check that: History retention periods are registered correctly in the Registry Tuples are retained in producers tuple stores in line with the rules for latest and history retention periods No producer returns expired tuples in Latest queries The rules for remaining alive, registered and retaining tuples in the History tuple store after a close operation has been initiated, are respected by producers The rules for retaining or discarding tuples when the tuple stores fill up are also respected by producers. These tests do not check that producers clean up expired tuples, as the producer is not obliged to do so unless its tuple stores fill up. Tuple metadata management These tests check that: Primary Producers correctly insert all tuple metadata fields into new tuples Primary Producers retain RgmaTimestamp data already inserted by users 6 The special behaviour caused by a call to close is dealt with in later tests

7 Secondary Producers do not alter tuple metadata On-demand Producers add NULL values for all tuple metadata fields. SQL Query Processing These tests check that all data types and SQL constructs that R-GMA claims to support are correctly handled by the entire system. If it s not possible to test everything, R-GMA should only claim to support that which has been tested successfully. This will include the new multi-vdb queries when they are supported (and will then require multiple Registries and Schemas). It may be sensible to run the tests first directly against the producer s system interfaces (via the Java system API), then against the whole system by creating consumers. Producers with all supported types of storage must be tested in full. Registry Replication The tests check that the Registry Replication algorithm itself works by running a number of Registries (probably three) on different machines with a fast replication cycle, and by making modifications to all of them directly via their Java System interface. This can all be done from one client machine by changing rgma.conf. The Registries are then compared over a period of time to check that they remain acceptably consistent (again, by querying them through the System interface rather than directly reading the database). It is also necessary to test the behaviour of replication when Registry is shut down for a period during which the others change, then brought back up, i.e. how quickly that replica recovers and how much damage it does to the others in the mean time. The impact of replication on the normal operation of R-GMA is checked in later tests. Schema Replication These will be much like the Registry replication tests, once Schema replication is added. Registry and Schema Discovery Once multi-vdb support is added, tests will be added to ensure that Registry and Schema services can correctly locate and contact remote Registry instances on the basis of VDB name. Note that these tests are just concerned with the local file lookup, not with the maintenance of that file (by whatever means). Security These tests check that: Valid real and proxy certificates are accepted by the services Invalid or revoked certificates are rejected by the services The access control list correctly allows or denies access to selected services (i.e. that the list is correctly interpreted and that no unwanted side-effects of blocking access to particular services are seen) Secure R-GMA services will not connect to insecure clients or services When operation authorization, data authorization and encrypted streaming are added to R-GMA, this set of tests will be expanded considerably.

8 Named tuple-store management When this is added to R-GMA, we need to test creation, listing and destruction of named tuple stores. We also need to check that compatible producers can re-use existing stores and their tuples can be consumed, that only one producer at a time can use a tuple store, and that incompatible producers (wrong predicate or authorization) can t reuse them at all. Group 4: Simple full-system tests These tests use a single machine installed with all services. Their purpose is to check normal operation of the full system under light load, by creating producers and consumers of every type and inserting/querying small amounts of data. The test scripts call Java programs using the Java User API only: They do not use the Java System interfaces directly. Most of these tests can be taken from the existing R-GMA test suite (org.glite.testsuites.rgma Java API version only). Certainly tests 1, 2, 3, 4A, 4B and 4C are worthwhile. Test 12 is not worthwhile. I think that unless we decide to run these tests directly out of org.glite.testsuites.rgma, we should copy the code into our own org.glite.rgma.system-tests module and maintain them independently. We will need to add a test for On-demand producers and static queries, and also for calls (on all resource types, where appropriate) to insertlist, gethistoryretentionperiod, getlatestretentionperiod, getterminationinterval and destroy, as they are not covered by the existing tests. Group 5: Multi-node full-system tests This group of tests aims to put R-GMA under a more realistic loading. They are not testing failure scenarios, just how well R-GMA behaves on a fairly busy system. These tests should ensure that at least the following scenarios are covered: a consumer streaming from multiple producers a producer streaming to multiple consumers multiple clients making simultaneous connections to the same service multiple clients making simultaneous connections to the same resource rapid creation of producers and closing of consumers to exercise the Registry and Consumer message queues registry replication running while all this is going on the R-GMA browser being used, while all this is going on, to run all types of query on the tables being used by the tests (this is not to test the Browser, just the impact on the system of all the short-lived consumers that it generates) - this may have to be done manually following some written prescription in the test spec. I suggest three machines, one acting as a client and the other three as R-GMA servers running all services. Registry replication should be running between all three registries (and schema replication if it ever happens). A single test script running on the client machine will run the whole test, switching MON boxes as necessary by changing rgma.conf. Monitoring the system is difficult, but I suggest we use multiple archivers, as these seem to be the best indicator of how the system is running as a whole. In fact we could probably make the archivers the central feature of these tests and get everything else almost for nothing. I haven t really begun to think in detail about the best way to put these tests together, but Rob s fake WMS looks like a good

9 way to schedule lots of producers and consumers running in parallel, so tests 5, 6, 7, 8 in the test suite may be a starting point. Group 6: Resilience tests The following errors can probably be considered to be fatal: Server Configuration file is corrupted Database driver throws fatal exception File system I/O throws fatal exception Operation system resource (e.g. max number of open files) is exceeded Tomcat runs out of memory We need to decide how R-GMA should behave in the face of these errors before we can test that behaviour. If, for example, we decide that R-GMA is obliged to notice these things and attempt to shut itself down cleanly, rather than soldier on, we can then write tests that cause them and check this happens. The more frequent error conditions that R-GMA services are expected to handle, and which are not allowed to have an adverse effect on other the rest of the system are: Network connections failing Network connection hanging Tuple buffers and message buffers filling up Server clocks not being synchronized I m really not sure how to test this properly. One thought I had (although the Steves were not impressed) is to consider simulating R-GMA by modelling the services just by their external calls, internal queues and any synchronized code. We could then put configurable delays on the simulated network links to see how well the queues and connection timeouts deal with very high loads and isolated connection problems. I m open to better suggestions, but whatever we come up with must run on limited hardware, in relatively short time, and be able to be monitored. J.A.W. 29/07/05

Deploy Enhancements from Sandboxes

Deploy Enhancements from Sandboxes Deploy Enhancements from Sandboxes Salesforce, Spring 18 @salesforcedocs Last updated: April 13, 2018 Copyright 2000 2018 salesforce.com, inc. All rights reserved. Salesforce is a registered trademark

More information

What is version control? (discuss) Who has used version control? Favorite VCS? Uses of version control (read)

What is version control? (discuss) Who has used version control? Favorite VCS? Uses of version control (read) 1 For the remainder of the class today, I want to introduce you to a topic we will spend one or two more classes discussing and that is source code control or version control. What is version control?

More information

ApacheCon NA How to Avoid Common Mistakes in OFBiz Development Presented by Adrian Crum

ApacheCon NA How to Avoid Common Mistakes in OFBiz Development Presented by Adrian Crum ApacheCon NA 2015 How to Avoid Common Mistakes in OFBiz Development Presented by Adrian Crum 1Tech, Ltd. 29 Harley Street, London, W1G 9QR, UK www.1tech.eu 1 Overview Common Getting Started Problems Common

More information

shortcut Tap into learning NOW! Visit for a complete list of Short Cuts. Your Short Cut to Knowledge

shortcut 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 information

Database Architectures

Database Architectures Database Architectures CPS352: Database Systems Simon Miner Gordon College Last Revised: 4/15/15 Agenda Check-in Parallelism and Distributed Databases Technology Research Project Introduction to NoSQL

More information

Q&A Session for Connect with Remedy - CMDB Best Practices Coffee Break

Q&A Session for Connect with Remedy - CMDB Best Practices Coffee Break Q&A Session for Connect with Remedy - CMDB Best Practices Coffee Break Date: Thursday, March 05, 2015 Q: When going to Asset Management Console and making an update on there, does that go to a sandbox

More information

Science-as-a-Service

Science-as-a-Service Science-as-a-Service The iplant Foundation Rion Dooley Edwin Skidmore Dan Stanzione Steve Terry Matthew Vaughn Outline Why, why, why! When duct tape isn t enough Building an API for the web Core services

More information

AgileSCM Release 4.1. AgileSCM Release 4.0. AgileSCM Release 3.2. New Features. Bug Fixes. New Features. Bug Fixes

AgileSCM Release 4.1. AgileSCM Release 4.0. AgileSCM Release 3.2. New Features. Bug Fixes. New Features. Bug Fixes AgileSCM Release 4.1 Project Dashboard - get a complete overview of the status of your project. View the SSH public key through the AgileSCM interface. This allows you to post the key to Git and Mercurial

More information

Best Practice for Creation and Maintenance of a SAS Infrastructure

Best Practice for Creation and Maintenance of a SAS Infrastructure Paper 2501-2015 Best Practice for Creation and Maintenance of a SAS Infrastructure Paul Thomas, ASUP Ltd. ABSTRACT The advantage of using metadata to control and maintain data and access to data on databases,

More information

1: Introduction to Object (1)

1: Introduction to Object (1) 1: Introduction to Object (1) 김동원 2003.01.20 Overview (1) The progress of abstraction Smalltalk Class & Object Interface The hidden implementation Reusing the implementation Inheritance: Reusing the interface

More information

R-GMA (Relational Grid Monitoring Architecture) for monitoring applications

R-GMA (Relational Grid Monitoring Architecture) for monitoring applications R-GMA (Relational Grid Monitoring Architecture) for monitoring applications www.eu-egee.org egee EGEE-II INFSO-RI-031688 Acknowledgements Slides are taken/derived from the GILDA team Steve Fisher (RAL,

More information

How to set up SQL Source Control The short guide for evaluators

How to set up SQL Source Control The short guide for evaluators GUIDE How to set up SQL Source Control The short guide for evaluators 1 Contents Introduction Team Foundation Server & Subversion setup Git setup Setup without a source control system Making your first

More information

Backups and archives: What s the scoop?

Backups and archives: What s the scoop? E-Guide Backups and archives: What s the scoop? What s a backup and what s an archive? For starters, one of the differences worth noting is that a backup is always a copy while an archive should be original

More information

Software Testing Lecture 1. Justin Pearson

Software Testing Lecture 1. Justin Pearson Software Testing Lecture 1 Justin Pearson 2017 1 / 50 Four Questions Does my software work? 2 / 50 Four Questions Does my software work? Does my software meet its specification? 3 / 50 Four Questions Does

More information

GUIDE. Workshare Troubleshooting Guide

GUIDE. Workshare Troubleshooting Guide GUIDE Workshare Troubleshooting Guide Table of Contents Understanding Troubleshooting...3 System Understanding... 3 Strategic Understanding... 3 Procedural Understanding... 4 Troubleshooting Strategy...5

More information

Memory may be insufficient. Memory may be insufficient.

Memory may be insufficient. Memory may be insufficient. Error code Less than 200 Error code Error type Description of the circumstances under which the problem occurred Linux system call error. Explanation of possible causes Countermeasures 1001 CM_NO_MEMORY

More information

Ping Driver PTC Inc. All Rights Reserved.

Ping Driver PTC Inc. All Rights Reserved. 2017 PTC Inc. All Rights Reserved. 2 Table of Contents 1 Table of Contents 2 3 Overview 4 Channel Properties General 4 Channel Properties Ethernet Communications 5 Channel Properties Write Optimizations

More information

OPC XML-DA Client Driver PTC Inc. All Rights Reserved.

OPC XML-DA Client Driver PTC Inc. All Rights Reserved. 2018 PTC Inc. All Rights Reserved. 2 Table of Contents 1 Table of Contents 2 4 Overview 4 Project Architecture 5 Setup 6 Channel Properties General 6 Channel Properties Write Optimizations 7 Channel Properties

More information

Chapter 8 Software Testing. Chapter 8 Software testing

Chapter 8 Software Testing. Chapter 8 Software testing Chapter 8 Software Testing 1 Topics covered Introduction to testing Stages for testing software system are: Development testing Release testing User testing Test-driven development as interleave approach.

More information

Branch Repeater :51:35 UTC Citrix Systems, Inc. All rights reserved. Terms of Use Trademarks Privacy Statement

Branch Repeater :51:35 UTC Citrix Systems, Inc. All rights reserved. Terms of Use Trademarks Privacy Statement Branch Repeater 6.0 2013-07-22 14:51:35 UTC 2013 Citrix Systems, Inc. All rights reserved. Terms of Use Trademarks Privacy Statement Contents Branch Repeater 6.0... 3 Branch Repeater 6.0... 4 Release Notes

More information

How to Stay Safe on Public Wi-Fi Networks

How to Stay Safe on Public Wi-Fi Networks How to Stay Safe on Public Wi-Fi Networks Starbucks is now offering free Wi-Fi to all customers at every location. Whether you re clicking connect on Starbucks Wi-Fi or some other unsecured, public Wi-Fi

More information

Identity Provider for SAP Single Sign-On and SAP Identity Management

Identity Provider for SAP Single Sign-On and SAP Identity Management Implementation Guide Document Version: 1.0 2017-05-15 PUBLIC Identity Provider for SAP Single Sign-On and SAP Identity Management Content 1....4 1.1 What is SAML 2.0.... 5 SSO with SAML 2.0.... 6 SLO with

More information

HTML Advanced Portlets. Your Guides: Ben Rimmasch, Rahul Agrawal

HTML Advanced Portlets. Your Guides: Ben Rimmasch, Rahul Agrawal HTML Advanced Portlets Your Guides: Ben Rimmasch, Rahul Agrawal Introductions 2 Take 5 Minutes Turn to a Person Near You Introduce Yourself Agenda 3 HTML Portlets Overview HTML Portlet Use Cases Development

More information

Detects Potential Problems. Customizable Data Columns. Support for International Characters

Detects Potential Problems. Customizable Data Columns. Support for International Characters Home Buy Download Support Company Blog Features Home Features HttpWatch Home Overview Features Compare Editions New in Version 9.x Awards and Reviews Download Pricing Our Customers Who is using it? What

More information

Evaluation Guide for ASP.NET Web CMS and Experience Platforms

Evaluation Guide for ASP.NET Web CMS and Experience Platforms Evaluation Guide for ASP.NET Web CMS and Experience Platforms CONTENTS Introduction....................... 1 4 Key Differences...2 Architecture:...2 Development Model...3 Content:...4 Database:...4 Bonus:

More information

Liquibase Version Control For Your Schema. Nathan Voxland April 3,

Liquibase Version Control For Your Schema. Nathan Voxland April 3, Liquibase Version Control For Your Schema Nathan Voxland April 3, 2014 nathan@liquibase.org @nvoxland Agenda 2 Why Liquibase Standard Usage Tips and Tricks Q&A Why Liquibase? 3 You would never develop

More information

WYSIWON T The XML Authoring Myths

WYSIWON T The XML Authoring Myths WYSIWON T The XML Authoring Myths Tony Stevens Turn-Key Systems Abstract The advantages of XML for increasing the value of content and lowering production costs are well understood. However, many projects

More information

Designing Robust Classes

Designing Robust Classes Designing Robust Classes Learning Goals You must be able to:! specify a robust data abstraction! implement a robust class! design robust software! use Java exceptions Specifications and Implementations

More information

Error code. Description of the circumstances under which the problem occurred. Less than 200. Linux system call error.

Error code. Description of the circumstances under which the problem occurred. Less than 200. Linux system call error. Error code Less than 200 Error code Error type Description of the circumstances under which the problem occurred Linux system call error. Explanation of possible causes Countermeasures 1001 CM_NO_MEMORY

More information

Seven proven ways to ruin your Test Automation

Seven proven ways to ruin your Test Automation Seven proven ways to ruin your Test Automation Agenda Introduce each method Explain about possible defences against it List efficient countermeasures Rate it Conclusion TEST AUTOMATION PATTERNS TEST AUTOMATION

More information

The Specification Xml Failed To Validate Against The Schema Whitespace

The Specification Xml Failed To Validate Against The Schema Whitespace The Specification Xml Failed To Validate Against The Schema Whitespace go-xsd - A package that loads XML Schema Definition (XSD) files. Its *makepkg* tool generates a Go package with struct type-defs to

More information

Contents. Error Message Descriptions... 7

Contents. Error Message Descriptions... 7 2 Contents Error Message Descriptions.................................. 7 3 4 About This Manual This Unify DataServer: Error Messages manual lists the errors that can be produced by the Unify DataServer

More information

AppSense DataNow. Release Notes (Version 4.0) Components in this Release. These release notes include:

AppSense DataNow. Release Notes (Version 4.0) Components in this Release. These release notes include: AppSense DataNow Release Notes (Version 4.0) These release notes include: Components in this Release Important Upgrade Information New Features Bugs Fixed Known Issues and Limitations Supported Operating

More information

FUSION REGISTRY COMMUNITY EDITION SETUP GUIDE VERSION 9. Setup Guide. This guide explains how to install and configure the Fusion Registry.

FUSION REGISTRY COMMUNITY EDITION SETUP GUIDE VERSION 9. Setup Guide. This guide explains how to install and configure the Fusion Registry. FUSION REGISTRY COMMUNITY EDITION VERSION 9 Setup Guide This guide explains how to install and configure the Fusion Registry. FUSION REGISTRY COMMUNITY EDITION SETUP GUIDE Fusion Registry: 9.2.x Document

More information

Create quick link URLs for a candidate merge Turn off external ID links in candidate profiles... 4

Create quick link URLs for a candidate merge Turn off external ID links in candidate profiles... 4 Credential Manager 1603 March 2016 In this issue Pearson Credential Management is proud to announce Generate quick link URLs for a candidate merge in the upcoming release of Credential Manager 1603, scheduled

More information

Managing CX Devices in Multiple Device Mode

Managing CX Devices in Multiple Device Mode Tip Device inventory management applies to PRSM in Multiple Device mode only. If you are configuring a CX device through a direct connection to the device, you do not need to add the device to the inventory

More information

Bruce Silver Associates Independent Expertise in BPM

Bruce Silver Associates Independent Expertise in BPM Bruce Silver Associates Independent Expertise in BPM BPMN and the Business Process Expert, Part 4: Mastering BPMN Events Summary: The ability to describe event-triggered behavior directly in the diagram

More information

COMP9321 Web Application Engineering

COMP9321 Web Application Engineering COMP9321 Web Application Engineering Semester 1, 2017 Dr. Amin Beheshti Service Oriented Computing Group, CSE, UNSW Australia Week 12 (Wrap-up) http://webapps.cse.unsw.edu.au/webcms2/course/index.php?cid=2457

More information

ManifoldCF- End-user Documentation

ManifoldCF- End-user Documentation Table of contents 1 Overview... 4 1.1 Defining Output Connections... 5 1.2 Defining Transformation Connections... 8 1.3 Defining Authority Groups... 11 1.4 Defining Repository Connections... 12 1.5 Defining

More information

Manually Run The Synchronization Replication Sql Server 2005 Delete

Manually Run The Synchronization Replication Sql Server 2005 Delete Manually Run The Synchronization Replication Sql Server 2005 Delete I've set up a SQL transaction replication between two servers. And now I If an article is dropped after one or more subscriptions is

More information

CSCI 1100L: Topics in Computing Lab Lab 11: Programming with Scratch

CSCI 1100L: Topics in Computing Lab Lab 11: Programming with Scratch CSCI 1100L: Topics in Computing Lab Lab 11: Programming with Scratch Purpose: We will take a look at programming this week using a language called Scratch. Scratch is a programming language that was developed

More information

STARCOUNTER. Technical Overview

STARCOUNTER. Technical Overview STARCOUNTER Technical Overview Summary 3 Introduction 4 Scope 5 Audience 5 Prerequisite Knowledge 5 Virtual Machine Database Management System 6 Weaver 7 Shared Memory 8 Atomicity 8 Consistency 9 Isolation

More information

One System To Fit Them All:

One System To Fit Them All: One System To Fit Them All: Shared MySQL Hosting At Facebook Andrew Regner Production Engineer MySQL Infrastructure Data choices @Facebook Everyone has data to persist Also have: ZippyDB, ODS, Scuba,

More information

User Scripting April 14, 2018

User Scripting April 14, 2018 April 14, 2018 Copyright 2013, 2018, Oracle and/or its affiliates. All rights reserved. This software and related documentation are provided under a license agreement containing restrictions on use and

More information

McAfee epolicy Orchestrator Release Notes

McAfee epolicy Orchestrator Release Notes McAfee epolicy Orchestrator 5.9.1 Release Notes Contents About this release What's new Resolved issues Known issues Installation information Getting product information by email Where to find product documentation

More information

9 th CA 2E/CA Plex Worldwide Developer Conference 1

9 th CA 2E/CA Plex Worldwide Developer Conference 1 1 Introduction/Welcome Message Organizations that are making major changes to or replatforming an application need to dedicate considerable resources ot the QA effort. In this session we will show best

More information

CS5412: TRANSACTIONS (I)

CS5412: TRANSACTIONS (I) 1 CS5412: TRANSACTIONS (I) Lecture XVII Ken Birman Transactions 2 A widely used reliability technology, despite the BASE methodology we use in the first tier Goal for this week: in-depth examination of

More information

How Rust views tradeoffs. Steve Klabnik

How Rust views tradeoffs. Steve Klabnik How Rust views tradeoffs Steve Klabnik 03.04.2019 What is a tradeoff? Bending the Curve Overview Design is about values Case Studies BDFL vs Design By Committee Stability Without Stagnation Acceptable

More information

Clean & Speed Up Windows with AWO

Clean & Speed Up Windows with AWO Clean & Speed Up Windows with AWO C 400 / 1 Manage Windows with this Powerful Collection of System Tools Every version of Windows comes with at least a few programs for managing different aspects of your

More information

5. Application Layer. Introduction

5. Application Layer. Introduction Book Preview This is a sample chapter of Professional PHP - Building maintainable and secure applications. The book starts with a few theory chapters and after that it is structured as a tutorial. The

More information

Implementing a Numerical Data Access Service

Implementing 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 information

Alfresco 2.1. Backup and High Availability Guide

Alfresco 2.1. Backup and High Availability Guide Copyright (c) 2007 by Alfresco and others. Information in this document is subject to change without notice. No part of this document may be reproduced or transmitted in any form or by any means, electronic

More information

CS450: Structure of Higher Level Languages Spring 2018 Assignment 7 Due: Wednesday, April 18, 2018

CS450: Structure of Higher Level Languages Spring 2018 Assignment 7 Due: Wednesday, April 18, 2018 CS450: Structure of Higher Level Languages Spring 2018 Assignment 7 Due: Wednesday, April 18, 2018 Taken from assignments by Profs. Carl Offner and Ethan Bolker Part 1 - Modifying The Metacircular Evaluator

More information

AimBetter Database Monitor - Version

AimBetter Database Monitor - Version Upgrade Guide v2.0.18.4 AimBetter Database Monitor - Version 2.0.18.4 AimBetter is pleased to bring you this release document with details of our new version v.2.0.18.4 Important Note: In order for the

More information

3 Nonlocal Exit. Quiz Program Revisited

3 Nonlocal Exit. Quiz Program Revisited 3 Nonlocal Exit This chapter is about the commands catch and throw. These commands work together as a kind of super-stop command, which you can use to stop several levels of procedure invocation at once.

More information

describe the functions of Windows Communication Foundation describe the features of the Windows Workflow Foundation solution

describe the functions of Windows Communication Foundation describe the features of the Windows Workflow Foundation solution 1 of 9 10/9/2013 1:38 AM WCF and WF Learning Objectives After completing this topic, you should be able to describe the functions of Windows Communication Foundation describe the features of the Windows

More information

Apigee Edge Cloud - Bundles Spec Sheets

Apigee Edge Cloud - Bundles Spec Sheets Apigee Edge Cloud - Bundles Spec Sheets Description Apigee Edge Cloud is an API management platform to securely deliver and manage all APIs. Apigee Edge Cloud manages the API lifecycle with capabilities

More information

BEAAquaLogic. Service Bus. Interoperability With EJB Transport

BEAAquaLogic. Service Bus. Interoperability With EJB Transport BEAAquaLogic Service Bus Interoperability With EJB Transport Version 3.0 Revised: February 2008 Contents EJB Transport Introduction...........................................................1-1 Invoking

More information

Privacy and Security in Online Social Networks Department of Computer Science and Engineering Indian Institute of Technology, Madras

Privacy and Security in Online Social Networks Department of Computer Science and Engineering Indian Institute of Technology, Madras Privacy and Security in Online Social Networks Department of Computer Science and Engineering Indian Institute of Technology, Madras Lecture 08 Tutorial 2, Part 2, Facebook API (Refer Slide Time: 00:12)

More information

PrepAwayExam. High-efficient Exam Materials are the best high pass-rate Exam Dumps

PrepAwayExam.   High-efficient Exam Materials are the best high pass-rate Exam Dumps PrepAwayExam http://www.prepawayexam.com/ High-efficient Exam Materials are the best high pass-rate Exam Dumps Exam : 250-530 Title : Administration of Symantec Network Access Control 12.1 Vendors : Symantec

More information

Burning CDs in Windows XP

Burning CDs in Windows XP B 770 / 1 Make CD Burning a Breeze with Windows XP's Built-in Tools If your PC is equipped with a rewritable CD drive you ve almost certainly got some specialised software for copying files to CDs. If

More information

CS 167 Final Exam Solutions

CS 167 Final Exam Solutions CS 167 Final Exam Solutions Spring 2018 Do all questions. 1. [20%] This question concerns a system employing a single (single-core) processor running a Unix-like operating system, in which interrupts are

More information

Java EE Architecture, Part Two. Java EE architecture, part two 1

Java EE Architecture, Part Two. Java EE architecture, part two 1 Java EE Architecture, Part Two Java EE architecture, part two 1 Content Requirements on the Business layer Framework Independent Patterns Transactions Frameworks for the Business layer Java EE architecture,

More information

ECE 435 Network Engineering Lecture 9

ECE 435 Network Engineering Lecture 9 ECE 435 Network Engineering Lecture 9 Vince Weaver http://web.eece.maine.edu/~vweaver vincent.weaver@maine.edu 2 October 2018 Announcements HW#4 was posted, due Thursday 1 HW#3 Review md5sum/encryption,

More information

Classes, interfaces, & documentation. Review of basic building blocks

Classes, interfaces, & documentation. Review of basic building blocks Classes, interfaces, & documentation Review of basic building blocks Objects Data structures literally, storage containers for data constitute object knowledge or state Operations an object can perform

More information

Web Robots Platform. Web Robots Chrome Extension. Web Robots Portal. Web Robots Cloud

Web Robots Platform. Web Robots Chrome Extension. Web Robots Portal. Web Robots Cloud Features 2016-10-14 Table of Contents Web Robots Platform... 3 Web Robots Chrome Extension... 3 Web Robots Portal...3 Web Robots Cloud... 4 Web Robots Functionality...4 Robot Data Extraction... 4 Robot

More information

Teiid Designer User Guide 7.5.0

Teiid Designer User Guide 7.5.0 Teiid Designer User Guide 1 7.5.0 1. Introduction... 1 1.1. What is Teiid Designer?... 1 1.2. Why Use Teiid Designer?... 2 1.3. Metadata Overview... 2 1.3.1. What is Metadata... 2 1.3.2. Editing Metadata

More information

ESET Remote Administrator 6. Version 6.0 Product Details

ESET Remote Administrator 6. Version 6.0 Product Details ESET Remote Administrator 6 Version 6.0 Product Details ESET Remote Administrator 6.0 is a successor to ESET Remote Administrator V5.x, however represents a major step forward, completely new generation

More information

CTI-TC Weekly Working Sessions

CTI-TC Weekly Working Sessions CTI-TC Weekly Working Sessions Meeting Date: October 18, 2016 Time: 15:00:00 UTC Purpose: Weekly CTI-TC Joint Working Session Attendees: Agenda: Jordan - Moderator Darley Christian Hunt Rich Piazza TAXII

More information

CS61A Notes Week 6: Scheme1, Data Directed Programming You Are Scheme and don t let anyone tell you otherwise

CS61A Notes Week 6: Scheme1, Data Directed Programming You Are Scheme and don t let anyone tell you otherwise CS61A Notes Week 6: Scheme1, Data Directed Programming You Are Scheme and don t let anyone tell you otherwise If you re not already crazy about Scheme (and I m sure you are), then here s something to get

More information

QUIZ. What is wrong with this code that uses default arguments?

QUIZ. What is wrong with this code that uses default arguments? QUIZ What is wrong with this code that uses default arguments? Solution The value of the default argument should be placed in either declaration or definition, not both! QUIZ What is wrong with this code

More information

SQL Replication Project Update. Presented by Steve Ives

SQL Replication Project Update. Presented by Steve Ives SQL Replication Project Update Presented by Steve Ives SQL Replication Project Update Basic principles What, why, and how Project update What s new since the last conference Synergy App Reporting Analysis

More information

TUTORIAL FOR IMPORTING OTTAWA FIRE HYDRANT PARKING VIOLATION DATA INTO MYSQL

TUTORIAL FOR IMPORTING OTTAWA FIRE HYDRANT PARKING VIOLATION DATA INTO MYSQL TUTORIAL FOR IMPORTING OTTAWA FIRE HYDRANT PARKING VIOLATION DATA INTO MYSQL We have spent the first part of the course learning Excel: importing files, cleaning, sorting, filtering, pivot tables and exporting

More information

COMP9321 Web Application Engineering

COMP9321 Web Application Engineering COMP9321 Web Application Engineering Semester 2, 2015 Dr. Amin Beheshti Service Oriented Computing Group, CSE, UNSW Australia Week 12 (Wrap-up) http://webapps.cse.unsw.edu.au/webcms2/course/index.php?cid=2411

More information

Input, output, and sequence

Input, output, and sequence Chapter 29 Input, output, and sequence For this chapter, switch languages in DrRacket to Advanced Student Language. In the real world, we don t usually give a computer all the information it needs, all

More information

Duplicate: Fixed a bug where duplicated sequences via Web services lose the links to 3D Warp renders.

Duplicate: Fixed a bug where duplicated sequences via Web services lose the links to 3D Warp renders. Avid Interplay WS 2.6.1 Release Notes September, 2012 Overview Interplay Web Services is a server-based integration platform for Avid Interplay. It should be run on a modern Windows machine (~2GHz, 2 GB

More information

WHITE PAPER Cloud FastPath: A Highly Secure Data Transfer Solution

WHITE PAPER Cloud FastPath: A Highly Secure Data Transfer Solution WHITE PAPER Cloud FastPath: A Highly Secure Data Transfer Solution Tervela helps companies move large volumes of sensitive data safely and securely over network distances great and small. We have been

More information

Apigee Edge Cloud. Supported browsers:

Apigee Edge Cloud. Supported browsers: Apigee Edge Cloud Description Apigee Edge Cloud is an API management platform to securely deliver and manage all APIs. Apigee Edge Cloud manages the API lifecycle with capabilities that include, but are

More information

Foundations, Reasoning About Algorithms, and Design By Contract CMPSC 122

Foundations, Reasoning About Algorithms, and Design By Contract CMPSC 122 Foundations, Reasoning About Algorithms, and Design By Contract CMPSC 122 I. Logic 101 In logic, a statement or proposition is a sentence that can either be true or false. A predicate is a sentence in

More information

Security issues. Unit 27 Web Server Scripting Extended Diploma in ICT 2016 Lecture: Phil Smith

Security issues. Unit 27 Web Server Scripting Extended Diploma in ICT 2016 Lecture: Phil Smith Security issues Unit 27 Web Server Scripting Extended Diploma in ICT 2016 Lecture: Phil Smith Criteria D3 D3 Recommend ways to improve web security when using web server scripting Clean browser input Don

More information

CS 147: Computer Systems Performance Analysis

CS 147: Computer Systems Performance Analysis CS 147: Computer Systems Performance Analysis Test Loads CS 147: Computer Systems Performance Analysis Test Loads 1 / 33 Overview Overview Overview 2 / 33 Test Load Design Test Load Design Test Load Design

More information

Sql Server Check If Global Temporary Table Exists

Sql Server Check If Global Temporary Table Exists Sql Server Check If Global Temporary Table Exists I am trying to create a temp table from the a select statement so that I can get the schema information from the temp I have yet to see a valid justification

More information

It Might Be Valid, But It's Still Wrong Paul Maskens and Andy Kramek

It Might Be Valid, But It's Still Wrong Paul Maskens and Andy Kramek Seite 1 von 5 Issue Date: FoxTalk July 2000 It Might Be Valid, But It's Still Wrong Paul Maskens and Andy Kramek This month, Paul Maskens and Andy Kramek discuss the problems of validating data entry.

More information

9 Steps to Protect Against Ransomware

9 Steps to Protect Against Ransomware 9 Steps to Protect Against Ransomware IT Support Analyst Task Overview Security Manager Security Dashboard Self Service log Secur Devices With Vulnerabilities Critical Important/High Moderate/Medium 40

More information

EasyCatalog For Adobe InDesign

EasyCatalog For Adobe InDesign EasyCatalog For Adobe InDesign Relational Module User Guide 65bit Software Ltd Revision History Version Date Remarks 1.0.0 02 May 2008 First draft. 1.0.1 08 August 2008 First release. Copyright 2008 65bit

More information

Release Notes

Release Notes Release Notes 8.1.2.8 This document contains the following information for the InQuira 8.1.2.8 release: Overview Microsoft SQL Server Database Collation Values Upgrading Analytics Analytics Drill Map Editor

More information

Release notes for version 3.7.2

Release notes for version 3.7.2 Release notes for version 3.7.2 Important! Create a backup copy of your projects before updating to the new version. Projects saved in the new version can t be opened in versions earlier than 3.7. Breaking

More information

Web Services in Cincom VisualWorks. WHITE PAPER Cincom In-depth Analysis and Review

Web Services in Cincom VisualWorks. WHITE PAPER Cincom In-depth Analysis and Review Web Services in Cincom VisualWorks WHITE PAPER Cincom In-depth Analysis and Review Web Services in Cincom VisualWorks Table of Contents Web Services in VisualWorks....................... 1 Web Services

More information

Step through Your DATA Step: Introducing the DATA Step Debugger in SAS Enterprise Guide

Step through Your DATA Step: Introducing the DATA Step Debugger in SAS Enterprise Guide SAS447-2017 Step through Your DATA Step: Introducing the DATA Step Debugger in SAS Enterprise Guide ABSTRACT Joe Flynn, SAS Institute Inc. Have you ever run SAS code with a DATA step and the results are

More information

Cache Coherence Tutorial

Cache Coherence Tutorial Cache Coherence Tutorial The cache coherence protocol described in the book is not really all that difficult and yet a lot of people seem to have troubles when it comes to using it or answering an assignment

More information

A Framework for the Distribution of Data using Web Services and XML

A Framework for the Distribution of Data using Web Services and XML A Framework for the Distribution of Data using Web Services and XML Robert Nack Computer Science Department University of Wisconsin Eau Claire nackrm@uwec.edu Abstract While Web Services are becoming important

More information

Agreement in Distributed Systems CS 188 Distributed Systems February 19, 2015

Agreement in Distributed Systems CS 188 Distributed Systems February 19, 2015 Agreement in Distributed Systems CS 188 Distributed Systems February 19, 2015 Page 1 Introduction We frequently want to get a set of nodes in a distributed system to agree Commitment protocols and mutual

More information

VMware Mirage Getting Started Guide

VMware Mirage Getting Started Guide Mirage 5.8 This document supports the version of each product listed and supports all subsequent versions until the document is replaced by a new edition. To check for more recent editions of this document,

More information

Exception Handling. Sometimes when the computer tries to execute a statement something goes wrong:

Exception Handling. Sometimes when the computer tries to execute a statement something goes wrong: Exception Handling Run-time errors The exception concept Throwing exceptions Handling exceptions Declaring exceptions Creating your own exception Ariel Shamir 1 Run-time Errors Sometimes when the computer

More information

DDE Client Driver PTC Inc. All Rights Reserved.

DDE Client Driver PTC Inc. All Rights Reserved. 2018 PTC Inc. All Rights Reserved. 2 Table of Contents DDE Client Driver 1 Table of Contents 2 DDE Client Driver 3 Overview 3 Driver Setup 4 Channel Properties General 4 Channel Properties Write Optimizations

More information

Cisco Expressway Cluster Creation and Maintenance

Cisco Expressway Cluster Creation and Maintenance Cisco Expressway Cluster Creation and Maintenance Deployment Guide Cisco Expressway X8.6 July 2015 Contents Introduction 4 Prerequisites 5 Upgrading an X8.n cluster to X8.6 6 Prerequisites 6 Upgrade Expressway

More information

TUTORIAL FOR IMPORTING OTTAWA FIRE HYDRANT PARKING VIOLATION DATA INTO MYSQL

TUTORIAL FOR IMPORTING OTTAWA FIRE HYDRANT PARKING VIOLATION DATA INTO MYSQL TUTORIAL FOR IMPORTING OTTAWA FIRE HYDRANT PARKING VIOLATION DATA INTO MYSQL We have spent the first part of the course learning Excel: importing files, cleaning, sorting, filtering, pivot tables and exporting

More information

CS1622. Semantic Analysis. The Compiler So Far. Lecture 15 Semantic Analysis. How to build symbol tables How to use them to find

CS1622. Semantic Analysis. The Compiler So Far. Lecture 15 Semantic Analysis. How to build symbol tables How to use them to find CS1622 Lecture 15 Semantic Analysis CS 1622 Lecture 15 1 Semantic Analysis How to build symbol tables How to use them to find multiply-declared and undeclared variables. How to perform type checking CS

More information

Reporting from the RMAN repository

Reporting from the RMAN repository New York Oracle Users Group Reporting from the RMAN repository 21-September 2006 Tim Gorman Evergreen Database Technologies, Inc. Agenda Shifting the mind-set It s not about doing backups It s about populating

More information

SOFTWARE ENGINEERING DESIGN I

SOFTWARE ENGINEERING DESIGN I 2 SOFTWARE ENGINEERING DESIGN I 3. Schemas and Theories The aim of this course is to learn how to write formal specifications of computer systems, using classical logic. The key descriptional technique

More information