3. Blackboard and Client/Server Systems

Size: px
Start display at page:

Download "3. Blackboard and Client/Server Systems"

Transcription

1 3. Blackboard and Client/Server Systems 3.1 Introduction The blackboard model of problem solving arose from the Hearsay speech understanding systems [55,174,175] developed at Carnegie-Mellon University in early 70s as part of DARPA speech understanding project. The ideas of Hearsay then extended into what we now think of as the standard blackboard architecture in Hearsay-II (HSII). The HSII speech understanding system was first blackboard system whose architecture embodied all of the typical features blackboard systems. HSII brought key ideas of the blackboard model and these remain in today's blackboard systems. Numerous advances and enhancements have been made as a result of experience gained in using blackboard systems in widely varying application areas. The blackboard model support provides a great deal of flexibility in structuring the problem-solving process. Representational flexibility is an equally important in blackboard systems. The blackboard model does not place any prior restrictions on what information can be placed on the blackboard. It separates a system into: 1> a central, global data containing input data, partial solutions, and other data in various problem solving states, typically called as the blackboard, and 2> a number of independent computational modules, often called as knowledge sources (KSs). The knowledge sources perform computations based on the contents of the blackboard in order to change the blackboard. One of the good features of the blackboard model of problem solving is that the problem domain is divided into hierarchy unique to that domain. The key ideas behind the blackboard model are that the problem solving should be both incremental and opportunistic [176]. Incremental problem solving means that complete solutions are constructed piece by piece and at different level of abstraction [176]. The opportunistic problem solving means that the system chooses the actions to take the next that will allow it to make the best progress towards meeting its goal given the current situation i.e. given the available data and intermediate state of problem solving [176]. The client/server computing model delivers the benefits of network computing model alongwith the shared data access and high performance characteristics of host-based 50

2 computing. In client/server architecture the application processing is divided (not necessarily evenly) between client and server. A simple definition of client/server computing is that the server software accepts requests for data from the client software and returns results to the client [53]. In client/server architecture, the clients are separate and independent of the server software and hardware. The client applications handle interactions with user, local machine and devices while the server (database server) handles database access and control functions. This chapter briefly describes the blackboard model of problem solving and client/server computing model, and, how these two models can be integrated to develop a new kind of blackboard framework. 3.2 The Basic Blackboard Model Figure 3.1 shows the basic blackboard model [57] with two major components: 1> the blackboard, a global data structure and 2> knowledge sources, the number of computational modules containing the knowledge useful in context of application for which system is designed. KS, KS 2 Blackboard i i i KS n Figure 3.1: The basic blackboard organization [57] The blackboard serves as the medium for all communication amongst the knowledge sources. It contains the data and hypotheses (solutions, partial solutions) of the problem at hand. Usually, the blackboard is organized into different levels, representing the hierarchy of the knowledge domain, with each level representing information about the domain at different level of granularity. The hypotheses on one level are typically 51

3 linked to the hypotheses on other level. In Hearsay-II, the blackboard levels correspond to a part-of hierarchy of components of speech utterances, such as phonemes, words, word sequences, and phrases. The elements of each level are composed of elements from the level below. Sometimes, the levels are themselves structured in terms of set of dimensions or areas. This makes it possible to provide efficient associative retrieval of hypotheses based on area. A KS examines a number of elements from one level and suggests a solution element at the next higher level as shown in figure E5 3" '2~5" Figure 3.2: Organization of the blackboard The internal presentation and problem solving mechanism of a KS is hidden from direct view. KSs communicate through the blackboard only. The KS examines the state of the blackboard and once the necessary information is found, it proceeds without any assistance from other KSs. A KS is triggered for execution based on the state of the blackboard or as a result of changes in the blackboard. Rather than having each KS scan the blackboard, each KS informs the blackboard system about what kinds of events in which it is interested. Normally, the blackboard changes are described as events. The KS is executed once it is enabled, in turn it may change the state of the blackboard. The KS has two components: the KS preconditions and the KS body. The KS preconditions 52

4 are like conjunctive conditions of an if-then rule, they test the state of the blackboard and determine when the KS can be executed. The KS body contains the computational logic to be performed by the KS when preconditions are satisfied. Each KS can have its own knowledge representation and problem solving method or reasoning strategy. In literature [56], the term KS activations or instances (KSIs) is used for active processes while KSs is used for static repositories. A KSI is combination of the KS knowledge and a specific triggering context. The basic execution cycle consists of steps as shown in figure [57]: 1. Determine which KSs are enabled 2. Choose which of the enabled KSs is to be executed. 3. Execute the KS. 4. Repeat above steps until all KSs are executed or problem is solved Determine which ^ KSs are enabled -\ Execute KS Choose a KS for execution Figure 3.3: A basic control loop The issue in step-2 is how and which of the enabled KSs is to be selected next for execution. This is the problem when the application can execute only one KS at a time. This problem is known as the control problem. This may not be problem in parallel computing environment where KSs can operate in parallel. To address the control problem, a third component control is included into the basic blackboard model as shown in figure

5 KS, KS 2 i i i KS n ^ ^ ^ ^ C 0 N T R 0 T. Blackboard Figure 3.4: Basic blackboard model with control The control component acts as a gatekeeper, determining which KSs can talk to the blackboard at what times. It makes run-time decisions, by looking at the current state of the problem solving, to determine the next course of actions to be taken, in order to make good progress towards the solution of the problem. The method used to solve the control problem is known as control strategy and its implementation as a control mechanism. Blackboard systems differ greatly in their individual control strategies [176]. In some of the blackboard systems, the control strategies are quite complex and a lot of factors are considered before making decision to select next KS for execution [176]. Two major control mechanisms are used: Data-directed control and goaldirected control. Data-directed control makes the best use of available data, it places all possible KSIs into agenda and in each cycle the KSIs are rated and the most rated KSI is chosen for execution. In goal-directed control, the system goals are set, and, the role and ultimate importance of KSIs in satisfying these goals are considered. Effective control typically requires the integration of both goal directed and data based control factors [176]. The control component is often called as scheduler because it schedules the activations of KSs. Some architecture such as HASP/SIAP [177,178] use event-based control based on occurrence of predefined events. The blackboard changes are described in terms of set of blackboard event types. The predefined event types served as the KS preconditions. Since the blackboard events are directly mapped to the sequence of KSs, there is never an uncertainty about how best to respond to each event. HASP/SIAP supports another three categories of events in addition to the set of blackboard event types: clock, 54

