首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到20条相似文献,搜索用时 140 毫秒
1.
本文将现有体系结构模型的形式化描述系统和验证系统通过范畴理论进行刻画,通过将静态结构描述和动态行为描述转化为范畴表示,使体系结构模型具有了统一的描述语言和数学基础;将体系结构精化过程中的正确性准则和精化模式定义为范畴中的态射属性和函子变换属性,以此来展示范畴理论在体系结构研究中的应用前景.  相似文献   

2.
证明互模拟同余通常冗长且易出错.双代数为解决该问题提供统一的框架:若行为函子保持弱回拉,共代数范畴到基范畴的忘却函子有右伴函子,则最大共代数互模拟同余.但已有双代数理论建模类型化π演算存在以下困难:行为函子不保持弱回拉,进程互模拟与共代数互模拟不一致.为解决以上两个问题,用稠密拓扑导出布尔范畴作为语义范畴,令行为函子保持弱回拉;定义一类行为函子,使最大进程互模拟与最大共代数互模拟一致,而迟语义和早语义对应的行为函子属于该类函子.进而给出π演算最大进程互模拟同余的双代数模型,为进一步应用双代数框架对其他复杂演算建模奠定了理论基础.  相似文献   

3.
协变-反变问题讨论面向对象语言中继承机制和多态计算的关系,晃当前面向对象程序设计语言中的一个重要的理论问题。反变的方法重定义不符合思维习惯,一盘采用协变精化的设计方法。但抛弃反变后的面向对象程序设计,在多态计算中会产生类型问题。针对这一问题,该文基于Castagna的重载函数模型,提出处理协变相关类型问题的类型系统和计算模型,并在ND-Polya语言及系统中具体实现。该方法可以应用到其它协变面向对  相似文献   

4.
侯金奎  王海洋  马军  万建成  杨潇 《软件学报》2009,20(8):2113-2123
在对类型范畴理论进行扩展的基础上,将其与进程代数相结合,为软件体系结构模型及其间的转换关系提供了一种统一的语义描述框架.模型的结构语义由类型范畴图表来指代,其行为语义则由范畴附带的进程行为迹来表示,模型间的映射关系用范畴理论中的态射和函子来形式化描述.该描述框架可用于模型转换中特性保持问题的描述、分析和判定,从而为模型驱动的软件开发提供有力的支持.  相似文献   

5.
精确的形式化软件规格说明是软件描述、开发与验证的基础,而工业界普遍使用非(半)形式化的表示定义与描述用户需求,如何由非(半)形式化的用户需求生成形式化软件规格说明是需求工程的难点之一.将设计模式的概念进行扩展,定义了问题模式,提出了一种基于问题模式形式化软件规格说明生成方法.该方法从结构化自然语言SNL描述的高层问题需求出发,通过选择知识库中的问题模式逐步精化得到各个新的子问题对应的形式化规格说明,之后对各个子问题组合并进行优化以得到最终的形式化规格说明.进一步,使用模型精化演算的原理与概念给出了该生成方法的理论基础.采用算法程序领域作为研究对象并使用Radl语言作为形式化规格说明语言.通过算法程序领域中的典型实例对这一方法进行了详细的描述,实际效果表明该方法能有效地生成高质量形式化规格说明.  相似文献   

6.
首先讨论了序半群范畴和Quantale范畴的若干性质以及它们之间的关系,其次证明了Quantale范畴是序半群范畴的反射子范畴,最后得到了由Quantale范畴到序半群范畴的含入函子的余伴随函子。  相似文献   

7.
归纳数据类型的范畴论方法   总被引:1,自引:1,他引:0  
归纳数据类型是类型论研究的重要分支,传统的数理逻辑或代数方法侧重于描述归纳数据类型的有限语法构造,在语义性质与归纳规则的分析与设计方面存在一定的不足.基于范畴论的方法,在集合范畴的框架内给出谓词的形式化定义,分析谓词范畴与代数范畴的构成与性质,并探讨集合范畴上自函子到谓词范畴上自函子的提升,最后利用伴随函子及其伴随性质深入分析了归纳数据类型具有普适意义的归纳规则.  相似文献   

8.
函数的定义C语言程序是由函数构成的,函数是C语言中的一种基本模块。在《手教手教你学单片机的C语言程序设计(三)》中,我们已经介绍了C语言程序的组成结构,即C语言程序是由函数构成的,一个C源程序至少包括一个名为main()的函数(主函数),也可能包含其它函数。C语言程序总是由主函数main()开始执行的,main()函数是一个控制程序流程的特殊函数,它是程序的起点。所有函数在定义时是相互独立的,它们之间是平行关系,所以不能在一个函数内部定义另一个函数,即不能嵌套定义。函数之间可以互相调用,但不能调用主函数。从使用者的角度来看,有两种函数:标准库函数和用户自定义功能子函  相似文献   

