首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到20条相似文献,搜索用时 15 毫秒
1.
I want increased confidence in my programs. I want my own and other people's programs to be more readable. I want a new discipline of programming that augments my thought processes. Therefore, I create and explore a new discipline of programming in my BabyUML laboratory. I select, simplify and twist UML and other languages to demonstrate how they help bridge the gap between me as a programmer and the objects running in my computer The focus is on the run time objects; their structure, their interaction, and their individual behaviors. Trygve Reenskaug is professor emeritus of informatics at the University of Oslo. He has 40 years experience in software engineering research and the development of industrial strength software products. He has extensive teaching and speaking experience including keynotes, talks and tutorials. His firsts include the Autokon system for computer aided design of ships with end user programming language, structured programming, and a data base oriented architecture from 1960; object oriented applications and role (collaboration) modeling from 1973; Model-View-Controller, the world's first reusable object oriented framework, from 1979; OOram role modeling method and tool from 1983. Trygve was a member of the UML Core Team and was a contributor to UML 1.4. The goal of his current research is to create a new, high level discipline of programming that lets us reclaim the mastery of software.  相似文献   

2.
Currently available programming and database systems are insufficient for engineering applications. The authors contend that a logical progression from a formal conceptual model of the engineering domain to a computational model will lead to new programming paradigms capable of directly supporting engineering applications in a rigorous, concise manner. A formal domain model devised by the authors, theHybrid Model (HM) of design information, is briefly introduced. It is an extension of axiomatic set theory and is discussed in detail elsewhere. HM forms the basis ofDesigner, a prototype-based object-oriented programming language supporting a signature-based canonical message-passing mechanism and multiple inheritance. Designer is implemented using the Scheme programming language. Because Designer satisfies a formal conceptual model, and because it is based on a formally specified language, its robustness and logical validity are superior to those of other languages not founded on formal principles. Designer combines concepts of functional and object-oriented programming to provide the formal rigor and flexibility to capture the complex and strongly interrelated information that designers use. Examples demonstrate how Designer represents design information. The results of the authors' research indicate that Designer can capture design information (including aspects of functional requirements and design intent) effectively and efficiently.  相似文献   

3.
This work presents a hybrid fuzzy-goal multi-objective programming scheme for topological optimization of continuum structures, in which both static and dynamic loadings are considered. The proposed methodology fortopological optimization first employs a fuzzy-goal programming scheme at the top level for multi-objective problems with static and dynamic objectives. For the static objective with multi-stiffness cases in the fuzzy-goal formulation, a hybrid approach, involving a hierarchical sequence approach or a hierarchical sequence approach coupled with a compromise programming method, is especially suggested for the statically loaded multi-stiffness structure at the sublevel. Concerning dynamic optimization problems of freevibration cases, nonstructural mass, oscillation of the objective function, and repeated eigenvalues are also discussed. Solid Isotropic Material with Penalization density–stiffness interpolation scheme is used to indicate the dependence ofmaterial modulus upon regularized element densities. The globally convergent version of the method of moving asymptotes and the sequential linear programming method areboth employed as optimizers. Several applications have been applied to demonstrate the validation of the presented methodologies.  相似文献   

4.
一种新型程序设计范型概述   总被引:1,自引:0,他引:1       下载免费PDF全文
介绍了一种新型程序设计范型——生成式程序设计提出的背景和意义、概念、分类、研究概况、存在的问题以及进一步的研究方向。  相似文献   

5.
This paper describes the design and implementation of a kernel for the distributed programming language StarMod. The distributed programming kernel was written in a subset of StarMod supported by a concurrent programming kernel. Kernel issues addressed include process representation, I/O device management, signal semantics, system utilities, network communication and the implementation of high-level language communication primitives. We conclude with a summary of our experiences in the development of a ‘bare machine’ kernel for a network of microprocessors.  相似文献   

6.
文章研究了直接数字合成DDS(Direct Digital Synthesis)技术.DDS技术是一种创新的电路体系结构,它是将先进的数字处理理论与方法引入信号合成领域的一项新技术.在对DDS技术进行了详细分析研究后,最后在CPLD上进行了布局布线和后仿真,并通过了CPLD的原理样机的测试.  相似文献   

