Download presentation
Presentation is loading. Please wait.
1
形式语言与网络 计算环境构建 1
2
网络计算环境的定义 网格就是下一代Internet; 网格计算就是在动态变化的、拥有多个 部门或者团体的复杂虚拟组织内,灵活、
安全的协同资源共享与问题求解; 3. 网格就是方便资源管理,有效支持广域 分布的、多领域的科学与工程问题解决的 中间件系统; 4. 网格是建造分布式科学计算环境的一种 一体化的集成方法,这一环境包括计算、 数据管理、科学仪器以及人类的协作; 5. 网格是一种无缝的、集成的计算与协作环境
3
非专门定制网络, 非专门指定任务类型, 非专门设计运行软件 网络计算环境:集成网络系统计算 资源,实现共享式协同完成计算 任务
Enabling the coordinated use of geographically distributed resources — in the absence of central control, omniscience, strong trust relationships —— Ian Foster (Globus) 非专门定制网络, 非专门指定任务类型, 非专门设计运行软件 2
4
计算的方便性(无处不在,作业盲提,服务透明) 计算的高效性(快速实时,大数据量)
Core Message: VM captures business process Key Point 1: Understanding business process is hard. If an architect and developers don’t understand the business process, which is the requirement for the system, you can’t build the proper system. Key Point 2: Use case is a technique to capture business process from user’s perspective. Use case is easy to understand because business process is defined in textual format, not in computer lingo. Example: Use the previous slide to describe use case. The system may handle order entry, inventory, and payroll processes. This particular use case only looks at order entry process. Conclusion: VM captures business process 4
5
网络计算环境的构架: 从HOURGLASS到WEB SERVICE Core Message: VM manages complexity
Key Point 1: This is a model of typical system. Sale has information about purchase order, sales person, and customer. In a system, you may get hundreds or thousands of these things (or objects). Key Point 2: Human mind can only handle 7 plus or minus things at once. VM allows you to raise your level of abstraction. There are constructs to group things into more manageable number of things. Example: One new developer joins the group. How do you describe your software system? Conclusion: VM manages complexity 6
6
WEB SERVICE MANAGEMENT
users Local server 网络环境 Core Message: VM promotes reuse. Key Point 1:On previous slide, we talked about reusing a model. Key Point 2:There is a higher leverage of reuse. Reusing parts of the system or an application. For example, a component is an application in a binary format, whether the component is made of objects or not. VM can be used as a component browser and it can also be used to model component assembly. Conclusion: VM promotes reuse. 8
7
与具体系统无关的公共协议(通过接口规范映射为具体环境) 用户描述计算任务语言(通过语法解释和语义绑定,映射为具体执行语言)
异构平台 异构编程环境 异构操作系统 异构网络配置 异构语言 为解决以上问题,系统需要: 与具体系统无关的公共协议(通过接口规范映射为具体环境) 用户描述计算任务语言(通过语法解释和语义绑定,映射为具体执行语言) 通讯使用的文本(XML文本文件,使用SOAP,TCP/IP解决异构网络之间的通讯) Core message -- second bullet UML can be used to communicate system and software design throughout the life cycle 9
8
问题:采用什么样的语言模式作为系统的宿主语言
方便地描述计算任务 与具体的计算环境无关 很好地灵活性,适应规范和协议的变化 Core Message: VM is a communication tool. Key Point 1: Business analyst and domain experts define requirements. Software architects and developers build systems based on requirements. Typically, they have communication problems due to different use of terminology and different definition of concepts. Key Point 2: Take a look at the Rose development team. The team is distributed in three cities around the world; Sweden, Milwaukee, and Philadelphia. There is a common language - visual modeling. Key Point 3: With VM, there is a smooth transition between business domain and computer domain. Also, you can establish traceability from business domain to computer domain. Conclusion: VM is a communication tool. 5
9
规范和标准:XML,XHTML,… 系统标准通讯文件 用户任务描述 网络服务应用界面
The last set of slides briefly introduces most of the UML notations. NOTE: Not all notations are covered due to time constraints 12
10
标准协议文件(XML):上下文无关文法,函数式语言模式(元素、属性)
<apply> <plus/> <cn>2</cn> <cn>5</cn> </apply> 语言模型抽象: 标准协议文件(XML):上下文无关文法,函数式语言模式(元素、属性) 数学计算任务描述:表达式,关系式。 编程语言:操作命令(operation)操作数据。 2+5>a , plus(2,5) Setcolor(4) b:=2; c:=5 A:=b + c 分类代数模型(sorted algebra) 类逻辑代数语言模式(LAL语言) 13
11
语法和语义分离 语法语义和程序分离 没有具体的语法和语义定义! 抽象语言模型: 变量,函数符号,关系符号 逻辑连接符号(指令控制符号)
公式表达式(数学表达式),关系表达式 If gcd (f, g) =1 then getfactor( f + g ) 没有具体的语法和语义定义! 语法和语义分离 语法语义和程序分离 16
12
系统软件 执行程序调用 语义获取 任务描述文件 LAL语言书写 系统工作文件(XML格式) 语法获取 语法定义文件(元素名称字典,DTD)
应用软件接口规范(API) Core Message: VM defines software architecture Key Point 1:Model of a system is essentially a software architecture. You can then map it to the physical architecture. For example, this is a three tier architecture - mapping logical to physical. Key Point 2: Model your system independent of the implementation language. Technology change too much too fast. A few years ago, C++ was the language of the future but today it’s Java. How do you plan to change your system from PowerBuilder to Visual Basic? Reuse models. Conclusion: VM defines software architecture 7
13
语法获取:语法字典(DTD,上下文无关语言),解析器(DOMxerces),Chomsky范式与操作树(节点集合)
公共协议(大家必须遵守的规则): 计算任务描述的书写格式规范 XML规范 应用软件接口规范 语法获取:语法字典(DTD,上下文无关语言),解析器(DOMxerces),Chomsky范式与操作树(节点集合) 语义获取:指称语义(接口规范,绑定,服务发布UDDI) 15
14
面向规范的软件开发方法 决定系统功能的核心不是软件,而是规范和文档 规范不变,系统软件无需改变 文件改变,则语法和语义解释随之变化
(体现了系统的柔性,适应性强) 动态更新, 透明升级, 自治维护, 功能定制。 面向规范的软件开发方法 17
15
形式语言理论有助于宿主语言模式的设计和中间件开发 (LAL语言的性能)
对宿主语言的要求: 很好的描述数学计算 很好的语法代数结构 很好的语义解释性能 很好的与其它计算语言的互翻译性 形式语言理论有助于宿主语言模式的设计和中间件开发 (LAL语言的性能) 24
16
有没有更好的语言模式? 63
Similar presentations