9.
过程蓝图统一元模型语法   总被引:2,自引:0,他引:2  
为了以严格和可读的方式对过程蓝图建模语言进行定义,对元模型定义方法进行分析和基本集合与函数定义的基础上,采用基于集合、函数和一阶谓词逻辑的数学语言和自然语言相结合的半形式化技术和统一构造方法,对过程蓝图元模型的抽象语法和良构规则进行了定义.结果为过程蓝图语言的结构、建模符号的语法与静态语义以及从内部统一结构到外部视图的导出方法提供规格说明,并为过程蓝图程序技术的研究与应用提供统一的形式框架.  相似文献   

10.
应用Fibrations理论对索引归纳数据类型的不确定语义计算进行了研究。论证了索引范畴的构造,提出了索引Fibration及其真值函子与内涵函子,建立了索引范畴上自函子的一种保持真值的提升,提出了部分F-代数的定义,并应用折叠函数等工具抽象描述了索引归纳数据类型不确定语义计算,辅以实例进行了简要分析,最后通过相关工作的论述指出了Fibrations理论研究方法的优势。  相似文献   

11.
以协同工作平台服务(CWPS)软件构架研究项目为背景,从中抽象模板的通用形式框架.首先基于元模型理念,给出不同类型模板结构的元模型表示.进而探讨通用模板的形式框架,重点研究模板结构的形式语义表示,提出一种模板定义语言.最后给出形式模板的实例化方法以及典型案例.该元模型和模板定义语言,系统地总结并扩展了模板的形式化设计方法,具有可实现性.  相似文献   

12.
Construction of Reference Modeling Languages — A Framework for the Specification of Adaptation Mechanisms for Conceptual Information Models Reference modeling languages differ from each other as they use different model types (such as process or data models) and as they provide different mechanisms that allow an adaptation of the reference model to specific contexts. The developer of the reference modeling language has to decide which adaptation technique he wants to use (e. g. configuration, aggregation, instantiation, specialization or analogy construction) and which of these techniques he wants to integrate into the language specification. In this paper, these adaptation techniques are compared, and reference solutions for the specification of extended reference modeling languages are proposed. The introduced solutions are structured by a methodical framework that assigns modeling examples and meta-models as well as meta-meta-models to the different adaptation techniques. Based on this framework, possible combinations of configurative adaptation mechanisms with aggregative, instantiation based, specialization based and analogy construction based mechanisms are discussed.  相似文献   

13.
Aspect Oriented Programming can arbitrarily distort the semantics of programs. In particular, weaving can invalidate crucial safety and liveness properties of the base program. In this article, we identify categories of aspects that preserve some classes of properties. Specialized aspect languages are then designed to ensure that aspects belong to a specific category and, therefore, that woven programs will preserve the corresponding properties.Our categories of aspects, inspired by Katz’s, comprise observers, aborters, confiners and weak intruders. Observers introduce new instructions and a new local state but they do not modify the base program’s state and control-flow. Aborters are observers which may also abort executions. Confiners only ensure that executions remain in the reachable states of the base program. Weak intruders are confiners between two advice executions. These categories (along with two others) are defined formally based on a language independent abstract semantics framework. The classes of preserved properties are defined as subsets of LTL for deterministic programs and CTL* for non-deterministic ones. We can formally prove that, for any program, the weaving of any aspect in a category preserves any property in the related class.We present, for most aspect categories, a specialized aspect language which ensures that any aspect written in that language belongs to the corresponding category. It can be proved that these languages preserve the corresponding classes of properties by construction. The aspect languages share the same expressive pointcut language and are designed w.r.t. a common imperative base language.Each category and language is illustrated by simple examples. The appendix provides semantics and two instances of proofs: the proof of preservation of properties by a category and the proof that all aspects written in a language belong to the corresponding category.  相似文献   

14.

Model-driven engineering (MDE) promotes the use of models throughout the software development cycle in order to increase abstraction and reduce software complexity. It favors the definition of domain-specific modeling languages (DSMLs) thanks to frameworks dedicated to meta-modeling and code generation like EMF (Eclipse Modeling Framework). The standard semantics of meta-models allows interoperability between tools such as language analysers (e.g., XText), code generators (e.g., Acceleo), and also model transformation tools (e.g., ATL). However, a major limitation of MDE is the lack of formal reasoning tools allowing to ensure the correctness of models. Indeed, most of the verification activities offered by MDE tools are based on the verification of OCL constraints on instances of meta-models. However, these constraints mainly deal with structural properties of the model and often miss out its behavioral semantics. In this work, we propose to bridge the gap between MDE and the rigorous world of formal methods in order to guarantee the correctness of both structural and behavioral properties of the model. Our approach translates EMF meta-models into an equivalent formal B specification and then injects models into this specification. The equivalence between the resulting B specification and the original EMF model is kept by proven design steps leading to a rigorous MDE technique. The AtelierB prover is used to guarantee the correctness of the model’s behavior with respect to its invariant properties, and the ProB model-checker is used to animate underlying execution scenarios which are translated back to the initial EMF model. Besides the use of these automatic reasoning tools in MDE, proved B refinements are also investigated in this paper in order to gradually translate abstract EMF models to concrete models which can then be automatically compiled into a programming language.

  相似文献   

