首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到20条相似文献,搜索用时 265 毫秒
1.
Component-based development is a well-established methodology of software development. Nevertheless, some of the benefits that the component based development offers are often neglected. One of them is modeling and subsequent analysis of component behavior, which can help establish correctness guarantees, such as absence of composition errors and safety of component updates. We believe that application of component behavior modeling in practice is limited due to huge differences between the behavior modeling languages (e.g., process algebras) and the common implementation languages (e.g., Java). As a result, many concepts of the implementation languages are either very different or completely missing in the behavior modeling languages. As an example, even though behavior modeling languages are practical for modeling and analysis of various message-based protocols, they are not well suited for modeling current component applications, where thread-based parallelism, lock-based synchronization, and nested method calls are the essential building blocks. With this in mind, we propose a new behavior modeling language for software components, Threaded Behavior Protocols (TBP). At the model level, TBP provides developers with the concepts known from the implementation languages and essential to most component applications. In addition, the theoretical framework of TBP provides a notion of correctness based on absence of communication errors and a refinement relation to verify correctness of hierarchical components. The main asset of TBP formalism is that it links together the notion of threads as used in imperative object oriented languages and the notion of refinement. For instance, this allows reasoning about hierarchical components composed of primitive components implemented in Java without the need of bridging abstractions and simplifications enforced by the modeling languages.  相似文献   

2.
3.
Executable object modeling with statecharts   总被引:2,自引:0,他引:2  
Harel  D. Gery  E. 《Computer》1997,30(7):31-42
Statecharts, popular for modeling system behavior in the structural analysis paradigm, are part of a fully executable language set for modeling object-oriented systems. The languages form the core of the emerging Unified Modeling Language. The authors embarked on an effort to develop an integrated set of diagrammatic languages for object modeling, built around statecharts, and to construct a supporting tool that produces a fully executable model and allows automatic code synthesis. The language set includes two constructive modeling languages (languages containing the information needed to execute the model or translate it into executable code)  相似文献   

4.
Documentation of knowledge about biological pathways is often informal and vague, making it difficult to efficiently synthesize the work of others into a holistic understanding of a system. Several researchers have proposed solving this problem by modeling pathways using formal languages, which have a precise and consistent semantics. While precise, many of these languages may be too low-level to model feasibly complex pathways. We have developed the Pathway Modeling Language (PML), a high-level language for modeling pathways. PML is based on a biological metaphor of molecules with binding sites and has special constructs for handling compartment changes in pathways. Our preliminary work has shown that PML's language constructs serve as a promising basis for modeling complex pathways in a readable and composable manner.  相似文献   

5.
Recent advances in tooling and modern programming languages have progressively brought back the practice of developing domain-specific languages as a means to improve software development. Consequently, the problem of making composition between languages easier by emphasizing code reuse and componentized programming is a topic of increasing interest in research. In fact, it is not uncommon for different languages to share common features, and, because in the same project different DSLs may coexist to model concepts from different problem areas, it is interesting to study ways to develop modular, extensible languages. Earlier work has shown that traits can be used to modularize the semantics of a language implementation; a lot of attention is often spent on embedded DSLs; even when external DSLs are discussed, the main focus is on modularizing the semantics. In this paper we will show a complete trait-based approach to modularize not only the semantics but also the syntax of external DSLs, thereby simplifying extension and therefore evolution of a language implementation. We show the benefits of implementing these techniques using the Scala programming language.  相似文献   

6.
《Data Processing》1986,28(9):479-481
Programming languages are mainly developed with the computer in mind, rather than the user. A Programming Language (apl) has developed from being an enhanced mathematical and logical notation for a number of years to a much more analytical language. For the DP department, one of apl's strengths is its ease of amendment. But its main weakness is its inablility to fit into any traditional mould without losing its strengths.  相似文献   

7.
8.
9.
Domain specific languages (DSLs) are increasingly used today. Coping with complex language definitions, evolving them in a structured way, and ensuring their error freeness are the main challenges of DSL design and implementation. The use of modular language definitions and composition operators are therefore inevitable in the independent development of language components. In this article, we discuss these arising issues by describing a framework for the compositional development of textual DSLs and their supporting tools. We use a redundance-free definition of a readable concrete syntax and a comprehensible abstract syntax as both representations significantly overlap in their structure. For enhancing the usability of the abstract syntax, we added concepts like associations and inheritance to a grammar-based definition in order to build up arbitrary graphs (as known from metamodeling). Two modularity concepts, grammar inheritance and embedding, are discussed. They permit compositional language definition and thus simplify the extension of languages based on already existing ones. We demonstrate that compositional engineering of new languages is a useful concept when project-individual DSLs with appropriate tool support are defined.  相似文献   

10.
11.
Visual modeling languages such as the Business Process Model and Notation and the Unified Modeling Language are widely used in industry and academia for the analysis and design of information systems. Such modeling languages are usually introduced in overarching specifications which are maintained by standardization institutions such as the Object Management Group or the Open Group. Being the primary – often the single – source of information, such specifications are of paramount importance for modelers, researchers, and tool vendors. However, structure, content, and specification techniques of such documents have never been systematically analyzed. This paper addresses this gap by reporting on a Systematic Literature Review aimed to analyze published standard modeling language specifications. In total, eleven specifications were found and comprehensively analyzed. The survey reveals heterogeneity in: (i) the modeling language concepts being specified, and (ii) the techniques being employed for the specification of these concepts. The identified specification techniques are analyzed and presented by referring to their utilization in the specifications. This survey provides a foundation for research aiming to increase consistency and improve comprehensiveness of information systems modeling languages.  相似文献   