7.
The testing phase of the software development process consumes about one-half of the development time and resources. This paper addresses the automation of the analysis stage of testing. Dual programming is introduced as one approach to implement this automation. It uses a higher level language to duplicate the functionality of the software under test. We contend that a higher level language (HLL) uses fewer lines of code than a lower level language (LLL) to achieve the same functionality, so testing the HLL program will require less effort than testing the LLL equivalent. The HLL program becomes the oracle for the LLL version. This paper describes experiments carried out using different categories of applications, and it identifies those most likely to profit from this approach. A metric is used to quantify savings realized. The results of the research are: (a) that dual programming can be used to automate the analysis stage of software testing; (b) that substantial savings of the cost of this testing phase can be realized when the appropriate pairing of primal and dual languages is made, and (c) that it is now possible to build a totally automated testing system. Recommendations are made regarding the applicability of the method to specific classes of applications.  相似文献   

8.
《国际计算机数学杂志》2012,89(3-4):145-160
Declarative testing is very important in logic program developments, as without testing no one can guarantee that every program is definitely correct, no matter how elegant and high-level the programming languages used. Unfortunately, the activity of declarative testing for logic programs (or even the ordinary testing for conventional programs) has received little attention. There is little formal theory of testing, and attempts to develop a methodology of testing are rare. In this paper, we provide a theoretical foundation for declarative testing in arbitrary first order logic programming using recursion theories. In particular, we present a theoretical analysis of three kinds of declarative testing method: I/O testing, I/Y testing, and X/Y testing for logic programs.  相似文献   

9.
The termination-indicator technique is presented, which can be used to solve the class of multi-exit loop problems. A multi-exit loop problem is a programming problem that has several terminating conditions for a loop: either a loop will run through a full cycle or be terminated prematurely when some condition is met. The class of multi-exit loop problems has generated a great deal of controversy on the goto statement in the literature from time to time. The paper illustrates the generality and efficiency of the termination-indicator technique by applying it to the class of multi-exit loop problems and thus puts the goto controversy to rest.  相似文献   

10.
In this paper we propose a new generic scheme CFLP풟, intended as a logical and semantic framework for lazy Constraint Functional Logic Programming over a parametrically given constraint domain 풟. As in the case of the well known CLP풟 scheme for Constraint Logic Programming, 풟 is assumed to provide domain specific data values and constraints. CFLP풟 programs are presented as sets of constrained rewrite rules that define the behavior of possibly higher order and/or non-deterministic lazy functions over 풟. As a main novelty w.r.t. previous related work, we present a Constraint Rewriting Logic CRWL풟 which provides a declarative semantics for CFLP풟 programs. This logic relies on a new formalization of constraint domains and program interpretations, which allows a flexible combination of domain specific data values and user defined data constructors, as well as a functional view of constraints. This research has been partially supported by the Spanish National Projects MELODIAS (TIC2002-01167), MERIT-FORMS (TIN2005-09207-C03-03) and PROMESAS-CAM (S-0505/TIC/0407).  相似文献   

11.
It was observed that school children in Arab countries find difficulty in learning programming in a language other than their native language. There are only few Arabic programming languages in the literature; most of which are never or partially implemented. In this paper, we present the design of a new Arabic programming language (ARABLAN) which is planned to be implemented for use in teaching programming for school children in Arab countries.  相似文献   

12.
Many discrete optimization problems can be formulated as either integer linear programming problems or constraint satisfaction problems. Although ILP methods appear to be more powerful, sometimes constraint programming can solve these problems more quickly. This paper describes a problem in which the difference in performance between the two approaches was particularly marked, since a solution could not be found using ILP.The problem arose in the context of organizing a progressive party at a yachting rally. Some yachts were to be designated hosts; the crews of the remaining yachts would then visit the hosts for six successive half-hour periods. A guest crew could not revisit the same host, and two guest crews could not meet more than once. Additional constraints were imposed by the capacities of the host yachts and the crew sizes of the guests.Integer linear programming formulations which included all the constraints resulted in very large models, and despite trying several different strategies, all attempts to find a solution failed. Constraint programming was tried instead and solved the problem very quickly, with a little manual assistance. Reasons for the success of constraint programming in this problem are identified and discussed.  相似文献   

13.
The aim of this article is to consider a new linear programming and two goal programming models for two-group classification problems. When these approaches are applied to the data of real life or of simulation, our proposed new models perform well both in separating the groups and the group–membership predictions of new objects. In discriminant analysis some linear programming models determine the attribute weights and the cut-off value in two steps, but our models determine simultaneously all of these values in one step. Moreover, the results of simulation experiments show that our proposed models outperform significantly than existing linear programming and statistical approaches in attaining higher average hit-ratios.  相似文献   

14.
The paper gives a new filter-SQP algorithm of the semidefinite programming through combining the sequence nonlinear algorithm of solving the semidefinite programming, low rank conversion, and filter method, which, under certain conditions, proves that the algorithm is global convergence.  相似文献   

