TRI-Ada最新文献

筛选
英文 中文
Efficient loop-level parallelism in Ada Ada中高效的循环级并行性
TRI-Ada Pub Date : 2011-08-25 DOI: 10.1145/126551.126568
M. Hind, E. Schonberg
{"title":"Efficient loop-level parallelism in Ada","authors":"M. Hind, E. Schonberg","doi":"10.1145/126551.126568","DOIUrl":"https://doi.org/10.1145/126551.126568","url":null,"abstract":"Parallelism in scientific applications can most often be found at the loop level. Although Ada supports parallelism via the task construct, its coarseness renders it unsuitable for this light-weight parallelism. In this work, we propose Ada constructs to achieve efficient loop-level parallelism in ANSI-Ada. This is accomplished in two steps. First, we present an idiom that allows the specification of light-weight tasks. Second, we give an efficient implementation of this idiom (for a variety of shared memory machines) that is considerably more efficient than a standard Ada task. \u0000In addition, we present an idiom that makes the fetchenspaceandenspaceadd synchronization primitive available at the Ada level. Our implementation of this idiom is more efficient in both time and space than previous results. In addition to providing universal synchronization, using fetchenspaceandenspaceadd simplifies program analysis (e.g. proving the absence of race conditions in the implementation of a parallel algorithm). Since all these idioms are written in standard Ada, they maintain the portability that is central to the mandated uses of the language.","PeriodicalId":429060,"journal":{"name":"TRI-Ada","volume":"39 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2011-08-25","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125815891","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 6
ASIStint: an interactive ASIS interpreter ASIStint:交互式ASIS解释器
TRI-Ada Pub Date : 1997-11-01 DOI: 10.1145/269629.269651
V. Fofanov, Sergey Rybin, A. Strohmeier
{"title":"ASIStint: an interactive ASIS interpreter","authors":"V. Fofanov, Sergey Rybin, A. Strohmeier","doi":"10.1145/269629.269651","DOIUrl":"https://doi.org/10.1145/269629.269651","url":null,"abstract":"ASIStint is an interactive ASIS interpreter with scripting facilities. It may be usedfor learning ASIS, i.e. the user may inieractively try out the eflects of the various ASIS queries It might also be used as an assistant (sic.!, when experimenting with ASIS queries, e.g. in order to discover a way of implementing a part of an ASIS application, or to correct itYet another use is debugging and testing an ASIS implementation. Input-output of a session may be recorded, and then be reprayed.","PeriodicalId":429060,"journal":{"name":"TRI-Ada","volume":"35 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1997-11-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125044045","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 3
Using Ada 95 as a tool to teach problem solving to non-CS majors 使用Ada 95作为工具来教非cs专业的学生解决问题
TRI-Ada Pub Date : 1997-11-01 DOI: 10.1145/269629.269633
William K. Suchan, Todd L. Smith
{"title":"Using Ada 95 as a tool to teach problem solving to non-CS majors","authors":"William K. Suchan, Todd L. Smith","doi":"10.1145/269629.269633","DOIUrl":"https://doi.org/10.1145/269629.269633","url":null,"abstract":"The United States Military Academy (USMA) has had tremendous success teaching introductory computing and problem solving to over 1,100 first-year students. USMA requires all firstyear students to take CS105, Introduction to Computing, which is a broad course that both introduces computing and emphasizes problem solving using an Engineering Design Method. While this is not a CSI course, we are using Ada programming as the principal tool to teach Engineering Design. The simplicity of the Ada 95 syntax allows the student to focus on the concepts of sequence, selection, and iteration, while various language features help bring the student to a concrete understanding of the distinct phases of an Engineering Design Method.","PeriodicalId":429060,"journal":{"name":"TRI-Ada","volume":"9 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1997-11-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126114606","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 9
Transitioning to Ada in an introductory course for non-majors 在非专业入门课程中过渡到Ada
TRI-Ada Pub Date : 1997-11-01 DOI: 10.1145/269629.269634
A. Chamillard, W. C. Hobart
{"title":"Transitioning to Ada in an introductory course for non-majors","authors":"A. Chamillard, W. C. Hobart","doi":"10.1145/269629.269634","DOIUrl":"https://doi.org/10.1145/269629.269634","url":null,"abstract":"All students attending the U.S. Air Force Academy are required to take an introductory course in computer science. Last year we transitioned to Ada in this course. In this paper we explain our rationale for making this transition and discuss some potential (though not significant) concerns for those considering a similar transition.","PeriodicalId":429060,"journal":{"name":"TRI-Ada","volume":"24 14","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1997-11-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"113955373","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 10
Ada-Java communication in ADEPT ADEPT中的Ada-Java通信
TRI-Ada Pub Date : 1997-11-01 DOI: 10.1145/269629.269653
A. Gargaro
{"title":"Ada-Java communication in ADEPT","authors":"A. Gargaro","doi":"10.1145/269629.269653","DOIUrl":"https://doi.org/10.1145/269629.269653","url":null,"abstract":"This paper describes the remote communications tier of a gateway that pennits Ada and Java prognwns to inferoperate ruing their native disrributed object models. A prototype of the gateway has been implemented to demonstrate that the combination of Java cliews and Ada servers may be used to exploit tile complimentary advantages of the two languages to develop distribttted applications.","PeriodicalId":429060,"journal":{"name":"TRI-Ada","volume":"68 6","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1997-11-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"120863927","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
Debugging distributed applications with replay capabilities 调试具有重放功能的分布式应用程序
TRI-Ada Pub Date : 1997-11-01 DOI: 10.1145/269629.269649
D. Neri, L. Pautet, S. Tardieu
{"title":"Debugging distributed applications with replay capabilities","authors":"D. Neri, L. Pautet, S. Tardieu","doi":"10.1145/269629.269649","DOIUrl":"https://doi.org/10.1145/269629.269649","url":null,"abstract":"This paper focuses on the latest developments made by the ENS T research team to GLADE, the implementation of the Distribut ed Systems Annex for the GNAT Ada95 compiler; we have extended GLADE’s communication subsystem and added recording facil ities and replay capabilities. This makes debugging distri buted applications much easier because of the possibility to repl ay separately each partition by simulating external events at consistent dates without loosing the possible determinism of t he original program, and it also eases the debugging in cases wh ere it is not practical to re-run the whole program or when it is im possible to get exactly the same behaviour from one of the par t (for example when one or several parts of the application run on embedded targets and send messages depending on sensor inputs while the other parts run on fixed workstations). 1 Ada95 RM Annex E and GLADE The Ada Distributed Systems Annex, Annex E, provides a solution to programming distributed systems. An Ada applicat ion may be partitioned for execution across a network of compute rs so that typed objects may be referenced through remotely-ca lled subprograms. The remotely-called subprograms declared in a library unit categorized as remote call interface (RCI) may be either statically or dynamically bound, thereby allowing a pplications to use one of these three classical paradigms: Remote procedure call: a remote procedure call 1 is similar for the end-user to a regular procedure call. Arguments are pushed into a stream along with some data pointing out which remote procedure is to be used and the stream is transmitted (maybe after some filtering phase, see [14]) over the network to the other partition. This partition decodes the stream, does the regular subprogram call, then put the output parameters into another stream along with the exception (if any) raised by the subprogram and sends this stream back to the caller. The caller decodes the stream and raises the exception if needed. Also, a pointer on a remote procedure call can be dereferenced to make the remote call occur. Asynchronous procedure call: an asynchronous procedure call is similar to a remote procedure call, but it doesn’t wai t for the completion of the remote call and lets the caller continue its execution path. Of course, this model is applicable to procedure with onlyin parameters and any exception raised during the execution of the remote procedure is lost. Distributed objects: this model, similar to the one adopted in CORBA, defines the notion of remote-pointer, a pointer which designates a remote object (the pointer type is said to be RACW, that is remote access to class-wide type). When a primitive dispatching operation is invoked on an object pointed by a RACW, then the corresponding remote call is performed transparently (if the object was created locally). This very powerful mechanism provides the user with a mean of registering objects into an object server and calling methods of thes","PeriodicalId":429060,"journal":{"name":"TRI-Ada","volume":"29 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1997-11-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114171322","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 9
A comparison of the object-oriented features of Ada 95 and Java Ada 95与Java面向对象特性的比较
TRI-Ada Pub Date : 1997-11-01 DOI: 10.1145/269629.269652
Benjamin M. Brosgol
{"title":"A comparison of the object-oriented features of Ada 95 and Java","authors":"Benjamin M. Brosgol","doi":"10.1145/269629.269652","DOIUrl":"https://doi.org/10.1145/269629.269652","url":null,"abstract":"Ada 2005 and Java offer comparable Object-Oriented Programming (“OOP”) support, but exhibit significant differences in both their general philosophies and their specific features. Each language allows the programmer to define class inheritance hierarchies (including a limited form of multiple inheritance through “interfaces”) and to employ encapsulation, polymorphism, and dynamic binding. Whereas OOP forms the foundation of Java’s semantic model, OOP in Ada is largely orthogonal to the rest of the language. In Java it is difficult to avoid using OOP; in Ada OOP is brought in only when explicitly indicated in the program. Java is a “pure” OO language in the style of Smalltalk, with implicit pointers and implementation-provided garbage collection. Ada is a methodology-neutral OO language in the manner of C++, with explicit pointers and program-specified storage reclamation. Java uses OOP to capture the functionality of exception handling, multi-threading, enumeration types, and other facilities that are not necessarily related to object orientation. Ada supplies specific features for such functionality, independent of its OO model. Java is oriented towards manipulating dynamic data structures. Ada offers more opportunities for optimization and run-time efficiency, and greater flexibility in the choice of programming styles.","PeriodicalId":429060,"journal":{"name":"TRI-Ada","volume":"64 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1997-11-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116714730","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 8
Teaching network programming with Ada and Lower_Layer 用Ada和Lower_Layer进行网络编程教学
TRI-Ada Pub Date : 1997-11-01 DOI: 10.1145/269629.269640
Jesus M. Gonzalez-Barahona, José Centeno-González, Pedro de las Heras Quirós, Francisco J. Ballesteros-Cámara, Luis López-Fernández
{"title":"Teaching network programming with Ada and Lower_Layer","authors":"Jesus M. Gonzalez-Barahona, José Centeno-González, Pedro de las Heras Quirós, Francisco J. Ballesteros-Cámara, Luis López-Fernández","doi":"10.1145/269629.269640","DOIUrl":"https://doi.org/10.1145/269629.269640","url":null,"abstract":"After some years of using a classical approach to teach network programming (C and BSD sockets), we decided to try a different approach, based on Ada as the programming language and Lower-Layer as the communication library. After two years of using this new approach in several undergraduate courses, we present here our experience and the lessons learned. In short, the new approach has proven to offer an environment easier to study, to understand, and to use for implementing protocols. Some of these advantages are due to the benefits of using Ada, while others are due to the cIenner interface of the Lower-Layer library -if compared to BSD sockets.","PeriodicalId":429060,"journal":{"name":"TRI-Ada","volume":"102 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1997-11-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122910374","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 1
Visualization of control structure and complexity in Ada 95 Ada 95中控制结构的可视化及其复杂性
TRI-Ada Pub Date : 1997-11-01 DOI: 10.1145/269629.269644
T. D. Hendrix, J. Cross, L. Barowski, K. S. Mathias
{"title":"Visualization of control structure and complexity in Ada 95","authors":"T. D. Hendrix, J. Cross, L. Barowski, K. S. Mathias","doi":"10.1145/269629.269644","DOIUrl":"https://doi.org/10.1145/269629.269644","url":null,"abstract":"GRASP is an evolving prototype software engineering tool designed to automatically produce visualizations of both control structure and complexity of Ada 95 source code. Control structure is visualized as a Control Structure Diagram and complexity is visualized as a Complexity Profile Graph. nese visualizations use intuitive, compact graphical representations that allow the software engineer to holistically visualize the overall program as well as the details of a small section of code. The primary goal of GRASP is to use its visualizations to increase the comprehension efficiency of software, thus decreasing software costs. This paper discusses the current features and enhancements as well as the availability of GRASP. Introduction Software visualization is an active area of research that investigates efficient and effective ways of automatically producing graphical representations of program source code, algorithms, or the runtime behavior of software. Such visualization technology promises to bring considerable help to bearon difficult and costly issuesinsofiwareengineeringsuchas communicating program information for the purposes of design, implementation, testing, maintenance, and reverse engineering HI. As part of the ongoing GRASP (Graphical Representations of Algorithms, Structures, and Processes) project at Auburn University, we have developed a software engineering tool, also called GRASP, that automatically produces visualizations of control structure and complexity in Ada 95 source code in a manner flexible and efficient enough for professional application [2]. Preliminary empirical studies indicate the usefulness of the CSD and the practical potential for tools such as GRASP. Despite the potential promise of visualizations such as the CSD, there is considerable evidence that the effectiveness of visualizations is quite sensitive to issues such as the user’s skill level (the ability of a user to interpret a given visualization) and the manner in which the visualization is produced (the suitability of a given visualization to be correctly interpreted) [3]. Recognizing these facts, we have enhanced the GRASP software visualization tool to incorporate significant features with the intent of making the resulting visualizations more useful. The remainder of this paper describes these enhancements. Pen&sion to make digit&hard copies of all or part of this work for t~~~oaol or ctnssroom use is pnted without fee provided that copies are not mdc or distributed for protit or commercirl advanbge, the copyright no&, tile tile of the publication and its date appear, and notice is given thnt copying is by permission of ACM, Inc. To copy otherwise, to republish, to post on servers, or to redistribute to Iists, requires prior spccificpcnnissionMdrornfee 01997 ACM O-89791-981-5/97/001 3.50 135 Visualization of Control Structure GRASP is a continually evolving prototype software engineering tool. The emphasis of the tool to this point has been on visual","PeriodicalId":429060,"journal":{"name":"TRI-Ada","volume":"37 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1997-11-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116640135","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 2
The undergraduate capstone software design experience 本科毕业软件设计经验
TRI-Ada Pub Date : 1997-11-01 DOI: 10.1145/269629.269635
J. Blair, E. Ressler, T. D. Wagner
{"title":"The undergraduate capstone software design experience","authors":"J. Blair, E. Ressler, T. D. Wagner","doi":"10.1145/269629.269635","DOIUrl":"https://doi.org/10.1145/269629.269635","url":null,"abstract":"Ada 95 is being used as the implementation language for a senior level compiler design course at the United States Military Academy. This paper describes experiences and Iessons learned as well as the scenario based approach for a large object oriented compiler project in that course. The term-long compiler project gives the students experience as a part of a (fictitious) designimplementation team building a production compiler. Ada 95 is compared to Pascal and C-H for the same course and positive and negative aspects of the three languages are described.","PeriodicalId":429060,"journal":{"name":"TRI-Ada","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1997-11-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129048475","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 3
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
相关产品
×
本文献相关产品
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:604180095
Book学术官方微信
小红书