12.
虚拟实体对象建模语言SCPL   总被引:5,自引:0,他引:5  
本文给出一种新的虚拟实体对象建模语言SCPL。这种语言以基于控制论的行为模型SCP为中心组织虚拟实体对象的建模,具有实现连连续和更复杂行为的能力,适用领域广。  相似文献   

13.
14.
随着Web资源的日益丰富,人们需要跨语言的知识共享和信息检索。一个多语言Ontology可以用来刻画不同语言相关领域的知识,克服不同文化和不同语言带来的障碍。对现有的构建多语言Ontology方法进行分析和比较,提出一种基于核心概念集的多语言Ontology的构建方法,用一个独立于特定语言的Ontology以及来自不同自然语言的定义和词汇的同义词集来描述相关领域的概念。用该方法构建的Ontology具有良好的扩展能力、表达能力和推理能力,特别适合分布式环境下大型Ontology的创建。  相似文献   

15.
软件过程建模语言研究   总被引:13,自引:3,他引:13  
柳军飞  唐稚松 《软件学报》1996,7(8):449-457
本文介绍了软件过程建模的基本概念,提出了对软件过程建模语言的基本要求并简要介绍了几个有代表性的过程建模语言,给出了一个基于时序逻辑的形式化过程建模语言XYZ/PME,该语言是时序逻辑语言XYZ/E的子语言,它支持以角色为中心的逐步求精的过程建模方法,可在统一的形式框架内表示不同抽象级的过程模型.软件过程,软件过程建模,过程建模语言,时序逻辑,程序设计语言.  相似文献   

16.
17.
Intensional negative adjectives alleged , artificial , fake , false , former , and toy are unusual adjectives that depending on context may or may not be restricting functions. A formal theory of their semantics, pragmatics, and context that uniformly accounts for their complex mathematical and computational characteristics and captures some peculiarities of individual adjectives is presented.
Such adjectives are formalized as new concept builders, negation‐like functions that operate on the values of intensional properties of the concepts denoted by their arguments and yield new concepts whose intensional properties have values consistent with the negation of the old values. Understanding these new concepts involves semantics, pragmatics and context‐dependency of natural language. It is argued that intensional negative adjectives can be viewed as a special‐purpose, weaker, conntext‐dependent negationin natural language. The theory explains and predicts many inferences licensed by expressions involving such adjectives. Implementation of sample examples demonstrates its computational feasibility. Computation of context‐dependent interpretation is discussed.
The theory allows one to enhance a knowledge representation system with similar concept building, negation‐like, context‐dependent functions, the availability of which appears to be a distinct characteristic of natural languages.  相似文献   

18.
复杂网络技术的发展为大数据时代的语言研究提供了新的视角。网络方法应用到语言研究的重要目的是探索语言网络的结构特征规律和功能演化规律。该文综述了以图论为基础的复杂网络发展及社会网络、语言网络的主要数学模型,试图从复杂网络共性特征——小世界、无标度特征中进一步剥离出语言网络的个性特征,为语言符号多层级网络结构、功能研究提供参考。  相似文献   

19.
Synthesis of program fragments from specifications can make programs easier to write and easier to reason about. To integrate synthesis into programming languages, synthesis algorithms should behave in a predictable way—they should succeed for a well-defined class of specifications. To guarantee correctness and applicability to software (and not just hardware), these algorithms should also support unbounded data types, such as numbers and data structures. To obtain appropriate synthesis algorithms, we propose to generalize decision procedures into predictable and complete synthesis procedures. Such procedures are guaranteed to find the code that satisfies the specification if such code exists. Moreover, we identify conditions under which synthesis will statically decide whether the solution is guaranteed to exist and whether it is unique. We demonstrate our approach by starting from a quantifier elimination decision procedure for Boolean algebra of set with Presburger arithmetic and transforming it into a synthesis procedure. Our procedure also works in the presence of parametric coefficients. We establish results on the size and the efficiency of the synthesized code. We show that such procedures are useful as a language extension with implicit value definitions, and we show how to extend a compiler to support such definitions. Our constructs provide the benefits of synthesis to programmers, without requiring them to learn new concepts, give up a deterministic execution model, or provide code skeletons.  相似文献   

20.
曹存根  眭跃飞  孙瑜  曾庆田 《软件学报》2006,17(8):1731-1742
数学知识表示是知识表示中的一个重要方面,是数学知识检索、自动定理机器证明、智能教学系统等的基础.根据在设计NKI(national knowledge infrastructure)的数学知识表示语言中遇到的问题,并在讨论了数学对象的本体论假设的基础上提出了两种数学知识的表示方法:一种是以一个逻辑语言上的公式为属性值域的描述逻辑;另一种是以描述逻辑描述的本体为逻辑语言的一部分的一阶逻辑.在前者的表示中,如果对公式不作任何限制,那么得到的知识库中的推理不是可算法化的;在后者的表示中,以描述逻辑描述的本体中的推理是可算法化的,而以本体为逻辑语言的一部分的一阶逻辑所表示的数学知识中的推理一般是不可算法化的.因此,在表示数学知识时,需要区分概念性的知识(本体中的知识)和非概念性的知识(用本体作为语言表示的知识).框架或者描述逻辑可以表示和有效地推理概念性知识,但如果将非概念性知识加入到框架或知识库中,就可能使得原来可以有效推理的框架所表示的知识库不存在有效的推理算法,甚至不存在推理算法.为此,建议在表示数学知识时,用框架或描述逻辑来表示概念性知识;然后,用这样表示的知识库作为逻辑语言的一部分,以表示非概念性知识.  相似文献   

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

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