15.
C++程序设计课程是大学计算机基础教学系列的核心课程之一。针对目前教学过程中学生应用C++语言解决实际问题的能力较差的现状,分析导致学生实际编程能力差的原因和教学方法的不足,围绕提高学生编程能力,提出了程序调试、错误案例分类与设计等教学方法。教学实践效果表明该教学方法明显增强了学生学习C++程序设计的兴趣,并大大提高了学生的实际编程能力。  相似文献   

16.
Fuzzy multiple objective fractional programming (FMOFP) is an important technique for solving many real-world problems involving the nature of vagueness, imprecision and/or random. Following the idea of binary behaviour of fuzzy programming (Chang 2007 Chang, C-T. 2007. Binary Behavior of Fuzzy Programming with Piecewise Membership Functions. IEEE Transactions on Fuzzy Systems, 15: 342349.  [Google Scholar]), there may exist a situation where a decision-maker would like to make a decision on FMOFP involving the achievement of fuzzy goals, in which some of them may meet the behaviour of fuzzy programming (i.e. level achieved) or the behaviour of binary programming (i.e. completely not achieved). This is turned into a fuzzy multiple objective mixed binary fractional programming (FMOMBFP) problem. However, to the best of our knowledge, this problem is not well formulated by mathematical programming. Therefore, this article proposes a linearisation strategy to formulate the FMOMBFP problem in which extra binary variable is not required. In addition, achieving the highest membership value of each fuzzy goal defined for the fractional objective function, the proposed method can alleviate the computational difficulties when solving the FMOMBFP problem. To demonstrate the usefulness of the proposed method, a real-world case is also included.  相似文献   

17.
This paper presents Programming Adaptive Testing (PAT), a Web‐based adaptive testing system for assessing students' programming knowledge. PAT was used in two high school programming classes by 73 students. The question bank of PAT is composed of 443 questions. A question is classified in one out of three difficulty levels. In PAT, the levels of difficulties are adapted to Bloom's taxonomy lower levels, and students are examined in their cognitive domain. This means that PAT has been designed according to pedagogical theories in order to be appropriate for the needs of the course ‘Application Development in a Programming Environment’. If a student answers a question correctly, a harder question is presented, otherwise an easier one. Easy questions examine the student's knowledge, while difficult questions examine the student's skills to apply prior knowledge to new problems. A student answers a personalized test composed of 30 questions. PAT classifies a student in one out of three programming skills' levels. It can predict the corresponding classification of students in Greek National Exams. Furthermore, it can be helpful to both students and teachers. A student could discover his or her programming shortcomings. Similarly, a teacher could objectively assess his or her students as well as discover the subjects that need to be repeated.  相似文献   

18.
Support for generic programming consists of three essential ingredients: support for overloaded functions, a run-time type representation, and a generic view on data. Different approaches to datatype-generic programming occupy different points in this design space. In this article, we revisit the “Scrap your boilerplate” approach and identify its location within the three-dimensional design space. The characteristic features of “Scrap your boilerplate” are its two generic views, the ‘spine’ view for consuming and transforming data, and the ‘type-spine’ view for producing data. We show how to combine these views with different overloading mechanisms and type representations.  相似文献   

19.
In this paper, we propose a new range-free localization algorithm called optimal proximity distance map using quadratic programming (OPDMQP). First, the relationship between geographical distances and proximity among sensor nodes in the given wireless sensor network is mathematically built. Then, the characteristics of the given network is represented as a set of constraints on the given network topology and the localization problem is formulated into a quadratic programming problem. Finally, the proposed method is applied to two anisotropic networks the topologies of which are very similar to those of the real-world applications. Unlike the most of previous localization methods which work well in the isotropic networks but not in the anisotropic networks, it is shown that the proposed method exhibits excellent and robust performances not only in the isotropic networks but also in the anisotropic networks.  相似文献   

20.
当前,程序设计相关课程的重点向实践偏移,但是一些老师在重视实践的同时,却忽视了课堂教育。笔者认为,课堂教学是大学教育的基础,不能被课外实践所取代,在重视实践的基础上,应让程序设计课回归课堂。如何通过课堂教学,让学生学懂、学会、学活,是需要任课老师进行持之以恒的研究。从知识体系、知识边界、讲授逻辑、教学技巧、原创思维、使用能力等多个角度分析了课堂教学研究的核心要义,并以程序设计课程为案例展示了回归课堂教学的效果。  相似文献   

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

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