6 expectation and problem. Clock events consist of a time and a list of KSs to be executed at that time. Expectation events are represented as the blackboard events that are expected at some point in future. Problem events are meant for the problems encountered by KSs. Figure 3.5 shows the basic control loop in HASP. In the blackboard community, three levels of details have been distinguished [57]. The general model of blackboard problem solving is the blackboard model as described above. The practical extension of blackboard model is blackboard framework, which specifies the construction details of the model. These details define the components of the model, how the components react, and, how they are controlled. The framework should specify enough information for a practical information to be built. An application, which is implemented using a particular framework, is called as blackboard application. The terms blackboard architecture and blackboard shells are essentially synonymous with blackboard framework but with stronger connotations in that their purpose is to serve as a template for the creation of actual systems [57]. KS Execute KS Rules events event andks STRATEGY MODULE: Select event category event category T EVENT CATEGORY MANAGER: Select event type identify appropriate KSs Figure 3.5: The basic control loop for HSAP [57] 55

7 3.3 Parallelism in Blackboard Systems Parallelism can be introduced in the blackboard model of problem solving at various levels [179,180]: 1> blackboard interaction machinery, 2> implementation of each KS, 3> multiple KS instances running in parallel, and, 4> the blackboard control component in parallel with domain KSIs. Corkill [181] analyzed three alternatives for parallelizing a blackboard system at KS execution level (see figure 3.6): 1. a distributed blackboard approach with multiple KS instantiations (KSI) and multiple blackboards, 2. a blackboard server approach with multiple KSI queues and a single blackboard located at one processor, and, 3. a shared memory approach, with all processors sharing a single blackboard and a single KSI execution queue. Q P "* Q p Q P Q, 1 i P Q p > Q p BB BB BB BB Distributed Blackboard Approach Blackboard Server Approach Q "" \ / 1 v ( p p I p KSI Queue Processor BB A Blackboard Shared Memory Blackboard Approach Figure 3.6: Three design alternatives for KS-level parallelism [186] 56

8 The early work by Fennell and Lesser [182] studied the effect of parallelism on Hearsay II speech understanding system using shared memory blackboard approach. One major contribution of that project is a detailed study of blackboard locking mechanism that ensures integrity. Decker et al [177] investigated the effects of parallelism on blackboard system scheduling heuristics and described a parallel blackboard system that allows multiple KSIs to execute in parallel using shared memory blackboard approach. The advanced Architecture Project at Stanford University generated two prototype blackboard architectures, POLIGON and CAGE, that exploit parallelism in rather different ways. The POLIGON system [183] was designed for distributed memory, multiprocessor hardware, with large number of processor/memory units enjoying high bandwidth communication. It was intended to run with a high degree of granularity. The knowledge sources are executed, as data becomes available instead of being polled by a central module. The CAGE system [184] - essentially a concurrent version of the AGE blackboard [185] was targeted on a shared memory system with a smaller number of processors. Programming language constructs were introduced to support parallelism at the discretion of the application programmer. Nii et al [186] reported that the performance gains are sensitive to the ways in which applications are formulated and programmed. 3.4 Blackboard Model Strengths and Weaknesses Strengths The problem domain is divided into separate and independent KSs, allowing systems to be developed in modular way. In conventional programming language, the execution flow is explicitly defined, and, the modules are invoked directly by their names and parameters. All modules have to be defined at the system design and implementation stages. In case of the blackboard systems, a KS never knows the identities or implementations of other KSs. The KSs can easily be modified, added or removed from the system. This provides greater flexibility in designing and structuring the problem. KSs need not be called by their names; they are self- 57

9 enabling, opportunistic and volunteer themselves for execution as soon as situation warrants. The table 3.1 shows the differences between conventional and blackboard systems.blackboard model of problem solving supports multiple strategies of reasoning and problem solving methodologies. Weaknesses Since the blackboard is shared global data structure, a change in representation of data may require changes to a number of KSs. This problem can be lessened, by using a separate region for each KS, thereby limiting the modifications required in other KSs [57]. Since there is no data hiding, any constraints on the contents of the data objects on the blackboard, such as integrity or consistency constraints, must be carefully maintained by every KS that manipulates that data [57]. In general, since KSs are completely independent, the reuse of KS components is less. Table 3.1: Comparing conventional and blackboard systems Conventional Systems Data structures are predefined Execution sequence is predefined All processing elements needs to be present at the time of system integration and implementation Blackboard Systems Flexibility in knowledge representation Depends on the current-state of the blackboard Flexibility in adding or removing the processing elements at any time 3.5 Client/Server Computing Model A client/server system has three distinct components: 1> database server 2> client, and, 3> network as shown in Figure 3.7. The client/server architecture distributes the processing between client and server as shown in figure 3.8 [54]. 58

10 Request for data Database Server Figure 3.7: Client/Server Architecture [187] Client Application Logic 4 ft Presentation Logic SQL requests Results Server Application Logic 4- DBMS * Figure 3.8: Distribution of processing in client/server model [54] The database server manages resources and database of information among the multiple clients efficiently. The tasks of the database server include [54]: Managing a single database of information among many concurrent users Controlling database access and other security requirements Protecting database information with backup and recovery features Centrally enforcing global data entry rules across all client applications The users interact with the system through client application. Significant advances in microprocessor technology have made today's client machines more powerful in terms 59

11 of processing power and storage thereby performing intensive computations on their own. These are smart and thick clients and use the database as an information source that is accessed only when necessary. Increased client functionality can potentially improve the performance and scalability of the system by lowering the query processing times and off-loading the server, thereby allowing larger number of clients. The tasks that the client performs include [53]: Managing presentation logic using Graphical User Interface (GUI) objects for user interface. Performing application logic. Validating the data Requesting and receiving the information from database server. The exchange of information between clients and server through the network is done through communication software at both the ends. To improve the performance of the client/server system it is important to make the proper division of work between client and server and the exchange of data should be optimized to make proper utilization network bandwidth. Modern relational database servers are more powerful and effective to develop client/server applications. Following are the some points that can be considered while utilizing the capabilities of the relational database servers [188,189]. The database servers have capacity to process huge volume of data. They are capable of processing many records at a time. Instead of using the SQL Insert, Update and Delete statements for a single record, these statements can be used to affect multiple records. This means, instead of processing a single record, the group of records is processed at server side utilizing server's capacity. Thus, it also reduces the network traffic and frees the memory required for client process. The database servers facilitate building of application logic at server side using stored procedures. The stored procedures are compiled SQL statements, which are stored as objects and as part of the relational database. Two important advantages of using stored procedures are 1> they enable SQL code to run in compiled mode instead 60