15.
A system based on the notion of a flow graph is used to specify formally and to implement a compiler for a lazy functional language. The compiler takes a simple functional language as input and generates C. The generated C program can then be compiled, and loaded with an extensive run-time system to provide the facility to experiment with different analysis techniques. The compiler provides a single, unified, efficient, formal framework for all the analysis and synthesis phases, including the generation of C. Many of the standard techniques, such as strictness and boxing analyses, have been included.  相似文献   

16.
Text summarization and classification are core techniques to analyze a huge amount of text data in the big data environment. Moreover, as the need to read texts on smart phones, tablets and television as well as personal computers continues to grow, text summarization and classification techniques become more important and both of them do essential processes for text analysis in many applications.Traditional text summarization and classification techniques have individually been considered as different research fields in this literature. However, we find out that they can help each other as text summarization makes use of category information from text classification and text classification does summary information from text summarization. Therefore, we propose an effective integrated learning framework using both of summary and category information in this paper. In this framework, the feature-weighting method for text summarization utilizes a language model to combine feature distributions in each category and text, and one for text classification does the sentence importance scores estimated from the text summarization.In the experiments, the performances of the integrated framework are better than ones of individual text summarization and classification. In addition, the framework has some advantages of easy implementation and language independence because it is based on only simple statistical approaches and POS tagger.  相似文献   

17.
Source code management systems record different versions of code. Tool support can then compute deltas between versions. To ease version history analysis we need adequate models to represent source code entities. Now naturally the questions of their definition, the abstractions they use, and the APIs of such models are raised, especially in the context of a reflective system which already offers a model of its own structure.We believe that this problem is due to the lack of a powerful code meta-model as well as an infrastructure. In Smalltalk, often several source code meta-models coexist: the Smalltalk reflective API coexists with the one of the Refactoring engine or distributed versioning system such as Monticello or Store. While having specific meta-models is an adequate engineered solution, it multiplies meta-models and it requires more maintenance efforts (e.g., duplication of tests, transformation between models), and more importantly hinders navigation tool reuse when meta-models do not offer polymorphic APIs.As a first step to provide an infrastructure to support history analysis, this article presents Ring, a unifying source code meta-model that can be used to support several activities and proposes a unified and layered approach to be the foundation for building an infrastructure for version and stream of change analyses. We re-implemented three tools based on Ring to show that it can be used as the underlying meta-model for remote and off-image browsing, scoping refactoring, and visualizing and analyzing changes. As a future work and based on Ring we will build a new generation of history analysis tools.  相似文献   

18.
The task of designing and implementing a compiler can be a difficult and error-prone process. In this paper, we present a new approach based on the use of higher-order abstract syntax and term rewriting in a logical framework. All program transformations, from parsing to code generation, are cleanly isolated and specified as term rewrites. This has several advantages. The correctness of the compiler depends solely on a small set of rewrite rules that are written in the language of formal mathematics. In addition, the logical framework guarantees the preservation of scoping, and it automates many frequently-occurring tasks including substitution and rewriting strategies. As we show, compiler development in a logical framework can be easier than in a general-purpose language like ML, in part because of automation, and also because the framework provides extensive support for examination, validation, and debugging of the compiler transformations. The paper is organized around a case study, using the MetaPRL logical framework to compile an ML-like language to Intel x86 assembly. We also present a scoped formalization of x86 assembly in which all registers are immutable.  相似文献   

19.
This work presents a Model-Driven Engineering (MDE) framework to improve embedded system design. The framework adopts concepts from MDE for the automatic generation of a control and data flow internal representation, starting from the functional specification of an embedded application described using UML class and sequence diagrams. By means of transformations rules applied on the UML model of the embedded system, an MOF-based (Meta Object Facility is a standard representation for meta-models and models proposed by OMG) internal representation is automatically obtained, which is iteratively mapped into a hardware/software implementation by means of model transformations. This mapping is optimized by a design space exploration (DSE) method based on a categorical graph product. The model transformations have also as input a platform model, which specifies the available hardware, software and interface resources, and produce an implementation model, on which software synthesis, communication synthesis and high-level synthesis algorithms are applied to generate the final implementation. A case study is described to illustrate the application of the framework.  相似文献   

20.
多设备环境下,应用程序在不同设备上用户界面的差异性导致了界面设计工作的重复和困难.应用界面模式,开发者可以脱离使用繁琐的底层控件生成用户界面的开发方法,专注于宏观的交互方案,从而为多设备界面生成问题提供一个可能的解.基于PLML,本文设计了一个设备无关的界面模式描述语言SPLML用于表示基于模式的界面元素信息,实现了不同平台上的界面模式生成框架UIPF用于支持界面自动化生成,并通过具体案例说明了该方案的可行性和有效性.  相似文献   

设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司  京ICP备09084417号