资源描述
软 件 体 系 结 构信 息 共 享 体 系 结 构Shared Information孙 志 岗 22021-4-27 Where are we? 32021-4-27 Families of Architectural Styles 42021-4-27 Families of Architectural Styles 52021-4-27 Families of Architectural Styles 62021-4-27 Families of Architectural Styles 72021-4-27 Shared Information Systemsn Style represents a large variety of systems这种风格描绘很多种系统 many variants depending on nature of shared data共同特点是共享数据n Style addresses mechanisms for:风格说明其运行机制是 collecting, manipulating and preserving large bodies of data收集、操作、保存大量的数据n Databases are a natural example, but not the only one数据库是一个典型的例子,但不是仅有的例子 well see others in this lecture 82021-4-27 Shared Information Systemsn High level view what are the apparent features of this style?风格的明显特点是什么? what are some issues regarding this style?这种这个风格有什么可研究的问题? 92021-4-27 Shared Information Systemsn Advantageseasy to add consumers and producers of data很容易增加数据的生产者和消费者n How about modifier?n Issuessynchronization(同步)configuration and schema management(配置和管理)atomicity(原子性)consistency(一致性)persistence(持久性) performance(性能) 102021-4-27 Shared Information Systems Lineagen Earliest repositories appear in batch sequential systems早期的仓库出现在批处理系统 mainframes, drums, magnetic tapes, disc drives resources manually managed人工调配资源n Pressure for on-line access to data迫切需要数据即时存取 requirement to make access to data easy and instant简捷地数据存取 help to drive the shift from batch-sequential to interactive processing 促进了从批处理到交互式处理的转变 112021-4-27 Shared Information Systems Lineagen Todayshared information systems appear everywhere from the smallest business, to the most advanced scientific applications从最小的商业应用到最顶尖的科学应用,信息共享无处不在many applications provide access mechanisms to shared data很多应用提供对共享数据的存取机制the Web has become a giant distributed repositoryWeb成为庞大的分布式仓库 122021-4-27 Evolution of Shared Information Systemsn Batch Sequential Systemsflat file access (I/O) 132021-4-27 Early File Accessn In the earliest systems, code had to be written to position the media, read the data, and do any associated “house cleaning” operations.早期的系统,很难编写代码来完成定位存储介质、读数据等操作 142021-4-27 Early File Accessn Advances in OS development focused on the abstraction of devices the demand to use external data helped to drive the development of more capable file systemsn flat file systems - one level of directories that contain only filesn hierarchical file systems - directories that can contain files and more directories n language and OS support for many file types and file access methods 152021-4-27 Evolution of Shared Information Systemsn Datapool (Shared Memory) Example: Enabled by availability of RAM and languages to permit the sharing of common data (E.g., FORTRAN COMMON BLOCK) Processes are not necessarily sequential Gets messy without implementation rules - what are the issues? 162021-4-27 Repository Architecture 172021-4-27 Unified Schemas for IntegratingDatabasesAbstraction:multiplex the databases; putfilters on the query/update tomatch diverse views抽象:复合多个数据库;在查询/更新操作中增加过滤器来匹配不同的视图 182021-4-27 Multi-databases 192021-4-27 Evolving Database Architecturesn Batch processing: Standalone programs (独立的程序) results were passed from one to another on magtape (结果通过磁带从一个程序传到另一个程序) batch sequential model (批处理风格)n Interactive processing: concurrent operation and faster updates preclude batching, so updates are out of synch with reports. 并行操作、更快的更新速度,但是使更新和报告难以保持同步。 Repository model with external control (仓库风格) 202021-4-27 Evolving Database Architecturesn Unified schemas:create one virtual database by defining (passive) consistent conversion mappings to multiple DBs建立一个虚拟数据库,定义到多个数据库的静态映射n Multi-database: DBs have many users; passive mappings dont suffice; use active agents. 数据库有很多用户;静态映射不满足要求;使用活动的代理。 “Layered” hierarchy层次风格 212021-4-27 Computer Aided SoftwareEngineeringn Initially just translation from source to object code: compiler, library, linker, make起初,就是做从源代码到目标代码的转换n Grew to include design record, documentation, analysis, configuration control, incrementality开始包含分析、设计、调试、测试、文档、配置管理、增量编译等功能 n Integration demanded for 20 years, but not here yet.集成已经作了20年,但还没有结束 222021-4-27 CASE vs. DBMSn As compared to databases, CASE has:more types of data更多的数据类型fewer instances of each type更少的数据类型实例slower query rates 更慢的查询频率larger, more complex, less discrete information更大,更复杂,更集中的信息 but not shorter lifetime生命周期没有更短 232021-4-27 Traditional Compiler 242021-4-27 Example: Modern CanonicalCompiler 252021-4-27 Canonical Compiler 262021-4-27 Software Tools with SharedRepresentation 272021-4-27 Evolution of CASE EnvironmentsEvolution is much like databases:n Interaction: batch - interactive交互:批处理交互式n Granularity: complete processing -incremental粒度:完全处理增量n Coverage: compilation - full life cycle覆盖:编译全生命周期n Like databases, started with batch sequential style从批处理风格开始n Integration needs led to repositories with rigid control, then to open systems in layers对集成性的要求,促成了仓库风格被应用,让系统开始分层 282021-4-27 Varieties of RepositoriesDiscriminate on control strategy(在控制策略上的区别)n Predetermined by designer (设计者预先定义好) Compilersn Driven by types of information in input stream 输入流的信息类型决定 Database transaction systemn Driven by availability of new information from other parts of the system (系统其他部分的新信息决定) Scratchboard (刮板)n Opportunistic: driven by state of computation机会主义:计算的状态决定 Blackboard 292021-4-27 Repository (Blackboard) 302021-4-27 The Blackboard Modeln Knowledge Sources Problem-appropriate knowledge partitioned into separate, independent computations把问题分成几个部分,每个部分独立计算 React to changes in blackboard响应黑板上的变化n Blackboard Data Structure Global database containing entire state of problem solution全局数据库包含解域的全部状态 Only means by which knowledge sources interact知识源互相作用的唯一媒介n Control Knowledge sources respond “opportunistically”让知识源响应偶然事件 312021-4-27 The Blackboard Model 322021-4-27 Blackboard Architecturen Key ideas knowledge shared and distributed among some number of cooperating processes知识在一些协作的processes之间共享和分布 opportunistic processing of data机会主义地处理数据n The Blackboard Architecture have 3 major components knowledge sources (知识源) blackboard (黑板) control (控制)n Historical examples: Hearsay I, Hearsay II, HASP/SAIP, CRYSALIS, ATOME Originally most were from signal processing/interpretation domains (信号处理、专家系统、模式识别领域经常采用) 332021-4-27 Blackboard Architecture 342021-4-27 Blackboard Problem Characteristicsn no direct algorithmic solution没有直接的算法可解 multiple approaches to solving the problem多种方法都可能解决问题 various domain expertise required to solve the problem需要多个领域的专门知识协作解决n uncertainty error and variability in data and solution数据和解决方法可能错误或变化 moderate to low “signal-to-noise-ratio” in data数据中信噪比的变化 Uncertainty interferes with algorithmic solutions算法接口的变化 352021-4-27 Blackboard Problem Characteristicsn “Best-effort” or approximation is good enoughno single discrete answer to problem, or “right” answer may vary问题没有唯一的解答,或者“正确”答案会变化n examplessignal processing (信号处理)problem solving (planning, logistics, diagnostics) compiler optimization 362021-4-27 Knowledge Sourcesn Objective: contribute knowledge that leads to solution提供解决问题的知识n Representation: procedures, sets of rules, logic assertions过程、规则、逻辑断言n Action: modify only the blackboard (or control data - magic)只修改黑板n Responsibility: know when its possible to help知道何时能发挥作用n Selection: loosely-coupled subtasks, or areas of specialization低耦合的子任务,或者有特别的能力 372021-4-27 Blackboard Data Structuren Objective: hold data for use by knowledge sources保存知识源要使用的数据n Representation: stores objects from solution space, including保存来自解空间的数据,包括 n input data, partial solutions, alternatives, final solutions, control datan objects and properties define the terms of the discoursen relationships are denoted by named links (“next-to”, “part-of”)n Organization: hierarchical, possibly multiple hierarchies; links between objects on same or different levels分层;链接同层或不同层的对象 382021-4-27 Controln Objective:make knowledge sources respond opportunistically让知识源响应偶然事件n Representation:keeps various sorts of information about which knowledge sources could operate and picks a sequence that allows the solution process to proceed a step at a time了解各个知识源的能力,决策解决问题的步骤n Remark: the control mechanisms are thoroughly ad hoc控制机制是彻底的与时俱进 392021-4-27 Example:The Puzzle Metaphor 402021-4-27 Example:The Puzzle Metaphorn Data within the blackboard is often structured hierarchicallyLevel 4 assemble chunksLevel 3 build chunks of edges build chunks of skyLevel 2 collect edge piecescollect sky piecesLevel 1 Turn all pieces picture side up 412021-4-27 Hearsay IIn Complex blackboard system to deal with arbitrary speech recongition (a difficult problem):Ambiguity in segmentation(音节分割问题): “Marys truck” versus “Mary struck” Ambiguity in stress(重音问题): “disease” versus “dizzies”Ambiguity in grammar(语法问题): “The horse raced past the barn fell” Ambiguity in semantics(语义问题): “I saw the man on the hill with the binoculars” 422021-4-27 Problem Solving Strategyn Had to be incremental, opportunistic, flexible必须是增量的、机会的、灵活的n Hearsay-II employed several strategies: Bottom-up (synthetic) Top-down (analytic) General hypothesize-and-test (猜测和测试)n Blackboard structure entertained many simultaneous hypotheses黑板结构可以同时处理多种假设n Control was complex: had a monitor portion and a priority based scheduler控制很复杂:有一个监视器,采用基于优先级的调度 432021-4-27 Hearsay II Structure 442021-4-27 Lecture Summaryn Repositories are ubiquitous in computer-based applications.仓库在计算机应用中几乎无处不在n Shared information systems in many areas show similar trends, stimulated by similar technological and business pressures.信息共享系统在很多领域有相似的发展趋势,因为有相似的技术和商业压力的激励n Blackboards are specialized types of repositories for dealing with “messy” information processing domains where the control strategy must be opportunistic.黑板是一种特别的仓库,主要用于需要对凌乱的信息进行处理的领域,其控制策略必须是机会主义的
展开阅读全文