12 of.terete form, makmg their execute faster, and, 2> they provide the layer of strae on that can hide the detahs of the datahase design from chent aprons. Putt n g the Ilcat 10 n,o glc at server makes the elient code sunpler and database design can be modtfied without changing the client code. Stored procedures can also be writtl to process large number of records at server side. The client can use batch updating which helps to improve performance by locally caching changes to data, then writing them all to the server in a single update. The database triggers can be used to enforce complex business rule at server side. 3.6 On integration of Client/Server Computing and Blackboard Model The very basic similarity between client/server (C/S) systems and blackboard system is sharing of the data among many problem-solving modules. The database in C/S system resembles blackboard while client applications as knowledge sources. Table 3.2 shows the similarities between C/S and blackboard systems. However, C/S systems differ many in ways from blackboard systems as shown in table 3.3. Table 3.2 Basic Similarities in client/server and blackboard systems Client/Server Systems Client Applications Relational Database Blackboard Systems Knowledge Sources Blackboard Clients database share the information stored in Knowledge sources share and communicate through the blackboard In C/S systems, the functionality of blackboard systems such as controlling and scheduling activities at run-time, flexibility in adding or removing the knowledge sources can be incorporated. This can help to make the best use of functionality of both the systems. For example, treating a database as a blackboard would help to use existing database server as a shared blackboard server. However, this type of blackboard framework would limit what kind of information that can be represented on the blackboard unlike in conventional blackboard where there is a great degree of flexibility 61

13 in representing the information. The blackboard frameworks resulting from integration of C/S computing model and blackboard model can be flexible and interactive and suggest a new kind of class of frameworks to develop blackboard systems. Table 3.3 Differences between C/S and blackboard systems Client/Server Systems The relational databases have built-in mechanism to handle concurrency, integrity, security etc. The relational database allows storage of data in the form of tables. Difficult to store and manage complex data structures The flow of problem solving is event-based or user-driven Contents of relational database are nonvolatile and may be stored using data files Database transactions are used to insert, delete or update the contents of relational database Blackboard Systems Needs to be implemented for parallel or distributed access Blackboard provides greater flexibility in knowledge representation and knowledge can be organized in hierarchies. Complex data structures can be represented Flow of problem solving is based on current state of the blackboard Since the blackboard elements reside in memory, its contents are volatile Since, the contents of blackboard reside in memory, it is easy to add, delete or update the contents The Relational Blackboard Framework (RBF) proposed in this dissertation adds the functionality of blackboard model into client/server architecture. Figure 3.9 shows the general concept behind the RBF. The RBF uses a relational database as a blackboard {relational blackboard) and C/S computing model as a blackboard model {relational blackboard model). The relational database server is used as blackboard server {relational blackboard server) that manages the relational blackboard. The ESs, ANNs and other software are independent knowledge sources share the data and communicate through the relational blackboard as shown in figure 3.8. Information in conventional blackboard is stored in levels or regions and data in one level may be linked to next level. In relational blackboard, data is stored in tables and can be associated using views and linked through database triggers. View is virtual table in relational data model [190] in which data from base tables are combined [187]. Views 62

14 enable to work in a just one table instead of several base tables. The database recordsets and their types play a very important role in the exchange of information in C/S environment. Instead of opening a recordset and fetching a row at a time, client-side batch recodrsets are used to reduce network traffic and increase overall performance. Batch recordset and batch updating help to improve performance by locally caching changes to data and then writing them all to the database server in a single update. In RBF, the set of rows (batch) is a major unit of exchange of the information among the KSs. When KSs need to share the data they can open recordsets having common database portion. The KSs can also share the parameters through relational blackboard. r 1 1 ES r 1 1 ANN H 1 Spreadsheet r- 1 Other Software / A A A \ f KSI Queue > >\ Control and Scheduling Logic Relational Datab >ase (Relational Black board) Relational Database Server (Relational Blackboard Server) Figure 3.9: Relational Blackboard Framework The control in RBF is event based like in HASP/SIAP blackboard architecture [176] and database triggers are used to implement it. The scheduling logic is implemented using database triggers. In most of the blackboard systems, the blackboard changes are treated as events [176]. In relational blackboard, these changes are execution of data manipulation operations such as insert, delete or update. A database trigger can be used to perform an action whenever some data manipulation operation takes place. In C/S architecture, the KSs are GUI applications. A KS may respond to many GUI events like mouse click, menu-selection etc. and perform corresponding functions. An 63

15 instance of a KS can be in running mode waiting for an event to happen unlike in conventional blackboard systems where a KSI is executed only once i.e. load, execute and exit, when it is scheduled for execution. Therefore the control mechanism required in such a framework is different from control in conventional blackboard systems. The events are mapped not only to KSs, but also to the events to which they respond while scheduling the activities. For example, table 3.5 shows what are the events to which SIN KS responds and what corresponding functions it performs. Sunners et al [191] have described an interactive framework that uses GUI based knowledge sources. They have used object-oriented approach to implement the blackboard framework. In RBF, there are two types of events to which a KS can respond: user-event and control-event. Userevents are GUI events that occur when the user interacts with the KS. Control-events are generated by the control component to execute a KS or some function/s inside the KS. For example, in case of SIN KS, the user may select menu option that will execute the function TrainQ, or, the control component may send the event TRAIN NEXT to execute the same function. Hypotheses can be mapped to the events within KS instead of KS itself. Table 3.6 shows the hypothesis Continue Sin Training is mapped to the event TRAIN NEXT within SINKS. Whenever the hypothesis Continue Sin Training is posted, the control component would schedule the execution of event TRAIN_NEXT of SIN KS. An event may be considered as precondition to execute some function/s within the KSI. Therefore there may be many preconditions for a single KSI. Table 3.5: A KS (SIN) example Event TRAIN NEXT SAVE NETWORK TERMINATE Function Train() SaveNetwork() Exit() Table 3.6: Hypothesis mapping Hypothesis KS Continue Sin Training SIN Event TRAIN_NEXT 64

16 The relational blackboard stores the pending KSIs and events (KSI Queue) in a table (control table) as shown in figure 3.8. This table is shared among all running KSs. When a KSI is idle, it itself looks into the control table for any pending events to be executed. The event may terminate the KSI itself. Whenever a hypothesis is posted, the database trigger activates the particular knowledge source or event within a KS. The scheduling of KSs can be done in such a way that no more than one KSI can simultaneously update the same data, and, no redundant execution of KSs. Due to GUI KSs, the RBF is highly interactive and user-friendly. 3.7 Summary The blackboard model offers a powerful problem-solving integration architecture suitable when there are many diverse and special knowledge representations are needed. It provides the development of a system in a modular way where each knowledge source can be developed and tested separately. It facilitates the dynamic control of problem-solving activities in an incremental manner so that the progress can be made towards the solution of the problem. The blackboard frameworks differ in way how they control the activities dynamically. Due to modularity and independent of knowledge sources, the blackboard systems can be implemented in parallel and distributed processing environment. In C/S architecture, the client applications are separate and independent of the database server. Each client application is a separate and many instances of client application can be running at a time. The database servers are powerful and can handle many client requests at a time. The performance of C/S systems depends on the division of work between client and server, and, proper utilization network bandwidth. Although the blackboard model of problem solving and C/S computing model are different paradigms of problem solving, they have basic similarity like modularity and access to common database of information. These models can be integrated to develop a new class of framework that can use features of both the models. The RBF described 65

