3. Blackboard and Client/Server Systems
|
|
- Augusta Collins
- 6 years ago
- Views:
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 Keith Decker, Alan Garvey, Marty Humphrey and Victor Lesser * Department of Computer and Information Science University of Massachusetts Amherst,
More informationDesign 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 informationContemporary 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 informationCLIENT 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 informationDBMS (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 informationRule 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 informationCSc33200: 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 informationOperating 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 informationActive 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 informationFundamentals 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 informationIn 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 informationITP 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 informationBackground. 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 informationCS352 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 informationCourse 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 informationEngr. 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 informationA7-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 informationTransactum 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 informationAn 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 informationAppendix A - Glossary(of OO software term s)
Appendix A - Glossary(of OO software term s) Abstract Class A class that does not supply an implementation for its entire interface, and so consequently, cannot be instantiated. ActiveX Microsoft s component
More informationAdvanced 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 informationCPS221 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 informationS-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 informationChapter 1: Distributed Information Systems
Chapter 1: Distributed Information Systems Contents - Chapter 1 Design of an information system Layers and tiers Bottom up design Top down design Architecture of an information system One tier Two tier
More informationArchitectural 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 informationAn 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 informationConcept 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 informationComputer 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 informationConcurrent/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 informationOLAP 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 informationOracle 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 informationNew 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 informationAOSA - 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 informationArchitectural 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 informationELEC 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 informationTRANSACTIONAL 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 informationCPS352 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 informationOPERATING 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 informationXVIII. 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 informationGlossary. 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 informationFault-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 informationDescribing 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 informationChapter 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 information2 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 informationSoftware 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 informationIntroduction 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 informationSAS/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 informationData 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 informationGustavo Alonso, ETH Zürich. Web services: Concepts, Architectures and Applications - Chapter 1 2
Chapter 1: Distributed Information Systems Gustavo Alonso Computer Science Department Swiss Federal Institute of Technology (ETHZ) alonso@inf.ethz.ch http://www.iks.inf.ethz.ch/ Contents - Chapter 1 Design
More informationCONSISTENCY 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 informationAPM. 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 informationDatabase 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 informationMinsoo 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 informationMisc. 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 informationComplexity. 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 informationArchitectural 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 informationMiddleware. 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 informationTECHNISCHE 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 informationDatabase 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 informationMultiprocessor 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 informationChapter 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 informationJuly 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 informationUNIT 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 informationBlackboard 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)
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 informationOperating 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 informationOperating- 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 informationIntroduction 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 informationStatecharts 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 informationCISC 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 informationFACETs. 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 informationAccelerating 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 informationDesign 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 informationImplementation 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 informationChapter 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 informationEnterprise 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 informationJava 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 informationAccelerated 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 informationCOMPUTER 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 informationCAS 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 informationImplementing 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 informationA 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 informationThe 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 informationDSP/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 informationIntroduction. 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 informationSPECULATIVE 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 informationComprehensive 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 informationUnit 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 informationOvation 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 informationBI-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 informationSoftware 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 informationOperating 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 informationWhere 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 informationCHAPTER 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 information1993 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 informationArchitectural 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 informationTest 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 informationCommon 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 informationPart 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 informationHow 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