首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到20条相似文献,搜索用时 0 毫秒
1.
The StarMod language is designed to provide its users with abstractions for distributed computations. The language is based on Wirth's definition of a “module” as impiemented in Modula. The paper discusses abstraction mechanisms for distributed access control and scheduling: in addition, several examples are used to illustrate these concepts.  相似文献   

2.
Allan Ramsay 《Software》1983,13(11):983-992
This paper describes an interactive programming environment within which proposed changes to a program are monitored to ensure that they do not introduce various common types of logical inconsistency. The environment, which is provided by a network of concurrent ‘experts’ dealing with various aspects of the program being developed, is designed to be convenient to work in and to impose few constraints on the programmer.  相似文献   

3.
Over the last decade, there has been a steady stream of pair programming studies. However, one significant area of pair programming that has not received its due attention is gender. Considering the fact that pair programming is one of the major human-centric software development paradigms, this is a gap that needs to be addressed. This empirical study conducted quantitative and qualitative analyses of different gender pair combinations within pair programming context. Using a pool of university programming course students as the experiment participants, the study examined three gender pair types: female–female, female–male, and male–male. The result revealed that there was no significant gender difference in the pair programming coding output. But there were significant differences in the levels of pair compatibility and communication between the same gender pair type: female–female and male–male, and the mixed gender pair type, female–male. The post-experiment comments provide additional insights and details about gender in pair interactions.  相似文献   

4.
Strengthening the case for pair programming   总被引:1,自引:0,他引:1  
The software industry has practiced pair programming (two programmers working side by side at one computer on the same problem) with great success for years, but people who haven't tried it often reject the idea as a waste of resources. The authors demonstrate that using pair programming in the software development process yields better products in less time-and happier, more confident programmers  相似文献   

5.
The drawback of pair programming is the nearly doubled personnel cost. The extra cost of pair programming originates from the strict rule of extreme programming where every line of code should be developed by a pair of developers. Is this rule not a waste of resources? Is it not possible to gain a large portion of the benefits of pair programming by only a small fraction of the meeting time of a pair programming session? We conducted a preliminary study to answer this question by splitting the pair programming process into a pair design and a pair implementation phase. The pair implementation phase is compared to a solo implementation phase, which in turn was preceeded by a pair design phase, as well. The study is preliminary as its major goal was to identify an appropriate sample size for subsequent experiments. The data from this study suggest that there is no difference in terms of development cost between a pair and a solo implementation phase if the cost for developing programs of similar level of correctness is concerned.  相似文献   

6.
介绍了结对编程的概念,阐述了其作为学习编程技能的一种过程改进策略在国外计算机专业教学中的实验效果,并论述了相关影响因素。  相似文献   

7.
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.  相似文献   

8.
This paper presents Visper, a novel object-oriented framework that identifies and enhances common services and programming primitives, and implements a generic set of classes applicable to multiple programming models in a distributed environment. Groups of objects, which can be programmed in a uniform and transparent manner, and agent-based distributed system management, are also featured in Visper. A prototype system is designed and implemented in Java, with a number of visual utilities that facilitate program development and portability. As a use case, Visper integrates parallel programming in an MPI-like message-passing paradigm at a high level with services such as checkpointing and fault tolerance at a lower level. The paper reports a range of performance evaluation on the prototype and compares it to related works  相似文献   

9.
The use of agile methods is growing in industrial practice due to the documented benefits of increased software quality, shared programmer expertise, and user satisfaction. These methods include pair programming (two programmers working side-by-side producing the code) and test-driven approaches (test cases written first to prepare for coding). In practice, software development organizations adapt agile methods to their environment. The purpose of this research is to understand better the impacts of adapting these methods. We perform a set of controlled experiments to investigate how adaptations, or variations, to the pair programming method impact programming performance and user satisfaction. We find that method variations do influence programming results. In particular, better performance and satisfaction outcomes are achieved when the pair programming is performed in face-to-face versus virtual settings, in combination with the test-driven approach, and with more experienced programmers. We also find that limiting the extent of collaboration can be effective, especially when programmers are more experienced. These experimental results provide a rigorous foundation for deciding how to adapt pair programming methods into specific project contexts.  相似文献   

10.
A previous paper proposed and described a high-level, application-independent framework for the construction of distributed systems within a resource-sharing computer network. The framework implements a simple procedure call model in which distant processes invoke procedures in one another by exchanging the necessary arguments and results. The present paper explores some of the ways in which this simple model might be extended to provide the programmer with a more comprehensive distributed programming system. Among the extensions proposed are coroutine linkages and other forms of communication between caller and callee, the propagation of notices and requests up the thread of control that results from nested procedure calls, the reading and writing of data objects within the remote program, and the creation and manipulation of arbitrarily complex process hierarchies and more general inter-process control paths.  相似文献   

