四川大学软件系统形式化验证(双语)Software System Model Checking教学大纲
- 格式:pdf
- 大小:23.85 KB
- 文档页数:2
文章编号:1007-1423(2020)13-0010-07DOI:10.3969/j.issn.1007-1423.2020.13.002软件生态系统的负熵流模型韩雨泓1,2,祝鹏程3(1.四川大学计算机学院,成都610000;2.中国人民解放军32620部队,西宁810000;3.中国人民解放军78100部队,成都610000)摘要:软件生态系统(SECO)是应用生态学理论和方法,解决软件问题的热门研究方向。
通过对软件生态系统中负熵机制的研究,提出软件以输出负熵为使命的观点,构建一种基于负熵流的软件生态系统模型,并对该模型进行实证研究和可行性分析。
关键词:软件生态系统;模型;熵;负熵流0引言软件工程自20世纪60年代末诞生以来,有效解决了“软件危机”,推动了软件产业的持续快速发展。
但随着软件复杂度不断提高,研究人员逐步认识到,传统软件工程中源于传统工业领域的工程化思维和基于还原论的研究方法,在复杂系统软件的研究中存在诸多局限,面临重大挑战[1]。
近年来,受到开源软件的启发,越来越多的研究者把开源软件的成功,定性为软件生态系统的成功,转向对软件生态系统的反思与研究[2]。
但目前国内外对软件生态系统还没有统一的定义,研究也主要集中于开源软件生态系统的技术报告,分析方法与框架、过程与技术、工具及表达等方面研究还比较少[3]。
本文分析了现有的软件生态系统分析方法与框架,对软件生态系统的负熵机制进行了研究,提出了“软件以输出负熵为使命”的观点,构建了一种基于软件负熵流的形式化分析模型——软件负熵流(SoftwareNegative Entropy Flow,SNEF)模型,并对该模型进行了实证分析和可行性研究。
1软件生态系统的研究现状1.1定义与元模型软件生态系统(Software Ecosystem,SECO)最早由Messerchmitt等人[4]于2003年提出,认为“软件生态系统是一系列具有一定程度共生关系的软件产品集合”,而后十多年内研究人员又从不同角度对软件生态系统的定义进行了丰富和创新。
评阅教师得分四川大学期末考试试题(闭卷)(2014~2015学年第1学期)课程号: 311078040 课程名称:软件工程导论(A卷)任课教师:洪玫,刘东权,李旭伟等适用专业年级:软件工程 2013级学号:姓名:2. 请将答案全部填写在本试题纸上;3. 考试结束,请将试题纸、添卷纸和草稿纸一并交给监考老师。
✍✍✍✍✍✍✍✍✍✍✍✍✍✍✍✍✍✍✍✍✍✍✍✍✍✍✍✍✍一、单项选择题(本大题共20小题,每小题1分,共20分)提示:在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在下表中。
错选、多选或未选均无分。
1. Software is the collection of ( ).(A) Programs(B) Data(C) Documents(D) All of above2.Which of the items listed below is not one of the software engineering layers? ( )(A) Process(B) Methods(C) Tools(D) Manufacturing3.The prototyping model of software development is ( ).(A) A reasonable approach when requirements are well defined.(B) The best approach to use for projects with large development teams.(C) A useful approach when a customer cannot define requirements clearly.注:试题字迹务必清晰,书写工整。
本题共11页,本页为第1页(D) A risky model that rarely produces a meaningful product.4. The linear sequential model of software development is also known as the ( ).(A) Prototyping model(B) Waterfall model(C) Fountain model(D) Spiral model5.Which one of the following phases is not one of the phase names defined by the Unified Process model for software development? ( )(A) Inception phase(B) V alidation phase(C) Elaboration phase(D) Construction phase6. The spiral model of software development ( )(A) Ends with the delivery of the software product(B) Includes project risks evaluation during each iteration(C) Is more chaotic than the incremental model(D) All of the above7. The Capability Maturity Model Integration (CMMI) is used to measure ( )(A) the quality of the product(B) quality in the context of the business environment(C) the quality of the process(D) none of the above8. Analysis models depict software in which three representations? ( )(A) information, function, behavior(B) architecture, interface, component(C) cost, risk, schedule(D) None of the above9. Software engineers collaborate with customers to define which of the following? ( )(A) Customer visible usage scenarios(B) Important software features(C) System inputs and outputs(D) All of the above10. Views are “slices”of architecture. Which view focuses on structural issues? ( )(A) Logical(B) Use-case(C) Process(D) Implementation11. The Data Flow Diagram(DFD) ( ).(A) depicts relationships between data objects(B) depicts functions that transform the data flow(C) indicates how data are transformed by the system(D) both b and c12. The entity relationship diagram ( )(A) depicts functions that transform the data flow(B) depicts relationships between data objects(C) indicates how data are transformed by the system(D) indicates system reactions to external events13. Which one of the following items is not an element of a class definition? ( )(A) Class responsibilities(B) Class attribution(C) Class name(D) Class operations14. The importance of software design can be summarized in a single word: ( )(A) accuracy(B) quality(C) complexity(D) efficiency15. Polymorphism can be described as? ( )(A) Inheritance(B) Information(C) Placing Generalization(D) one interface encapsulates different implementations16. Which one of the following is not an area of concern in the design model? ( )(A) architecture(B) project scope(C) data(D) interfaces17. In component design, elaboration does not require which of the following elements to bedescribed in detail? ( )(A) Attributes(B) Source code(C) Interfaces(D) Operations18. What is the normal order of activities in which traditional software testing is organized? ( )(A) unit testing, integration testing, validation testing, system testing(B) integration testing, unit testing, system testing, validation testing(C) validation testing, unit testing, integration testing, system testing(D) system testing, validation testing, integration testing, unit testing评阅教师得分19. Which of the following tests is a system test that forces the software to fail in a variety of ways and verifies that software is able to continue execution without interruption? ( )(A) security testing (B) performance testing (C) recovery testing (D) stress testing20. The testing technique that requires devising test cases to demonstrate that each program function is operational is called? ( )(A) glass-box testing (B) black-box testing (C) grey-box testing (D) white-box testing二、名词解释题(本大题共5小题,每小题2分,共10分)。
第44卷第11A期2017年11月计算机科学COMPUTER SCIENCEVol.44 No. 11ANov.2017多核系统动态温度管理TAPE策略的形式化验证屈媛媛洪玫孙琳(四川大学计算机学院成都610025)摘要多核系统中,分布式D T M策略因其良好的可扩展性得到了广泛应用。
在部署分布式D T M策略前,必须验 证其可靠性。
为了克服传统分析方法的局限,模型检测技术被应用于分布式D T M策略的分析中。
提出使用统计模 型检测技术来验证多核系统中分布式D T M策略(以T A P E策略为例)的方案。
使用U P P A A L S M C对T A P E策略的 验证证明了 T A P E策略的安全性、有效性、活性以及稳定性,从而验证D T M策略方案的可靠性。
关键词动态温度管理策略,统计模型检测,多核系统中图法分类号TP306.7 文献标识码AFormal Verification of TAPE Strategy for Dynamic Temperature Management in Multi-core SystemQ U Yuan-yuan H O N G M ei S UN Ning(Department of Computer Science,Sichuan University,Chengdu 610025,China)Abstract Distributed D T M strategy in m ulti-core system is widely used because of its scalability. Before a distributed D T M policy is deployed,its reliab ility m ust be verified. In order to overcome the lim itations of the traditional analytical m ethods,the model checking technique is applied to the analysis of distributed D T M strategies. T his paper analyzed a T A P E policy which is a distributed D T M policy instance in a m ulticore system using statistical model checking techniques. The verification of T A P E strategy by U P P A A L SMC proves the security, validity, activity and stability of T A P E strategy,and proves the reliab ility of D T M scheme.Keywords Dynamic temperature management strategy,Statistical model checking,M ulti-core system1绪论为了维持多核系统的温度在阈值之下并最大化计算机的 性能,近年来出现了多种温度管理技术。
第37卷 第9期2010年9月计算机科学Comp uter Science Vol.37No.9Sep 2010到稿日期:2009210230 返修日期:2010201229 本文受863项目(2007AA01Z425,2009AA012201),973课题(2007CB316502),国家自然基金项目(90718015),NSFC 2微软亚洲研究院联合资助项目(60970155),教育部博士点基金项目(20090072110035),上海市优秀学科带头人计划项目(10XD1404400),高效能服务器和存储技术国家重点实验室开放基金项目(2009HSSA06)资助。
程晓瑜(1986-),女,硕士生,主要研究方向为软件演化、可信软件,E 2mail :fish.c0616@ ;曾国荪(1964-),男,博士,教授,博士生导师,主要研究方向为并行分布处理、可信计算;徐洪珍(1976-),男,博士生,副教授,主要研究方向为软件演化、可信软件。
基于Delta 2G rammar 的软件体系结构演化的描述程晓瑜 曾国荪 徐洪珍(同济大学计算机科学与技术系 上海201804) (嵌入式系统与服务计算教育部重点实验室 上海201804)摘 要 软件需要不断演化以适应复杂多变的环境和需求。
为了分析软件演化的过程和规则,提出了一种特殊的图文法delta 2grammar 用以描述软件体系结构的演化,具体给出了增加、删除、替换、重组、拆分、并发等演化的产生式规则,从而能够方便、直观、图示化地刻画演化过程。
并且,以电子商务信息系统为例,展示了应用delta 2grammar 进行软件体系结构演化描述的过程和作用。
关键词 软件演化,Delta 2grammar ,产生式规则中图法分类号 TP311 文献标识码 A Description of Soft w are Architecture Evolution B ased on Delta 2G rammarCH EN G Xiao 2yu ZEN G Guo 2sun XU Hong 2zhen(Depart ment of Computer Science and Technology ,Tongji University ,Shanghai 201804,China )(Embedded System and Service Computing Key Lab of Ministry of Education ,Shanghai 201804,China )Abstract Software requires continuing evolution to adapt complex environment and meet variable requirements.In or 2der to analyze the process and rules of software evolution ,we proposed a special graph grammar ,delta 2grammar to de 2scribe the evolution of software architecture (SA ).In particular ,we provided the production rules of insertion ,removal ,replacement ,recombination ,split and concurrency for depicting the evolution process more conveniently ,intuitively and graphically.Finally ,we showed the process and effect of applying delta 2grammar to describe software architecture evo 2lution by taking e 2commerce information system for example.K eyw ords Software evolution ,Delta 2grammar ,Production rule1 引言变化是自然界的客观规律,软件作为客观事物也在进行持续的变化活动,例如环境的变化、管理制度的改变、硬件设备的更新、新功能的增加、新技术的出现等,都迫切需要软件进行不断地变化。
形式化方法参考书以下是一些关于形式化方法的参考书籍:1. 《软件工程——形式化方法》(Software Engineering: Formal Methods)- Jean-Raymond Abrial2. 《形式化方法:计算机科学和工程的形式化技术》(Formal Methods for Computing Science and Engineering: Theory & Practice)- John Harrison3. 《形式化方法和软件工程:基础和应用》(Formal Methods and Software Engineering: Foundations and Applications)- Tim Denvir, John Fitzgerald, Peter Gorm Larsen4. 《软件工程中的形式化方法:数学理论和实际应用》(Formal Methods in Software Engineering: Mathematical Theory and Practical Applications)- Ke Sun, Chunbo Luo, Denggui Zhang5. 《计算机科学的形式化方法》(Formal Methods in Computer Science)- Carroll L. Morgan6. 《实时系统的形式化方法》(Formal Methods for Real-Time and Probabilistic Systems)- Marco Bernardo, Rocco De Nicola7. 《形式化方法:基本概念和技术》(Formal Methods: Concepts and Techniques)- Andrew Ireland8. 《形式化方法和工具:软件工程的逻辑基础》(Formal Methods and Tools: Applications to Software Engineering)- Jean-Pierre Jouannaud, Josef Sifakis9. 《形式化方法在软件工程中的应用》(Formal Methods Applied to Software Engineering)- Jan Camenisch, David L. Dill 10. 《企业应用系统的形式化方法》(Formal Methods forEnterprise Systems)- Rami Bahsoon, Natalia Sidorova, Antonino Sabetta这些参考书籍涵盖了形式化方法在软件工程、计算机科学和工程等领域的理论和应用方面的知识,对于对形式化方法感兴趣的读者来说是很好的参考资料。
College of Software EngineeringUndergraduate Course Syllabus Course ID Course ID311046040 Course Name Course Name System Level Programming CourseAttribute Attribute█Compulsory □SelectiveCourse Language █English □Chinese Credit Hour Credit Hour4 Period 80 S emester □First Fall □First Spring □Second Fall □Second Spring█Third Fall □Third Spring □Fourth Fall □Fourth SpringInstructor Instructors s Li Shu, Hui Zhao, Kui ZhaoDescription DescriptionThis course introduces many of the concepts that lie behind software systems, such ashardware, memory layout, memory management, and operating systems. It explains how these concepts affect the design of software systems. The objective of the course is to develop agood working knowledge of how to program in the C programming language, to understand how to write programs with explicit memory allocation and deal location, and to introducehow to write systems programs.Prerequisites PrerequisitesIntroduction to Computer System; C Language Programming; Data Structure; OperatingSystemTextbook TextbookComputer Systems: A programmer’s Perspective, Randal E. Bryant, David R. O’Hallaron,Prentice Hall/Pearson, 电子工业出版社,2006Resource Resource 1. 2. Windows Programming by Charles Petzold ,Press of Beijing University ,2004;3. Assembly Language for Intel-Based Computers by Kip Irvine, Press of ElectronicIndustry,20074. C how to program by HM Deitel, PJ Deitel, Press of Renming Post, 2006;Grading Gradingassignments, class participation, & term project (50%), final exam (50%) Topics Topics Chapter 1 Introduction (Lecture: 2 class hour / Lab: 3 class hour)1 The wonder of Program Execution2 The Visual C EnvironmentLab: Using Visual C DebuggerThe purpose of the lab is to get students familiar with Debugger in Visua C++, to learn about observing the run-time behavior of programs.Chapter 2 Representing and Manipulating Information (Lecture: 2 class hour / Lab: 3 class hour)1 Information Storage2 Integer Representations and Arithmetic3 FloatingPointLab: Manipulating BitsStudents implement simple logical and arithmetic functions, but using a highly restricted subset of C. For example, they must compute the absolute value of a number using onlybit-level operations. This lab helps students understand the bit-level representations of C data types and the bit-level behavior of the operations on data.Chapter 3 Machine-Level Representation of C Programs (Lecture: 6 class hour / Lab: 9 class hour)1 Representation of Code2 Structured Data Representation3 ProceduresLab: Boot loaderThis lab implements a simple Boot Loader. Students will learn about assembly programming. Lab: Decoding a Secret MessageThe lab teaches students to understand assembly language by decode a secret message using VC debugger.Lab: Buffer BombThis lab helps student develop a detailed understanding of the calling stack organization on an x86 processor. It involves applying a series of buffer overflow attacks on an executable file.Chapter 4 Virtual Memory (Lecture: 6 class hour / Lab: 9 class hour)1 Physical and Virtual Addressing2 Address Spaces3 Staic and Dynamic Memory Allocation4 Garbage Collection5 Common Memory-related Bugs in C ProgramsLab: Implement homemade MallocStudents implement their own versions of malloc, free, and realloc. This lab gives students a clear understanding of data layout and organization, and requires them to evaluate different trade-offs between space and time efficiency.Lab: Implementing a Conservative Garbage CollectorIn this lab student will be writing a conservative mark-and-sweep garbage collector for C programs.Chapter 5 Optimizing Program Performance (Lecture: 4 class hour / Lab: 6 class hour)1 Capabilities and Limitationsof Optimizing Compilers2 Expressing Program Performance3 Profiling4 Technology for Performance ImprovementLab: Profiling a ProgramThe purpose of the lab is to get students familiar with Profiler in Visua C++.Lab: Program OptimizationStudents will modify an existing program to make it run faster.Chapter 6 Measuring Program Execution Time (Lecture: 2 class hour / Lab: 3 class hour)1 The Flow of Time on a Computer System2 Measuring Time by Interval Counting4 Measuring Program Execution Time with Cycle CountersLab: Using TimerUnderstand the process scheduling and find out timer interval using library functions.Chapter 7 The Memory Hierarchy (Lecture: 2 class hour / Lab: 3 class hour)1 Storage Technologies2 Locality3 The Memory Hierarchy4 Cache Memories5 Writing Cache-friendly CodeLab: Improving Program LocalityThis exercise deals with optimizing memory-intensive code. Students will tye to maximize the cache hit rate of these functions on a simulated L1 cache. A cache simulator that simulates the performance of a computer's cache will be provided.Chapter 8 Linking and Loading (Lecture: 4 class hour / Lab: 6 class hour)1 Compiler Drivers2 Static Linking3 Relocatable Object Files4 Executable Object Files.5. Dynamic Linking with Shared Libraries6. Loading and Linking Shared Libraries from ApplicationsLab: Observe object fileStudents will observe relocatable object files with COFF format. The lab will help students understand the details of binary object file.Lab: Observe executable object fileStudents will observe executable object files with PE format. The lab will help students understand the details how to link object files into an executable file.Chapter 9 Exceptional Control Flow (Lecture: 2 class hour / Lab: 3 class hour)1 Exceptions2 Processes3 System Calls and Error Handling4. Process of Windows ProgrammingLab: process managementThe lab introduce students the Windows API for process generation, management, and handling.Chapter 10 Concurrent Programming (Lecture: 2 class hour / Lab: 3 class hour) 1 Basic Thread Concepts2 Thread Relationship3 Synchronization and Mutual Exclusion .4 Synchronizing Threads with Semaphores5 Windows Concurrency MechanismsLab: Understanding concurrent programsStudent are going to use threads to parallelize the operation of a very simple database client. Students wil learn about concurrent pogramming.To Tools & ols &Environment Environment This course will require to program with C/C++ using VCProjects Projects版本号版本号:: V2.1编制人编制人:: 舒莉 编制日期编制日期:: 2020201010年 1010 月 115 日日审核人审核人:: 洪玫 审核日期审核日期:: 20102010年 1111 月 55 日日主管领导审批主管领导审批::审批日期审批日期:: 年年 月月 日日。
第44卷 第4期系统工程与电子技术Vol.44 No.42022年4月SystemsEngineeringandElectronicsAp ril2022文章编号:1001 506X(2022)04 1282 09 网址:www.sys ele.com收稿日期:20210217;修回日期:20210720;网络优先出版日期:20211109。
网络优先出版地址:http:∥kns.cnki.net/kcms/detail/11.2422.TN.20211109.1458.004.html基金项目:国家自然科学基金民航联合基金(U1933106);航空科学基金(20185167017);中央高校基本科研业务费(3122019167)资助课题 通讯作者.引用格式:刘嘉琛,董磊,赵长啸,等.基于形式化方法的DIMA动态重构仿真与验证[J].系统工程与电子技术,2022,44(4):1282 1290.犚犲犳犲狉犲狀犮犲犳狅狉犿犪狋:LIUJC,DONGL,ZHAOCX,etal.SimulationandverificationofDIMAdynamicreconfigurationbasedonformalmethod[J].SystemsEngineeringandElectronics,2022,44(4):1282 1290.基于形式化方法的犇犐犕犃动态重构仿真与验证刘嘉琛1,2,董 磊1,2,3, ,赵长啸1,2,3,陈泓兵1,2(1.中国民航大学安全科学与工程学院,天津300300;2.中国民航大学民航航空器适航审定技术重点实验室,天津300300;3.天津市民用航空器适航与维修重点实验室,天津300300) 摘 要:针对可重构分布式综合模块化航空电子(distributedintegratedmodularavionics,DIMA)系统在设计初期缺少仿真与验证手段的问题,首先分析了可重构DIMA软件体系的架构特征以及支持动态重构的层次化通用系统管理(genericsystemmanagement,GSM)的组件功能划分。
形式化验证seL4操作系统王俊超摘要:完全的形式化验证是确保系统不会出现编程和设计错误的唯一方法。
本文假设编译器,汇编代码和硬件层都是正确的,在此基础之上介绍了对seL4内核从抽象规约层到C语言实现层的形式化机器验证。
目前为止,seL4是第一个经过形式化验证并证明功能正确性的完整的通用的操作系统内核。
这里所指的功能性是说实现总是严格的满足上一抽象层内核行为的规约。
本文证明了seL4操作系统在任何情况下都不会崩溃以及执行不安全的操作,更重要的是,可以精确的推断出seL4在所有情况下的行为。
关键词:seL4;形式化验证;操作系统1.引言操作系统的可靠性和安全性几乎与计算机系统等价,因为内核可以在处理器的最高权限上工作,可以随意的访问硬件。
因此,操作系统内核实现出现的任何一个微小的错误都会导致整个计算机系统的崩溃。
为了保证操作系统的安全性,传统的一些做法有减少高权限的代码的数量,从而避免bug出现在较高的权限层内。
那么,如果代码的数量较少,便可以通过形式化的机器验证方法来证明内核的实现满足规约,并且在实现时不会有程序员由于编码引入的实现漏洞。
本文通过机器检验的形式化证明验证了seL4的功能正确性,目前,seL4所能达到的功能如下:能够在现实生活中使用,并且其性能与当前性能最好的微内核相当;其行为在抽象层进行了精确的规约;其形式化设计用来证明一些需要的属性比如中断等的安全性;其实现满足规约;访问控制机制能够保证高强度的安全性。
目前,seL4是第一个被完全形式化验证其功能正确性的操作系统内核,所以,它是一个前所未有的具有高度安全性和可靠性的底层系统级平台。
在本文所描述的功能正确性要比模型检验、静态分析以及采用类型安全编程语言实现的内核要强的多。
本文不仅对内核的规约层面进行了分析,同时也对于内核的精细的行为进行了规约和验证。
此外,本文还创立了一套融合了传统操作系统研发技术和形式化方法技术,用来快速实现内核设计与实现的方法学,经过实践证明,利用这套方法学开发出的操作系统不仅在安全性上有着充分的保障,在性能上也不会受到影响。
College of Software EngineeringUndergraduate Course SyllabusCourse ID 311038040Course Name Database SystemsCourseAttribute■Compulsory □Selective Course Language■English □Chinese Credit Hour 4 Period80Semester□First Fall □First Spring □Second Fall □Second Spring■Third Fall □Third Spring □Fourth Fall □Fourth Spring Instructors Ruan Shuhua, Liang Gang, Lu ZhengtianDescription This course introduces the crucial topics for database systems: Database Planning, Design, Implementation, and Administration. The course concentrates on centralized, relational database systems used for business data processing. The course covers the fundamental concepts and techniques of database systems: Database System Architectural Principles, Data Modeling, Fact-Finding Techniques, Theory and Methodology of Database Design, Query Processing, Storage Strategies, Query Optimization, and Transaction Management. The course then turns to on-going research in database systems, focusing on techniques that have recently been transferred from research to wide-spread commercial implementation. Finally, there is an introduction of new trends in database systems, focusing on applications for supporting decision-making in light of fully distributed and ubiquitously connected world consisting of all range data store and management.Students successfully completing this database fundamentals course will be equipped to handle small to medium size database projects. They will be able to design a database from scratch, design user interface and transaction, write queries against it, and build applications that use the database.Prerequisites 3Programming Fundamentals3Introduction to Object-Oriented Programming 3Discrete Mathematics3Data Structures and Algorithm/Course Design 3Computer Architecture3Operating SystemsTextbook Thomas M. Connolly, et al. Database Systems: A practical approach to Design, Implementation, and Management. 4th Edition ISBN: 0321210255 Addison-Wesley, 2004.Resource 1./~ruanshuhua/index_7.htm2./learning/sql/2008/thankyou/default.mspx3./developerworks/cn/db2/v94./database/index.html5.6.7.8./dist/jakarta/tomcat-59./downloads/packagesGrading 3Assignments and Class Participation: 10% 3Term Project: 20%3Midterm: 20%3Final Exam: 50%Topics 1Background (5 Periods )1.1Introduction to Databases (3 Periods )1.1.1History and Motivation for Information Systems1.1.2Characteristics and Limitations of File-Based Systems *1.1.3Motivation for Database Approach *1.1.4Some Common Database Applications1.1.5Meaning of the Term Database, Database Management Systems (DBMS), andDatabase Systems *1.1.6Typical Functions of a DBMS1.1.7Major Components of the DBMS Environment1.1.8History of the Development of DBMSs1.1.9Advantages and Disadvantages of DBMSs *1.1.10Phone Number Programing on any one Language and on any one DBMS (2Practice Periods) #11.2Database Environment (2 Periods )1.2.1Personnel Involved in the Database Environment *1.2.2The Concepts of Data Abstraction *1.2.3The Three-Level ANSI-SPARC Database Architecture *1.2.4Contents of External, Conceptual, and Internal Levels **1.2.5The Concepts External, Conceptual, and Internal Schemas **1.2.6Purpose of External/Conceptual and Conceptual/Internal Mappings **1.2.7Meaning of Logical and Physical Data Independence *1.2.8Database Languages DDL, DML and Distinction between Them *1.2.9 A Classification of Data Models *1.2.10Purpose/Importance of Conceptual Modeling **1.2.11Meaning of Client–Server Application Architecture and Advantages of This Typeof Architecture for a DBMS2The Relational Model and Languages (20 Periods )2.1The Relational Model (5 Periods )2.1.1Terminology of Relational Model **Topics2.1.2How Tables Are Used to Represent Data2.1.3Connection Between Mathematical Relations and Relations in the RelationalModel2.1.4Properties of Database Relations *2.1.5How to Identify Candidate, Primary, and Foreign Keys **2.1.6Meaning of Null *2.1.7Meaning of Entity Integrity and Referential Integrity **2.1.8Meaning of Enterprise Constraints *2.1.9Purpose and Advantages of Views *2.1.10Setting Integrity Constraints on any one DBMS (2 Practice Periods) #22.2Relational Algebra and Relational Calculus (5 Periods )2.2.1Meaning of the Term Relational Completeness *2.2.2How to Form Queries in Relational Algebra **2.2.3How to Form Queries in Tuple Relational Calculus **2.2.4How to Form Queries in Domain Relational Calculus **2.2.5Categories of Relational DML2.3SQL: Data Manipulation (5 Periods )2.3.1Purpose and Importance of SQL *2.3.2How to Retrieve Data From Database Using SELECT and **2.3.2.1Use Compound WHERE Conditions2.3.2.2Sort Query Results Using ORDER BY2.3.2.3Use Aggregate Functions (COUNT, SUM, AVG, MIN, MAX)2.3.2.4Group Data Using GROUP BY and HAVING2.3.2.5Use Subqueries2.3.2.6Join Tables Together2.3.2.7Perform Set Operations (UNION, INTERSECT, EXCEPT)2.3.3How to Update Database Using INSERT, UPDATE, and DELETE *2.3.4Using SQL Data Manipulation on any one DBMS (2 Practice Periods) #32.4SQL: Data Definition (5 Periods )2.4.1Data Types Supported by SQL Standard *2.4.2Purpose of Integrity Enhancement Feature of SQL **2.4.3How to Define Integrity Constraints Using SQL **2.4.3.1Required Data2.4.3.2Domain Constraints2.4.3.3Entity Integrity Constraints2.4.3.4Referential Integrity Constraints2.4.3.5Enterprise Constraints2.4.4How to Use the Integrity Enhancement Feature in the CREATE and ALTERTABLE Statements *2.4.5How to Create and Delete Views Using SQL *2.4.6How the DBMS Performs Operations on Views *2.4.7Under What Conditions Views Are Updatable **2.4.8Advantages and Disadvantages of Views2.4.9How the ISO Transaction Model Works *2.4.10How to Use the GRANT and REVOKE Statements as a Level of Security *2.4.11Using SQL Data Definition on any one DBMS (2 Practice Periods) #4Topics 3Database Analysis and Design Techniques (20 Periods )3.1Database Planning, Design, and Administration (2 Periods )3.1.1Main Components of an Information System3.1.2Main Stages of Database Application Lifecycle *3.1.3Main Phases of Database Design: Conceptual, Logical, and Physical Design **3.1.4How to Evaluate and Select a DBMS *3.1.5Distinction Between Data Administration and Database Administration *3.1.6Purpose and Tasks Associated with Data Administration and DatabaseAdministration3.2Fact-Finding Techniques (3 Periods )3.2.1Most Commonly Used Fact-Finding Techniques *3.2.2How to Use Each Fact-Finding Technique and the Advantages and Disadvantagesof Each3.2.3Significance of Applying Fact-Finding Techniques to Early Stages of DatabaseApplication Lifecycle *3.2.4How to Use Fact-Finding Techniques in the Database Application Lifecycle3.2.5Types of Facts Collected in Each Stage of Database Application Lifecycle *3.2.6Types of Documentation Produced in Each Stage of Database ApplicationLifecycle *3.2.7Introduction of DreamHome3.2.8Discussing and confirming the Database Project Requirements in the Group (2Practice Periods) #53.3Entity-Relationship Modeling (6 Periods )3.3.1How to Use Entity–Relationship (ER) Modeling in Database Design3.3.2Basic Concepts Associated with ER Model **3.3.3Structural Constraints in ER Model **3.3.4Diagrammatic Technique for Displaying ER Model Using Unified ModelingLanguage (UML) *3.3.5How to Identify and Resolve Problems with ER Models Called Connection Traps3.3.6How to Build an ER Model From a Requirements Specification **3.3.7Building an ER Model by Using Eclipse with UML (2 Practice Periods) #63.4Enhanced Entity-Relationship Modeling (4 Periods )3.4.1Limitations of Basic Concepts of the ER Model and Requirements to RepresentMore Complex Applications Using Additional Data Modeling Concepts3.4.2Most Useful Additional Data Modeling Concepts of Enhanced ER (EER) ModelCalled:3.4.2.1Specialization/Generalization **3.4.2.2Aggregation *3.4.2.3Composition *3.4.3 A Diagrammatic Technique for Displaying Specialization/Generalization,Aggregation, and Composition in an EER Diagram Using UML3.4.4Building an EER Model by Using Eclipse with UML (2 Practice Periods) #73.5Normalization (5 Periods )3.5.1Problems Associated with Redundant Data *3.5.2Identification of Various Types of Update Anomalies Such as Insertion, Deletion,and Modification Anomalies *Topics3.5.3How to Recognize Appropriateness or Quality of the Design of Relations *3.5.4Purpose of Normalization *3.5.5How to Use Functional Dependencies to Group Attributes into Relations being ina Known Normal Form **3.5.6How to Undertake Process of Normalization **3.5.7How to Identify Most Commonly Used Normal Forms, Namely 1NF, 2NF, 3NF,and Boyce–Codd Normal Form (BCNF) *3.5.8How to Identify Fourth (4NF) and Fifth (5NF) Normal Forms3.5.9An Actual Application Example for Normalization (2 Practice Periods) #84Methodology (15 Periods )4.1Conceptual Database Design (7 Periods )4.1.1Purpose of Conceptual Database Design4.1.2How to Decompose the Scope of the Design into Specific Users’ Views of theEnterprise *4.1.3How to Use ER Modeling to Build a Local Conceptual Data Model Based onInformation Given in a View of the Enterprise **4.1.4How to Validate Resultant Conceptual Model to Ensure it is a True and AccurateRepresentation of a View of the Enterprise *4.1.5How to Document Process of Conceptual Database Design *4.1.6End-Users Play an Integral Role Throughout Process of Conceptual DatabaseDesign4.1.7Building ER or EER Model for the Database Project (4 Practice Periods) #94.2Logical Database Design (5 Periods )4.2.1Purpose of Logical Database Design4.2.2How to Remove Features From a Local Conceptual Model that are notCompatible with the Relational Model *4.2.3How to Derive a Set of Relations From a Local Logical Data Model *4.2.4How to Validate These Relations Using the Technique of Normalization *4.2.5How to Validate a Logical Data Model to Ensure It Supports Required UserTransactions *4.2.6How to Merge Local Logical Data Models Based on Specific Views into a GlobalLogical Data Model of the Enterprise **4.2.7How to Ensure that the Resultant Global Model is a True and AccurateRepresentation of Enterprise *4.2.8Building Global Logical Model for the Database Project (2 Practice Periods) #104.3Physical Database Design (3 Periods )4.3.1Purpose of Physical Database Design4.3.2How to Map the Llogical Database Design to a Physical Database Design4.3.3How to Design Base Relations for Target DBMS *4.3.4How to Design Enterprise Constraints for Target DBMS *4.3.5How to Estimate the Size of the Database *4.3.6How to Select Appropriate File Organizations Based on Analysis of Transactions*4.3.7When to Use Secondary Indexes to Improve Performance *4.3.8How to Design Security Mechanisms to Satisfy User Requirements *4.3.9Building the Project Database on the Selected DBMS (2 Practice Periods) #11Topics 5Selected Database Issues (5 Periods )5.1Transaction Management (5 Periods )5.1.1Function and Importance of Transactions5.1.2Properties of Transactions **5.1.3Concurrency Control **5.1.3.1Meaning of Serializability5.1.3.2How Locking Can Ensure Serializability5.1.3.3Deadlock and How It Can Be Resolved5.1.3.4How Timestamping Can Ensure Serializability5.1.3.5Optimistic Concurrency Control5.1.3.6Granularity of Locking5.1.4Recovery Control *5.1.4.1Some Causes of Database Failure5.1.4.2Purpose of Transaction Log File5.1.4.3Purpose of Checkpointing5.1.4.4How to Recover Following Database Failure5.1.5Alternative Models for Long Duration Transactions5.1.6The Database Project Application Design, Such as Transaction Design, UserInterface Design (2 Practice Periods) #126Current Trends (5 Periods )6.1Distributed DBMSs - Concepts and Design (5 Periods )6.1.1What is a Distributed DBMS6.1.2Advantages and Disadvantages of Distributed Databases6.1.3Functions and Architecture for a DDBMS *6.1.4Distributed Database Design *6.1.5Levels of Transparency6.1.6Comparison Criteria for DDBMSs *6.1.7Building the Database System (2 Practice Periods) #137Emerging Trends (10 Periods )7.1Web Technology and DBMSs (5 Periods )7.1.1Basics of Internet, Web, HTTP, HTML, URLs7.1.2Multi-Tier Client-Server Architecture *7.1.3Advantages and Disadvantages of Web as a Database Platform *7.1.4Approaches for Integrating Databases into Web7.1.4.1Scripting Languages7.1.4.2Common Gateway Interface (CGI)7.1.4.3HTTP Cookies7.1.4.4Extending the Web Server7.1.4.5Java and JDBC, SQLJ, Servlets, and JSP7.1.4.6Microsoft Web Solution Platform: ASP and ADO7.1.5Building the Database System (2 Practice Periods) #147.2The Concepts of Data Warehousing and Data marts (5 Periods )7.2.1How Data Warehousing Evolved *7.2.2Main Concepts and Benefits Associated with Data Warehousing7.2.3How Online Transaction Processing (OLTP) Systems Differ From DataWarehousing *Topics7.2.4Problems Associated with Data Warehousing7.2.5Architecture and Main Components of a Data Warehousing *7.2.6Important Information Flows or Processes of a Data Warehouse **7.2.7Main Tools and Technologies Associated with Data Warehousing7.2.8Issues Associated with the Integration of a Data Warehousing and the Importanceof Managing Meta-Data *7.2.9Concept of a Data Mart and the Main Reasons for Implementing a Data Mart *7.2.10Advantages and Disadvantages of a Data Mart7.2.11Main Issues Associated with the Development and Management of Data Marts7.2.12Testing the Database System (2 Practice Periods) #15Notice:3* for emphases3** for emphases and difficulty3#x for the xth Practice Periods (Total 32 Practice Periods)Tools & Environment 3Microsoft Windows Server 200X3J2SDK 1.5 + Tomcat 5.0 + Eclipse 3.3 with UML 3Microsoft SQL SERVER 200XProjects A Web-Based Database SystemStudents will be able to plan, design, create, and maintain a Web-accessible database for a real estate company to keep track of their business, such as the parts, suppliers, and purchase orders, lease renewals, and so on. Included will be the tasks to write Web front-ends for users of the system, such as for the purchasing department to seek quotes, for the suppliers to place bids for work-orders, for the managers to monitor inventory, for client to maintenance personnel, for staff to manage property, and others.Phase 1 (5%)Goal: BackgroundProcedure: Students select a database project, capture necessary facts to build the required database application by using fact-finding techniques, analyse information about the part of organization to be supported by the database application, and use this information to identify users’ requirements for the new database system. Students must learn about the terminology, problems, opportunities, constraints, requirements, and priorities of the organization and the users of the new database system.Deliverables: The collection information and the report of requirements collection and analysis.Due on the fourth week in class. [Late submission policy – you lose 5% (of the maximum points) per day]Phase 2 (5%)Goal: Related Theories and TechniquesProjectsProcedure: Students discuss related theories in the new database system, select a development plaform and evaluate it, select an appropriate DBMS to support the new database application and evaluate it, and after singled out, are familiar with them as soon as possible.Deliverables: The collection information and the report of related theories and techniques.Due on the eighth week in class. [Late submission policy – you lose 5% (of the maximum points) per day]Phase 3 (5%)Goal: The Database System DesignProcedure: Students build data model by using the information in users’ requirements specification, refine conceptual data model, map it to a logical data model, select storage structures and access methods used to achieve efficient access to data on a specific DBMS.At the same time, students define the scope and boundaries of the new database system and the major user views, define the new system and database role (such as Manager or Supervisor), and give the design of user interface and application programs that use and process the database.Deliverables: The report of the database system design.Due on the twelfth week in class. [Late submission policy – you lose 5% (of the maximum points) per day]Phase 4 (5%)Goal: The Database System Implementation and EvaluationProcedure: Students implement the database system design in phase 3, build working model of a database application and evaluate if the database and application programs appear to be working according to requirements, such as to identify features of a system that work well, or are inadequate, to suggest improvements or even new features, to clarify the users’ requirements, to evaluate feasibility of a particular system design.Deliverables: The source code, the implementation state and result of the new database system, and the report of the database system implementation and evaluation.Due on the sixteenth week in class. [Late submission policy – you lose 5% (of the maximum points) per day]Version: 2008-07-15Author: Shuhua Ruan Date: 2008/ 07/ 15Auditor:Mei Hong Date: 2008/07/15Signature of leader:Date: 2008-7-30。
基于SystemC和ISS的软硬件协同验证方法
杜旭;黄飞;黄建
【期刊名称】《微计算机信息》
【年(卷),期】2007(023)032
【摘要】随着SoC的出现和发展,软硬件协同验证已经成为当前的研究热点.本文对传统的基于ISS的软硬件协同验证方法进行改进,提出了一种基于SystemC和ISS的软硬件协同验证方法.该方法使用SystemC分别对系统进行事务级、寄存器传输级的建模,在系统验证早期进行无时序的软硬件协同验证,后期进行时钟精确的软硬件协同验证,并对仿真速度进行了优化.同传统的基于ISS的软硬件协同验证方法相比,该方法保证了软硬件的并行开发,且仿真速度快、调试方便,是一种高效、高重用性的软硬件协同验证方法.关键字;软硬件协同验证;指令集仿真器;SystemC;事务级建模;仿真加速
【总页数】4页(P147-149,165)
【作者】杜旭;黄飞;黄建
【作者单位】430074 武汉华中科技大学电子与信息工程系;430074 武汉华中科技大学电子与信息工程系;430074 武汉华中科技大学电子与信息工程系
【正文语种】中文
【中图分类】TN407
【相关文献】
1.基于SystemC的嵌入式系统软硬件协同设计 [J], 汪婵婵;徐兴雷
2.基于SystemC的事务级协同验证方法研究 [J], 王长慧
3.一种基于SystemC的系统级软硬件协同设计新模型 [J], 王泉;史维峰;田泽
4.一种融合FPGA和ISS技术的软硬件协同验证方法 [J], 王培东;李锋伟;杨俊成
5.基于SystemC的GPU软硬件协同虚拟平台构建方法 [J], 何嘉文;杜斐;聂瞾;田泽
因版权原因,仅展示原文概要,查看原文内容请购买。
College of Software Engineering
Undergraduate Course Syllabus Course ID 311031020 Course Name Software System Model Checking
Course Attribute □Compulsory
■Selective
Course
Language
■English
□Chinese
Credit Hour 2 Period 32
Semester □First Fall □First Spring □Second Fall □Second Spring ■Third Fall □Third Spring □Fourth Fall □Fourth Spring
Instructors Song Xiaoyu
Description
Today, software systems are widely used in applications where failure is unacceptable. Because of the success of the Internet and embedded systems in automobiles, airplanes, and other safety critical systems, we are likely to become even more dependent on the proper functioning of computing devices in the future. Due to this rapid growth in technology, it will become more important to develop methods that increase our confidence in the correctness of such systems.
Traditional verification techniques use simulators with handcrafted or random test vectors to validate the design. Unfortunately, generating test vectors is very labor-intensive. The overall complexity of the designed systems implies that simulation cannot remain the sole means of design verification, and one must look at alternative methods to complement simulation. Recent years have brought about the development of powerful formal verification tools for verifying of software systems. By now, the information technology industry has realized the impact and importance of such tools in their own design and implementation processes.
The objective of the course is to introduce the participants to the practical formal verification techniques for hardware/software systems that are beginning to penetrate industrial applications. Topics to be covered include: system modeling, formal logics for system verification (Boolean & first-order logic, higher-order logic, temporal logic), formal specifications, CTL model checking, BDDs, applications of theorem proving systems, and SA T solvers. Exercises are provided in the class.
Prerequisites
Software and Hardware Systems, Discrete Mathematics. Any senior or graduate student in ECE and CS is welcome to take this course.
T extbook E. Clark, O. Grumberg, D. Peled, "Model Checking", MIT Press, 2000. Resource Lecture notes.
Grading Assignments, attendance rate (40%) and final exam (60%)
T opics Introduction to verification technology. Understand the basic notions of correctness Introduction to formal logics. Understand the basic notions for logics, proofs, specifications. System modeling. Understand the importance of system modeling and specification. Temporal logics. Understand the basic notions of temporal logics.
Temporal Logic and Modeling Checking. Understand the extension of CTL, CTL*, etc. Modeling Checking with fixpoint computation.
Boolean representations. Find a canonical Boolean representation, etc.
Symbolic verification based on BDD and SA T.
Symbolic Simulation, BMC
Theorem proving systems. L TL model checking, Buchi automata, Omega- automata, etc.
T ools & Environment Projects SAT-based verification Version No Version No:: 1.0 Author Author:: Date Date:: 20020099-6-10 Auditor Auditor:: Mei Hong Date Date:: 20020099-6-1010
Signature of leader Signature of leader:: Date Date::20020099-6-1010。