17 in this chapter essentially integrates the functionality of blackboard model into C/S architecture. Each client application is treated as a knowledge source while the relational database as the blackboard. A knowledge source in this framework can be an ES, an ANN, a spreadsheet package or any other software that has database connectivity. The database triggers play an important role in implementing the control component. The resulting framework has been very modular, extensible, interactive and user-friendly. The RBF can be used to develop the hybrid applications that need blackboard model of problem solving in a distributed C/S environment. The advantage of the RBF is that it integrates the intelligent systems as well as the database system to these intelligent systems. 66

Effects of Parallelism on Blackboard System Scheduling

Effects of Parallelism on Blackboard System Scheduling Effects of Parallelism on Blackboard System Scheduling Keith Decker, Alan Garvey, Marty Humphrey and Victor Lesser * Department of Computer and Information Science University of Massachusetts Amherst,

More information

Design Alternatives for Parallel and Distributed Blackboard Systems

Design Alternatives for Parallel and Distributed Blackboard Systems Design Alternatives for Parallel and Distributed Blackboard Systems Daniel D. Corkill Department of Computer and Information Science University of Massachusetts Amherst, Massachusetts 01003 Appeared as

More information

Contemporary Design. Traditional Hardware Design. Traditional Hardware Design. HDL Based Hardware Design User Inputs. Requirements.

Contemporary Design. Traditional Hardware Design. Traditional Hardware Design. HDL Based Hardware Design User Inputs. Requirements. Contemporary Design We have been talking about design process Let s now take next steps into examining in some detail Increasing complexities of contemporary systems Demand the use of increasingly powerful

More information

CLIENT SERVER ARCHITECTURE:

CLIENT SERVER ARCHITECTURE: CLIENT SERVER ARCHITECTURE: Client-Server architecture is an architectural deployment style that describe the separation of functionality into layers with each segment being a tier that can be located

More information

DBMS (FYCS) Unit - 1. A database management system stores data in such a way that it becomes easier to retrieve, manipulate, and produce information.

DBMS (FYCS) Unit - 1. A database management system stores data in such a way that it becomes easier to retrieve, manipulate, and produce information. Prof- Neeta Bonde DBMS (FYCS) Unit - 1 DBMS: - Database is a collection of related data and data is a collection of facts and figures that can be processed to produce information. Mostly data represents

More information

Rule partitioning versus task sharing in parallel processing of universal production systems

Rule partitioning versus task sharing in parallel processing of universal production systems Rule partitioning versus task sharing in parallel processing of universal production systems byhee WON SUNY at Buffalo Amherst, New York ABSTRACT Most research efforts in parallel processing of production

More information

CSc33200: Operating Systems, CS-CCNY, Fall 2003 Jinzhong Niu December 10, Review

CSc33200: Operating Systems, CS-CCNY, Fall 2003 Jinzhong Niu December 10, Review CSc33200: Operating Systems, CS-CCNY, Fall 2003 Jinzhong Niu December 10, 2003 Review 1 Overview 1.1 The definition, objectives and evolution of operating system An operating system exploits and manages

More information

Operating system Dr. Shroouq J.

Operating system Dr. Shroouq J. 2.2.2 DMA Structure In a simple terminal-input driver, when a line is to be read from the terminal, the first character typed is sent to the computer. When that character is received, the asynchronous-communication

More information

Active Server Pages Architecture

Active Server Pages Architecture Active Server Pages Architecture Li Yi South Bank University Contents 1. Introduction... 2 1.1 Host-based databases... 2 1.2 Client/server databases... 2 1.3 Web databases... 3 2. Active Server Pages...

More information

Fundamentals of Database Systems (INSY2061)

Fundamentals of Database Systems (INSY2061) Fundamentals of Database Systems (INSY2061) 1 What the course is about? These days, organizations are considering data as one important resource like finance, human resource and time. The management of

More information

In his paper of 1972, Parnas proposed the following problem [42]:

In his paper of 1972, Parnas proposed the following problem [42]: another part of its interface. (In fact, Unix pipe and filter systems do this, the file system playing the role of the repository and initialization switches playing the role of control.) Another example

More information

ITP 140 Mobile Technologies. Databases Client/Server

ITP 140 Mobile Technologies. Databases Client/Server ITP 140 Mobile Technologies Databases Client/Server Databases Data: recorded facts and figures Information: knowledge derived from data Databases record data, but they do so in such a way that we can produce

More information

Background. 20: Distributed File Systems. DFS Structure. Naming and Transparency. Naming Structures. Naming Schemes Three Main Approaches

Background. 20: Distributed File Systems. DFS Structure. Naming and Transparency. Naming Structures. Naming Schemes Three Main Approaches Background 20: Distributed File Systems Last Modified: 12/4/2002 9:26:20 PM Distributed file system (DFS) a distributed implementation of the classical time-sharing model of a file system, where multiple

More information

CS352 Lecture: Database System Architectures last revised 11/22/06

CS352 Lecture: Database System Architectures last revised 11/22/06 CS352 Lecture: Database System Architectures last revised 11/22/06 I. Introduction - ------------ A. Most large databases require support for accesing the database by multiple users, often at multiple

More information

Course 40045A: Microsoft SQL Server for Oracle DBAs

Course 40045A: Microsoft SQL Server for Oracle DBAs Skip to main content Course 40045A: Microsoft SQL Server for Oracle DBAs - Course details Course Outline Module 1: Database and Instance This module provides an understanding of the two major components

More information

Engr. M. Fahad Khan Lecturer Software Engineering Department University Of Engineering & Technology Taxila

Engr. M. Fahad Khan Lecturer Software Engineering Department University Of Engineering & Technology Taxila Engr. M. Fahad Khan Lecturer Software Engineering Department University Of Engineering & Technology Taxila Software Design and Architecture Software Design Software design is a process of problem-solving

More information

A7-R3: INTRODUCTION TO DATABASE MANAGEMENT SYSTEMS

A7-R3: INTRODUCTION TO DATABASE MANAGEMENT SYSTEMS A7-R3: INTRODUCTION TO DATABASE MANAGEMENT SYSTEMS NOTE: 1. There are TWO PARTS in this Module/Paper. PART ONE contains FOUR questions and PART TWO contains FIVE questions. 2. PART ONE is to be answered

More information

Transactum Business Process Manager with High-Performance Elastic Scaling. November 2011 Ivan Klianev

Transactum Business Process Manager with High-Performance Elastic Scaling. November 2011 Ivan Klianev Transactum Business Process Manager with High-Performance Elastic Scaling November 2011 Ivan Klianev Transactum BPM serves three primary objectives: To make it possible for developers unfamiliar with distributed

More information