11.
Debunking the nerd stereotype with pair programming   总被引:1,自引:0,他引:1  
Williams  L. 《Computer》2006,39(5):83-85
Our studies show that using pair programming as a structure for incorporating collaboration in the classroom helps increase and broaden participation in computing fields and helps debunk the myth that programmers work alone all the time. It's also a way for students to get a better view of and feel more confident in their preparation for working in the real world. The face of the IT workforce is changing. As the millennial generation makes its way into the working world, the archetype of the nerd as the introverted, obsessed computer programmer must share equal space with the chatty, social software engineer.  相似文献   

12.
In this paper, pair programming is empirically investigated from the perspective of developer personalities and temperaments and how they affect pair effectiveness. A controlled experiment was conducted to investigate the impact of developer personalities and temperaments on communication, pair performance and pair viability-collaboration. The experiment involved 70 undergraduate students and the objective was to compare pairs of heterogeneous developer personalities and temperaments with pairs of homogeneous personalities and temperaments, in terms of pair effectiveness. Pair effectiveness is expressed in terms of pair performance, measured by communication, velocity, design correctness and passed acceptance tests, and pair collaboration-viability measured by developers’ satisfaction, knowledge acquisition and participation. The results have shown that there is important difference between the two groups, indicating better communication, pair performance and pair collaboration-viability for the pairs with heterogeneous personalities and temperaments. In order to provide an objective assessment of the differences between the two groups of pairs, a number of statistical tests and stepwise Discriminant Analysis were used.
Ignatios DeligiannisEmail:

Panagiotis Sfetsos   is an Assistant Professor at the Department of Informatics at the Alexander Technological Educational Institute of Thessaloniki, Greece. He received his B.Sc. in Computer Science and Statistics from the University of Uppsala, Sweden (1981), and the Ph.D. degree in Computer Science from the Aristotle University of Thessaloniki (2007). His Ph.D. Thesis was on “Experimentation in Object Oriented Technology and Agile Methods”. His research interests include empirical software evaluation, measurement, testing, quality, agile methods and especially extreme programming. Ioannis G. Stamelos   is an Associate Professor of Computer Science at the Aristotle University of Thessaloniki, Dept. of Informatics. He received a degree in Electrical Engineering from the Polytechnic School of Thessaloniki (1983) and the Ph. D. degree in Computer Science from the Aristotle University of Thessaloniki (1988). He teaches object-oriented programming, software engineering, software project management and enterprise information systems at the graduate and postgraduate level. His research interests include empirical software evaluation and management, software education and open source software engineering. He is author of 90 scientific papers and member of the IEEE Computer Society. Lefteris Angelis   received his B.Sc. and Ph.D. degree in Mathematics from Aristotle University of Thessaloniki (A.U.Th.). He works currently as an Assistant Professor at the Department of Informatics of A.U.Th. His research interests involve statistical methods with applications in software engineering and information systems, computational methods in mathematics and statistics, planning of experiments and simulation techniques. Ignatios Deligiannis   is an Associate Professor at Alexander Technological Education Institute of Thessaloniki, Greece. His main interests are Object-Oriented software methods, and in particular design assessment and measurement. He received his B.Sc. in Computer Science from Lund University, Sweden, in 1979, and then worked for several years in software development at Siemens Telecommunications industry. He was member of ESERG (Empirical Software Engineering Research Group at Bournemouth University, UK). Currently, he is a research partner of Software Engineering Group::Plase laboratory, Aristotle University of Thessaloniki, Greece.   相似文献   

13.
Several experiments on the effects of pair versus solo programming have been reported in the literature. We present a meta-analysis of these studies. The analysis shows a small significant positive overall effect of pair programming on quality, a medium significant positive overall effect on duration, and a medium significant negative overall effect on effort. However, between-study variance is significant, and there are signs of publication bias among published studies on pair programming. A more detailed examination of the evidence suggests that pair programming is faster than solo programming when programming task complexity is low and yields code solutions of higher quality when task complexity is high. The higher quality for complex tasks comes at a price of considerably greater effort, while the reduced completion time for the simpler tasks comes at a price of noticeably lower quality. We conclude that greater attention should be given to moderating factors on the effects of pair programming.  相似文献   

14.
Kim  K.H. 《Computer》2000,33(6):72-80
Ideally, according to the author, a real-time distributed programming method should be based on a general high-level style that could be easily accommodated by application programmers using C++ and Java. If such a method were to exist, these programmers could specify the interactions among distributed components and the timing requirements of various actions without expending much effort. Facilitating high-level, high precision, real-time object programming by establishing some form of language tools has consequently become a subject of great interest to the embedded systems community. This article focuses on application programming interfaces (APIs) that take the form of C++ and Java class libraries and support high-level, high precision, real-time object programming without requiring new language translators. These APIs wrap the services of the real-time object execution engines, which consist of hardware, node OSs, and middleware; they enable convenient high-level programming almost to the extent that a new real-time object language can. The author explains the API's fundamental features, how they interact among real-time objects, and how multicast channels and real-time multicast APIs contribute  相似文献   

15.
This paper presents an overview of a distributed programming language calledDMODULA,which is intended for the programming in a distributed environment.DMODULA develops module concepts of its ancestor,MODULA-2,and providesfeatures of generic and remote procedure calls.DMODULA has been implemented onthe ZOZ system,a distributed microcomputer system consisting of several LSI-11microcomputers,which was designed and implemented at Nanjing University in 1982.  相似文献   

16.
Two kinds of parallel computers exist: those with shared memory and those without. The former are difficult to build but easy to program. The latter are easy to build but difficult to program. In this paper we present a hybrid model that combines the best properties of each by simulating a restricted object-based shared memory on machines that do not share physical memory. In this model, objects can be replicated on multiple machines. An operation that does not change an object can then be done locally, without any network traffic. Update operations can be done using the reliable broadcast protocol described in the paper. We have constructed a prototype system, designed and implemented a new programming language for it, and programmed various applications using it. The model, algorithms, language, applications and performance will be discussed.  相似文献   

17.
The Parallel Programming Interface for Distributed Data (PPIDD) library provides an interface, suitable for use in parallel scientific applications, that delivers communications and global data management. The library can be built either using the Global Arrays (GA) toolkit, or a standard MPI-2 library. This abstraction allows the programmer to write portable parallel codes that can utilise the best, or only, communications library that is available on a particular computing platform.Program summaryProgram title: PPIDDCatalogue identifier: AEEF_v1_0Program summary URL: http://cpc.cs.qub.ac.uk/summaries/AEEF_1_0.htmlProgram obtainable from: CPC Program Library, Queen's University, Belfast, N. IrelandLicensing provisions: Standard CPC licence, http://cpc.cs.qub.ac.uk/licence/licence.htmlNo. of lines in distributed program, including test data, etc.: 17 698No. of bytes in distributed program, including test data, etc.: 166 173Distribution format: tar.gzProgramming language: Fortran, CComputer: Many parallel systemsOperating system: VariousHas the code been vectorised or parallelized?: Yes. 2–256 processors usedRAM: 50 MbytesClassification: 6.5External routines: Global Arrays or MPI-2Nature of problem: Many scientific applications require management and communication of data that is global, and the standard MPI-2 protocol provides only low-level methods for the required one-sided remote memory access.Solution method: The Parallel Programming Interface for Distributed Data (PPIDD) library provides an interface, suitable for use in parallel scientific applications, that delivers communications and global data management. The library can be built either using the Global Arrays (GA) toolkit, or a standard MPI-2 library. This abstraction allows the programmer to write portable parallel codes that can utilise the best, or only, communications library that is available on a particular computing platform.Running time: Problem dependent. The test provided with the distribution takes only a few seconds to run.  相似文献   

18.
基因编程(GP)算法具有天然的并行性,因此出现了并行分布式GP模型,如主从模型、岛屿模型和网格模型等。但是实现这些分布式模型的算法过程复杂,不具有可重用性,很难依据不同拓扑结构来快速实现大规模的GP计算。针对这些缺点,提出了基于图的并行分布式GP模型,形式化地描述了图中的各种GP操作,使其能够支持不同拓扑结构的GP分布式并行计算。经过实验测试,该模型能够实现上述三种GP模型,并具有稳定、高效、易实现的特点。  相似文献   

19.
This paper presents a new conception for a distributed task-oriented real-time operating system comprising a compiler, an operating system kernel and communication packages. The system TOROS supplies the tools for a uniform programming of complex process control applications on heterogenous hardware including workstation, PC, programmable controller and microcontroller. The whole control task is split into a set of small modules. These modules are uniquely programmed by defining a state machine and using guarded commands. They are connected logically through calls to tasks provided by other modules. The specification of the modules is done in an hardware independent language. At compile time the modules are distributed to specified target computers. The system automatically translates each module into the particular code and realizes the communication between the modules either on the same computer or through the links.  相似文献   

20.
An object-oriented approach is used to develop classes and frameworks for the implementation of distributed iterative equation solution. The software is implemented using the .NET framework, and builds upon previous work by the author. Development of the framework for iterative solution makes good use of interfaces to isolate sources of complexity. The framework is used for three different solution scenarios (i) conjugate gradient iteration on a single matrix; (ii) conjugate gradient iteration when domain decomposition is used; and (iii) using the Schur complement approach. Moreover, the framework is used for both local and remote objects. The .NET framework makes it very straightforward to program distributed applications, and the object-oriented approach greatly facilitates the software development. The framework was used in a finite element program and the speed-up results are shown.  相似文献   

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

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