An Introduction to Software Architecture

An Introduction to Software Architecture An Introduction to Software Architecture Software Engineering Design Lecture 11 Motivation for studying SW architecture As the size of SW systems increases, the algorithms and data structures of the computation

More information

Appendix A - Glossary(of OO software term s)

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

Advanced Database Applications. Object Oriented Database Management Chapter 13 10/29/2016. Object DBMSs

Advanced Database Applications. Object Oriented Database Management Chapter 13 10/29/2016. Object DBMSs Object Oriented Database Chapter 13 1 Object DBMSs Underlying concepts: Freely sharing data across processing routines creates unacceptable data dependencies All software should be constructed out of standard,

More information

CPS221 Lecture: Threads

CPS221 Lecture: Threads Objectives CPS221 Lecture: Threads 1. To introduce threads in the context of processes 2. To introduce UML Activity Diagrams last revised 9/5/12 Materials: 1. Diagram showing state of memory for a process

More information

S-Store: Streaming Meets Transaction Processing

S-Store: Streaming Meets Transaction Processing S-Store: Streaming Meets Transaction Processing H-Store is an experimental database management system (DBMS) designed for online transaction processing applications Manasa Vallamkondu Motivation Reducing

More information

Chapter 1: Distributed Information Systems

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

Architectural Styles I

Architectural Styles I Architectural Styles I Software Architecture VO/KU (707023/707024) Roman Kern KTI, TU Graz 2015-01-07 Roman Kern (KTI, TU Graz) Architectural Styles I 2015-01-07 1 / 86 Outline 1 Non-Functional Concepts

More information

An Introduction to Software Architecture

An Introduction to Software Architecture An Introduction to Software Architecture Software Requirements and Design CITS 4401 Lecture 11 Motivation for studying SW architecture As the size of SW systems increase, the algorithms and data structures

More information

Concept as a Generalization of Class and Principles of the Concept-Oriented Programming

Concept as a Generalization of Class and Principles of the Concept-Oriented Programming Computer Science Journal of Moldova, vol.13, no.3(39), 2005 Concept as a Generalization of Class and Principles of the Concept-Oriented Programming Alexandr Savinov Abstract In the paper we describe a

More information

Computer System Overview

Computer System Overview Computer System Overview Introduction A computer system consists of hardware system programs application programs 2 Operating System Provides a set of services to system users (collection of service programs)

More information

Concurrent/Parallel Processing

Concurrent/Parallel Processing Concurrent/Parallel Processing David May: April 9, 2014 Introduction The idea of using a collection of interconnected processing devices is not new. Before the emergence of the modern stored program computer,

More information

OLAP Introduction and Overview

OLAP Introduction and Overview 1 CHAPTER 1 OLAP Introduction and Overview What Is OLAP? 1 Data Storage and Access 1 Benefits of OLAP 2 What Is a Cube? 2 Understanding the Cube Structure 3 What Is SAS OLAP Server? 3 About Cube Metadata

More information

Oracle Tuxedo. CORBA Technical Articles 11g Release 1 ( ) March 2010

Oracle Tuxedo. CORBA Technical Articles 11g Release 1 ( ) March 2010 Oracle Tuxedo CORBA Technical Articles 11g Release 1 (11.1.1.1.0) March 2010 Oracle Tuxedo CORBA Technical Articles, 11g Release 1 (11.1.1.1.0) Copyright 1996, 2010, Oracle and/or its affiliates. All rights

More information

New Programming Paradigms

New Programming Paradigms New Programming Paradigms Lecturer: Pánovics János (google the name for further details) Requirements: For signature: classroom work and a 15-minute presentation Exam: written exam (mainly concepts and

More information

AOSA - Betriebssystemkomponenten und der Aspektmoderatoransatz

AOSA - Betriebssystemkomponenten und der Aspektmoderatoransatz AOSA - Betriebssystemkomponenten und der Aspektmoderatoransatz Results obtained by researchers in the aspect-oriented programming are promoting the aim to export these ideas to whole software development

More information

Architectural Design

Architectural Design Architectural Design Topics i. Architectural design decisions ii. Architectural views iii. Architectural patterns iv. Application architectures Chapter 6 Architectural design 2 PART 1 ARCHITECTURAL DESIGN

More information

ELEC 377 Operating Systems. Week 1 Class 2

ELEC 377 Operating Systems. Week 1 Class 2 Operating Systems Week 1 Class 2 Labs vs. Assignments The only work to turn in are the labs. In some of the handouts I refer to the labs as assignments. There are no assignments separate from the labs.

More information

TRANSACTIONAL BLACKBOARDS. J. Robert Ensor and John D. Gabbe AT&T Bell Laboratories Holmdel, NJ 07733

TRANSACTIONAL BLACKBOARDS. J. Robert Ensor and John D. Gabbe AT&T Bell Laboratories Holmdel, NJ 07733 TRANSACTIONAL BLACKBOARDS J. Robert Ensor and John D. Gabbe AT&T Bell Laboratories Holmdel, NJ 07733 ABSTRACT The blackboard architecture is a popular structuring framework for expert systems. With this

More information

CPS352 Lecture: Database System Architectures last revised 3/27/2017

CPS352 Lecture: Database System Architectures last revised 3/27/2017 CPS352 Lecture: Database System Architectures last revised 3/27/2017 I. Introduction - ------------ A. Most large databases require support for accesing the database by multiple users, often at multiple

More information

OPERATING SYSTEMS. After A.S.Tanenbaum, Modern Operating Systems, 3rd edition. Uses content with permission from Assoc. Prof. Florin Fortis, PhD

OPERATING SYSTEMS. After A.S.Tanenbaum, Modern Operating Systems, 3rd edition. Uses content with permission from Assoc. Prof. Florin Fortis, PhD OPERATING SYSTEMS #2 After A.S.Tanenbaum, Modern Operating Systems, 3rd edition Uses content with permission from Assoc. Prof. Florin Fortis, PhD INTRODUCTION Operating systems structure OPERATING SYSTEM

More information

XVIII. Software Architectures

XVIII. Software Architectures XVIII. Software Architectures Software Architectures Subsystems, Modules and Connectors Pipes and Filters, Object-Oriented, Layered, Event-Driven, Repository-Based Architectures Client Server Architectures

More information

Glossary. abort. application schema

Glossary. abort. application schema Glossary abort An abnormal termination of a transaction. When a transaction aborts, its changes to the database are erased, and the database is effectively restored to its state as of the moment the transaction

More information

Fault-tolerant Distributed-Shared-Memory on a Broadcast-based Interconnection Network

Fault-tolerant Distributed-Shared-Memory on a Broadcast-based Interconnection Network Fault-tolerant Distributed-Shared-Memory on a Broadcast-based Interconnection Network Diana Hecht 1 and Constantine Katsinis 2 1 Electrical and Computer Engineering, University of Alabama in Huntsville,

More information

Describing Computer Languages

Describing Computer Languages Markus Scheidgen Describing Computer Languages Meta-languages to describe languages, and meta-tools to automatically create language tools Doctoral Thesis August 10, 2008 Humboldt-Universität zu Berlin

More information

Chapter 17: Distributed-File Systems. Operating System Concepts 8 th Edition,

Chapter 17: Distributed-File Systems. Operating System Concepts 8 th Edition, Chapter 17: Distributed-File Systems, Silberschatz, Galvin and Gagne 2009 Chapter 17 Distributed-File Systems Background Naming and Transparency Remote File Access Stateful versus Stateless Service File

More information

2 Improved Direct-Mapped Cache Performance by the Addition of a Small Fully-Associative Cache and Prefetch Buffers [1]

2 Improved Direct-Mapped Cache Performance by the Addition of a Small Fully-Associative Cache and Prefetch Buffers [1] EE482: Advanced Computer Organization Lecture #7 Processor Architecture Stanford University Tuesday, June 6, 2000 Memory Systems and Memory Latency Lecture #7: Wednesday, April 19, 2000 Lecturer: Brian

More information

Software Paradigms (Lesson 10) Selected Topics in Software Architecture

Software Paradigms (Lesson 10) Selected Topics in Software Architecture Software Paradigms (Lesson 10) Selected Topics in Software Architecture Table of Contents 1 World-Wide-Web... 2 1.1 Basic Architectural Solution... 2 1.2 Designing WWW Applications... 7 2 CORBA... 11 2.1

More information

Introduction CHAPTER. Practice Exercises. 1.1 What are the three main purposes of an operating system? Answer: The three main puropses are:

Introduction CHAPTER. Practice Exercises. 1.1 What are the three main purposes of an operating system? Answer: The three main puropses are: 1 CHAPTER Introduction Practice Exercises 1.1 What are the three main purposes of an operating system? Answer: The three main puropses are: To provide an environment for a computer user to execute programs

More information

SAS/Warehouse Administrator Usage and Enhancements Terry Lewis, SAS Institute Inc., Cary, NC

SAS/Warehouse Administrator Usage and Enhancements Terry Lewis, SAS Institute Inc., Cary, NC SAS/Warehouse Administrator Usage and Enhancements Terry Lewis, SAS Institute Inc., Cary, NC ABSTRACT SAS/Warehouse Administrator software makes it easier to build, maintain, and access data warehouses

More information

Data warehouse architecture consists of the following interconnected layers:

Data warehouse architecture consists of the following interconnected layers: Architecture, in the Data warehousing world, is the concept and design of the data base and technologies that are used to load the data. A good architecture will enable scalability, high performance and

More information

Gustavo Alonso, ETH Zürich. Web services: Concepts, Architectures and Applications - Chapter 1 2

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

CONSISTENCY MODELS IN DISTRIBUTED SHARED MEMORY SYSTEMS

CONSISTENCY MODELS IN DISTRIBUTED SHARED MEMORY SYSTEMS Available Online at www.ijcsmc.com International Journal of Computer Science and Mobile Computing A Monthly Journal of Computer Science and Information Technology IJCSMC, Vol. 3, Issue. 9, September 2014,

More information

APM. Object Monitor. Object Lab. Richard Hayton & Scarlet Schwiderski

APM. Object Monitor. Object Lab. Richard Hayton & Scarlet Schwiderski APM POSEIDON HOUSE CASTLE PARK CAMBRIDGE CB3 0RD UNITED KINGDOM +44 1223 515010 Fax +44 1223 359779 Email: apm@ansa.co.uk URL: http://www.ansa.co.uk Object Lab Object Monitor Richard Hayton & Scarlet Schwiderski

More information

Database Management System (15ECSC208) UNIT I: Chapter 1: Introduction to DBMS and ER-Model

Database Management System (15ECSC208) UNIT I: Chapter 1: Introduction to DBMS and ER-Model Database Management System (15ECSC208) UNIT I: Chapter 1: Introduction to DBMS and ER-Model Introduction to Databases Introduction Database: collection of related data. Data: know facts that can be recorded

More information

Minsoo Ryu. College of Information and Communications Hanyang University.

Minsoo Ryu. College of Information and Communications Hanyang University. Software Reuse and Component-Based Software Engineering Minsoo Ryu College of Information and Communications Hanyang University msryu@hanyang.ac.kr Software Reuse Contents Components CBSE (Component-Based

More information

Misc. Third Generation Batch Multiprogramming. Fourth Generation Time Sharing. Last Time Evolution of OSs

Misc. Third Generation Batch Multiprogramming. Fourth Generation Time Sharing. Last Time Evolution of OSs Third Generation Batch Multiprogramming Misc. Problem: but I/O still expensive; can happen in middle of job Idea: have a pool of ready jobs in memory, switch to one when another needs I/O When one job

More information

Complexity. Object Orientated Analysis and Design. Benjamin Kenwright

Complexity. Object Orientated Analysis and Design. Benjamin Kenwright Complexity Object Orientated Analysis and Design Benjamin Kenwright Outline Review Object Orientated Programming Concepts (e.g., encapsulation, data abstraction,..) What do we mean by Complexity? How do

More information

Architectural Design. CSCE Lecture 12-09/27/2016

Architectural Design. CSCE Lecture 12-09/27/2016 Architectural Design CSCE 740 - Lecture 12-09/27/2016 Architectural Styles 2 Today s Goals Define what architecture means when discussing software development. Discuss methods of documenting and planning

More information

Middleware. Adapted from Alonso, Casati, Kuno, Machiraju Web Services Springer 2004

Middleware. Adapted from Alonso, Casati, Kuno, Machiraju Web Services Springer 2004 Middleware Adapted from Alonso, Casati, Kuno, Machiraju Web Services Springer 2004 Outline Web Services Goals Where do they come from? Understanding middleware Middleware as infrastructure Communication

More information

TECHNISCHE UNIVERSITEIT EINDHOVEN Faculteit Wiskunde en Informatica

TECHNISCHE UNIVERSITEIT EINDHOVEN Faculteit Wiskunde en Informatica TECHNISCHE UNIVERSITEIT EINDHOVEN Faculteit Wiskunde en Informatica Examination Architecture of Distributed Systems (2IMN10 / 2II45), on Monday November 2, 2015, from 13.30 to 16.30 hours. Indicate on

More information

Database Systems: Design, Implementation, and Management Tenth Edition. Chapter 9 Database Design

Database Systems: Design, Implementation, and Management Tenth Edition. Chapter 9 Database Design Database Systems: Design, Implementation, and Management Tenth Edition Chapter 9 Database Design Objectives In this chapter, you will learn: That successful database design must reflect the information

More information

Multiprocessor scheduling

Multiprocessor scheduling Chapter 10 Multiprocessor scheduling When a computer system contains multiple processors, a few new issues arise. Multiprocessor systems can be categorized into the following: Loosely coupled or distributed.

More information

Chapter 2 Basic Principles of the Object-Oriented Paradigm 2.1 Abstraction

Chapter 2 Basic Principles of the Object-Oriented Paradigm 2.1 Abstraction Chapter 2 Basic Principles of the Object-Oriented Paradigm 2.1 Abstraction One of the most appreciated advantages of object-oriented versus other modern programming paradigms is the direct support for

More information

July 20, 2006 Oracle Application Express Helps Build Web Applications Quickly by Noel Yuhanna with Megan Daniels

July 20, 2006 Oracle Application Express Helps Build Web Applications Quickly by Noel Yuhanna with Megan Daniels QUICK TAKE Oracle Application Express Helps Build Web Applications Quickly by Noel Yuhanna with Megan Daniels EXECUTIVE SUMMARY A lesser-known but powerful application development tool that comes freely

More information

UNIT 2. OPERATING SYSTEM STRUCTURES

UNIT 2. OPERATING SYSTEM STRUCTURES This document can be downloaded from www.chetanahegde.in with most recent updates. 1 UNIT 2. OPERATING SYSTEM STRUCTURES 2.1 INTRODUCTION An OS provides the environment within which the programs are executed.

More information

Blackboard MVC Reflection. Lecture 8

Blackboard MVC Reflection. Lecture 8 Blackboard MVC Reflection Lecture 8 Blackboard Pattern Operative Metaphor: Patient Chart in an ICU Operative Image: MIT Math Session in the movie Good Will Hunting (aka Repository Systems) Penny Nii Quote

More information

(Refer Slide Time: 1:26)

(Refer Slide Time: 1:26) Information Security-3 Prof. V Kamakoti Department of Computer science and Engineering Indian Institute of Technology Madras Basics of Unix and Network Administration Operating Systems Introduction Mod01,

More information

Operating System Architecture. CS3026 Operating Systems Lecture 03

Operating System Architecture. CS3026 Operating Systems Lecture 03 Operating System Architecture CS3026 Operating Systems Lecture 03 The Role of an Operating System Service provider Provide a set of services to system users Resource allocator Exploit the hardware resources

More information

Operating- System Structures

Operating- System Structures Operating- System Structures 2 CHAPTER Practice Exercises 2.1 What is the purpose of system calls? Answer: System calls allow user-level processes to request services of the operating system. 2.2 What

More information

Introduction to IRQA 4

Introduction to IRQA 4 Introduction to IRQA 4 Main functionality and use Marcel Overeem 1/7/2011 Marcel Overeem is consultant at SpeedSoft BV and has written this document to provide a short overview of the main functionality

More information

Statecharts Based GUI Design. Statecharts Based GUI Design

Statecharts Based GUI Design. Statecharts Based GUI Design Chenliang Sun csun1@cs.mcgill.ca School of Computer Science McGill University March 5, 2003 1.1 Overview What s GUI? Why GUI? Why Statechart Based GUI Design? What s Statechart? How? Case Study Testing

More information

CISC 3140 (CIS 20.2) Design & Implementation of Software Application II

CISC 3140 (CIS 20.2) Design & Implementation of Software Application II CISC 3140 (CIS 20.2) Design & Implementation of Software Application II Instructor : M. Meyer Email Address: meyer@sci.brooklyn.cuny.edu Course Page: http://www.sci.brooklyn.cuny.edu/~meyer/ CISC3140-Meyer-lec4

More information

FACETs. Technical Report 05/19/2010

FACETs. Technical Report 05/19/2010 F3 FACETs Technical Report 05/19/2010 PROJECT OVERVIEW... 4 BASIC REQUIREMENTS... 4 CONSTRAINTS... 5 DEVELOPMENT PROCESS... 5 PLANNED/ACTUAL SCHEDULE... 6 SYSTEM DESIGN... 6 PRODUCT AND PROCESS METRICS...

More information

Accelerating BI on Hadoop: Full-Scan, Cubes or Indexes?

Accelerating BI on Hadoop: Full-Scan, Cubes or Indexes? White Paper Accelerating BI on Hadoop: Full-Scan, Cubes or Indexes? How to Accelerate BI on Hadoop: Cubes or Indexes? Why not both? 1 +1(844)384-3844 INFO@JETHRO.IO Overview Organizations are storing more

More information

Design Pattern What is a Design Pattern? Design Pattern Elements. Almas Ansari Page 1

Design Pattern What is a Design Pattern? Design Pattern Elements. Almas Ansari Page 1 What is a Design Pattern? Each pattern Describes a problem which occurs over and over again in our environment,and then describes the core of the problem Novelists, playwrights and other writers rarely

More information

Implementation Techniques

Implementation Techniques V Implementation Techniques 34 Efficient Evaluation of the Valid-Time Natural Join 35 Efficient Differential Timeslice Computation 36 R-Tree Based Indexing of Now-Relative Bitemporal Data 37 Light-Weight

More information

Chapter 1: Introduction

Chapter 1: Introduction Chapter 1: Introduction Chapter 1: Introduction What Operating Systems Do Computer-System Organization Computer-System Architecture Operating-System Structure Operating-System Operations Process Management

More information

Enterprise Backup and Restore technology and solutions

Enterprise Backup and Restore technology and solutions Enterprise Backup and Restore technology and solutions LESSON VII Veselin Petrunov Backup and Restore team / Deep Technical Support HP Bulgaria Global Delivery Hub Global Operations Center November, 2013

More information

Java Concurrency in practice Chapter 9 GUI Applications

Java Concurrency in practice Chapter 9 GUI Applications Java Concurrency in practice Chapter 9 GUI Applications INF329 Spring 2007 Presented by Stian and Eirik 1 Chapter 9 GUI Applications GUI applications have their own peculiar threading issues To maintain

More information

Accelerated Library Framework for Hybrid-x86

Accelerated Library Framework for Hybrid-x86 Software Development Kit for Multicore Acceleration Version 3.0 Accelerated Library Framework for Hybrid-x86 Programmer s Guide and API Reference Version 1.0 DRAFT SC33-8406-00 Software Development Kit

More information

COMPUTER ORGANISATION CHAPTER 1 BASIC STRUCTURE OF COMPUTERS

COMPUTER ORGANISATION CHAPTER 1 BASIC STRUCTURE OF COMPUTERS Computer types: - COMPUTER ORGANISATION CHAPTER 1 BASIC STRUCTURE OF COMPUTERS A computer can be defined as a fast electronic calculating machine that accepts the (data) digitized input information process

More information

CAS 703 Software Design

CAS 703 Software Design Dr. Ridha Khedri Department of Computing and Software, McMaster University Canada L8S 4L7, Hamilton, Ontario Acknowledgments: Material based on Software Architecture by Tao et al. (Chapters 6 and 7) 1

More information

Implementing Problem Resolution Models in Remedy

Implementing Problem Resolution Models in Remedy CERN-IT-2000-001 15 February 2000 Implementing Problem Resolution Models in Remedy Miguel Marquina, Raúl Ramos, José Padilla CERN, IT Division, User Support Group This paper defines the concept of Problem

More information

A database management system (DBMS) is a software package with computer

A database management system (DBMS) is a software package with computer A database management system (DBMS) is system software for creating and managing databases. The DBMS provides users and programmers with a systematic way to create, retrieve, update and manage data. What

More information

The Role of Database Aware Flash Technologies in Accelerating Mission- Critical Databases

The Role of Database Aware Flash Technologies in Accelerating Mission- Critical Databases The Role of Database Aware Flash Technologies in Accelerating Mission- Critical Databases Gurmeet Goindi Principal Product Manager Oracle Flash Memory Summit 2013 Santa Clara, CA 1 Agenda Relational Database

More information

DSP/BIOS Kernel Scalable, Real-Time Kernel TM. for TMS320 DSPs. Product Bulletin

DSP/BIOS Kernel Scalable, Real-Time Kernel TM. for TMS320 DSPs. Product Bulletin Product Bulletin TM DSP/BIOS Kernel Scalable, Real-Time Kernel TM for TMS320 DSPs Key Features: Fast, deterministic real-time kernel Scalable to very small footprint Tight integration with Code Composer

More information

Introduction. CS3026 Operating Systems Lecture 01

Introduction. CS3026 Operating Systems Lecture 01 Introduction CS3026 Operating Systems Lecture 01 One or more CPUs Device controllers (I/O modules) Memory Bus Operating system? Computer System What is an Operating System An Operating System is a program

More information

SPECULATIVE MULTITHREADED ARCHITECTURES

SPECULATIVE MULTITHREADED ARCHITECTURES 2 SPECULATIVE MULTITHREADED ARCHITECTURES In this Chapter, the execution model of the speculative multithreading paradigm is presented. This execution model is based on the identification of pairs of instructions

More information

Comprehensive Guide to Evaluating Event Stream Processing Engines

Comprehensive Guide to Evaluating Event Stream Processing Engines Comprehensive Guide to Evaluating Event Stream Processing Engines i Copyright 2006 Coral8, Inc. All rights reserved worldwide. Worldwide Headquarters: Coral8, Inc. 82 Pioneer Way, Suite 106 Mountain View,

More information

Unit 2 : Computer and Operating System Structure

Unit 2 : Computer and Operating System Structure Unit 2 : Computer and Operating System Structure Lesson 1 : Interrupts and I/O Structure 1.1. Learning Objectives On completion of this lesson you will know : what interrupt is the causes of occurring

More information

Ovation Process Historian

Ovation Process Historian Ovation Process Historian Features Designed to meet the needs of precision, performance, scalability and historical data management for the Ovation control system Collects historical data of Ovation process

More information

BI-09 Using Enterprise Guide Effectively Tom Miron, Systems Seminar Consultants, Madison, WI

BI-09 Using Enterprise Guide Effectively Tom Miron, Systems Seminar Consultants, Madison, WI Paper BI09-2012 BI-09 Using Enterprise Guide Effectively Tom Miron, Systems Seminar Consultants, Madison, WI ABSTRACT Enterprise Guide is not just a fancy program editor! EG offers a whole new window onto

More information

Software Architecture

Software Architecture Software Architecture Lecture 5 Call-Return Systems Rob Pettit George Mason University last class data flow data flow styles batch sequential pipe & filter process control! process control! looping structure

More information

Operating Systems. Lecture 09: Input/Output Management. Elvis C. Foster

Operating Systems. Lecture 09: Input/Output Management. Elvis C. Foster Operating Systems 141 Lecture 09: Input/Output Management Despite all the considerations that have discussed so far, the work of an operating system can be summarized in two main activities input/output

More information

Where is Database Management System (DBMS) being Used?

Where is Database Management System (DBMS) being Used? The main objective of DBMS (Database Management System) is to provide a structured way to store and retrieve information that is both convenient and efficient. By data, we mean known facts that can be

More information

CHAPTER 4: ARCHITECTURE AND SYSTEM DESIGN OF PROPOSED EXPERT SYSTEM: ESOA

CHAPTER 4: ARCHITECTURE AND SYSTEM DESIGN OF PROPOSED EXPERT SYSTEM: ESOA CHAPTER 4: ARCHITECTURE AND SYSTEM DESIGN OF PROPOSED EXPERT SYSTEM: ESOA Pages: From 49 to 64 This chapter presents the Architecture, frameworf^and system design of the we6-6ased expert system. This chapter

More information

1993 Paper 3 Question 6

1993 Paper 3 Question 6 993 Paper 3 Question 6 Describe the functionality you would expect to find in the file system directory service of a multi-user operating system. [0 marks] Describe two ways in which multiple names for

More information

Architectural Styles I

Architectural Styles I Architectural Styles I Software Architecture VO/KU (707.023/707.024) Denis Helic, Roman Kern KMI, TU Graz Nov 14, 2012 Denis Helic, Roman Kern (KMI, TU Graz) Architectural Styles I Nov 14, 2012 1 / 80

More information

Test On Line: reusing SAS code in WEB applications Author: Carlo Ramella TXT e-solutions

Test On Line: reusing SAS code in WEB applications Author: Carlo Ramella TXT e-solutions Test On Line: reusing SAS code in WEB applications Author: Carlo Ramella TXT e-solutions Chapter 1: Abstract The Proway System is a powerful complete system for Process and Testing Data Analysis in IC

More information

Common Architectural Styles & Patterns

Common Architectural Styles & Patterns Common Architectural Styles & Patterns some we ve already kind of discussed model view controller blackboard client/server layered pipe-and-filter Lots of ways to classify all these Application Domain

More information

Part 1: Indexes for Big Data

Part 1: Indexes for Big Data JethroData Making Interactive BI for Big Data a Reality Technical White Paper This white paper explains how JethroData can help you achieve a truly interactive interactive response time for BI on big data,

More information

How Turner Broadcasting can avoid the Seven Deadly Sins That. Can Cause a Data Warehouse Project to Fail. Robert Milton Underwood, Jr.

How Turner Broadcasting can avoid the Seven Deadly Sins That. Can Cause a Data Warehouse Project to Fail. Robert Milton Underwood, Jr. How Turner Broadcasting can avoid the Seven Deadly Sins That Can Cause a Data Warehouse Project to Fail Robert Milton Underwood, Jr. 2000 Robert Milton Underwood, Jr. Page 2 2000 Table of Contents Section

More information