📄 http:^^www.cs.utexas.edu^users^schwartz^pub.htm
字号:
</li><li><a name="tr-94-28">Don Batory.</a> <!WA39><a href="ftp://ftp.cs.utexas.edu/pub/predator/tr-94-28.ps.Z"><b>The LEAPS Algorithms</b>.</a> Technical Report TR-94-28, Department of Computer Sciences, University of Texas at Austin, November 1994. <p>LEAPS is a state of the art production system compiler that produces the fastest sequential executable OPS5 rule sets. The performance of LEAPS is due to its reliance on complex data structures and search algorithms to speed rule processing. In this paper, we explain the LEAPS algorithms in terms of the programming abstractions of the P2 data structure compiler. </p></li><li><a name="tr-94-26">Don Batory, Bart Geraci, and Jeff Thomas.</a> <!WA40><a href="ftp://ftp.cs.utexas.edu/pub/predator/tr-94-26.ps.Z"><b>Introductory P2 System Manual</b>.</a> Technical Report TR-94-26, Department of Computer Sciences, University of Texas at Austin, November 1994. <p>P2 is a prototype container data structure precompiler. It is a superset of the C language offering container and cursor abstractions as part of the linguistic extensions to C. P2 is based on the GenVoca model of software system generators. This document is the users manual for programming in the P2 language. </p></li><li><a name="tr-94-27">Don Batory, Bart Geraci, and Jeff Thomas.</a> <!WA41><a href="ftp://ftp.cs.utexas.edu/pub/predator/tr-94-27.ps.Z"><b>Advanced P2 System Manual</b>.</a> Technical Report TR-94-27, Department of Computer Sciences, University of Texas at Austin, November 1994. <p>This manual documents how layers are written in P2. There is a special language, XP, which was designed specifically for defining P2 building blocks (i.e., primitive data structure layers). </p></li><li><a name="ieee-sw">Don Batory, Vivek Singhal, Jeff Thomas, Sankar Dasari, Bart Geraci, and Marty Sirkin.</a> <!WA42><a href="ftp://ftp.cs.utexas.edu/pub/predator/ieee-sw-94.ps"><b>The GenVoca Model of Software-System Generators</b>.</a> <cite>IEEE Software</cite>, September 1994. <p>An emerging breed of generators synthesize complex software systems from libraries of reusable components. These generators, called GenVoca generators, produce high-performance software and offer substantial increases in productivity. </p></li><li><a name="domain-modeling-workshop">Don Batory.</a> <!WA43><a href="ftp://ftp.cs.utexas.edu/pub/predator/products.ps.Z"><b>Products of Domain Models</b>.</a> In <cite>Proceedings of ARPA Domain Modeling Workshop</cite>, George Mason University, September 1994. <p>We argue that domain models should produce four basic products: identification of reusable software components, definition of software architectures that explain how components can be composed, a demonstration of architecture scalability, and a direct relationship of these results to software generation of target systems. </p></li><li><a name="sirkin-thesis">Martin J. Sirkin.</a> <!WA44><a href="ftp://ftp.cs.utexas.edu/pub/predator/sirkin-thesis.ps"><b>A Software System Generator for Data Structures</b>.</a> Ph.D. Dissertation. Department of Computer Science and Engineering, University of Washington, March 1994. <p>Although data structures are a fundamental part of most applications, using and writing data structures is time-consuming, difficult, and error-prone. Programmers often select inappropriate data structures for their applications because they do not know which data structure to use, they do not know how to implement a particular data structure, or they do not have an existing implementation of the data structure to use. </p><p>This dissertation describes a model and a technology for overcoming these problems. Our approach is based on non-traditional parameterized types (NPTs). NPTs are an extension to traditional parameterized types (TPTs), which are already familiar to most programmers. Our NPTs are based on the GenVoca domain modeling concepts, vertical parameterization, a consistent high-level interface, and a transformational compiler. </p><p>Our research has led to the construction of a software system generator for data structures called Predator. Predator is able to transform data structure declarations and data structure-independent functions into efficient code. Predator also allows programmers to adjust a data structure's implementation by simply changing its declaration and recompiling. </p><p>This dissertation discusses our model (and how it differs from standard models), our Predator compiler, and the results of our validation efforts. </p></li><li><a name="sigsoft">Don Batory, Vivek Singhal, Jeff Thomas, and Marty Sirkin.</a> <!WA45><a href="ftp://ftp.cs.utexas.edu/pub/predator/sigsoft-93.ps"><b>Scalable Software Libraries</b>.</a> In <cite>Proceedings of the ACM SIGSOFT '93 Conference</cite> (Los Angeles), December 1993. <p>Many software libraries (e.g., the Booch C++ Components, libg++, NIHCL, COOL) provide components (classes) that implement data structures. Each component is written by hand and represents a unique combination of features (e.g. concurrency, data structure, memory allocation algorithms) that distinguishes it from other components. </p><p>We argue that this way of building data structure component libraries is inherently unscalable. Libraries should not enumerate complex components with numerous features; rather, libraries should take a minimalist approach: they should provide only primitive building blocks and be accompanied by generators that can combine these blocks to yield complex custom data structures. </p><p>In this paper, we describe a prototype data structure generator and the building blocks that populate its library. We also present preliminary experimental results which suggest that this approach does not compromise programmer productivity nor the run-time performance of generated data structures. </p></li><li><a name="tr-93-16">Vivek Singhal and Don Batory.</a> <!WA46><a href="ftp://ftp.cs.utexas.edu/pub/predator/tr-93-16.ps.Z"><b>P++: A Language for Software System Generators</b>.</a> Technical Report TR-93-16, Department of Computer Sciences, University of Texas at Austin, November 1993. <p>P++ is a programming language that supports the GenVoca model, a particular style of software design that is intended for building software system generators. P++ is an enhanced version of C++: it offers linguistic extensions for component encapsulation, abstraction, parameterization, and inheritance, where a component is a suite of interrelated classes and functions. This paper describes the motivations for P++, the ideas which underlie its design, the syntax and features of the language, and related areas of research. </p></li><li><a name="wisr-p2">Jeff Thomas, Don Batory, Vivek Singhal, and Marty Sirkin.</a> <!WA47><a href="ftp://ftp.cs.utexas.edu/pub/predator/wisr-93-p2.ps"><b>A Scalable Approach to Software Libraries</b>.</a> In <cite>Proceedings of the 6th Annual Workshop on Software Reuse</cite> (Owego, New York), November 1993. <p>Software libraries offer a convenient and accessible means to achieve the benefits of reuse. The components of these libraries are written by hand, and each represents a unique combination of features that distinguishes it from other components. Unfortunately, as the number of features grows, the size of these libraries grows exponentially, making them unscalable. </p><p>Predator is a research project to develop abstractions and tools to provide the benefits of software libraries without incurring the scalability disadvantages just mentioned. Our approach relies on a careful analysis of an application domain to arrive at appropriate high-level abstractions, standardized (i.e., plug-compatible) interfaces, and layered decompositions. Predator defines language extensions for implementing components, and compilers to automatically convert component compositions into efficient programs. </p></li><li><!WA48><img src="http://www.cs.utexas.edu/users/schwartz/best.gif" align=right hspace=0 width=88 height=35><a name="wisr-p++">Vivek Singhal and Don Batory.</a> <!WA49><a href="ftp://ftp.cs.utexas.edu/pub/predator/wisr-93-p++.ps"><b>P++: A Language for Large-Scale Reusable Software Components</b>.</a> In <cite>Proceedings of the 6th Annual Workshop on Software Reuse</cite> (Owego, New York), November 1993. <p>P++ is a programming language that supports the GenVoca model, a particular style of software design that is intended for building software system generators. P++ is an enhanced version of C++: it offers linguistic extensions for component encapsulation, abstraction, parameterization, and inheritance, where a component is a subsystem, i.e., a suite of interrelated classes and functions. </p></li><li><a name="p1-manual">Marty Sirkin.</a> <!WA50><a href="ftp://ftp.cs.utexas.edu/pub/predator/p1-manual.ps.Z"><b>Predator: A Data Structure Compiler</b>.</a> A manual describing the features and syntax of P1, a prototype data structure compiler (unpublished). </li><li> </li><li><a name="icse">Marty Sirkin, Don Batory, and Vivek Singhal.</a> <!WA51><a href="ftp://ftp.cs.utexas.edu/pub/predator/icse-15.ps"><b>Software Components in a Data Structure Precompiler</b>.</a> In <cite>Proceedings of the 15th International Conference on Software Engineering </cite>(Baltimore, MD), May 1993, pages 437-446. <p>PREDATOR is a data structure precompiler. that generates efficient code for maintaining and querying complex data structures. It embodies a novel component reuse technology that transcends traditional generic data types. In this paper, we explain the concepts of our work and our prototype system. We show how complex data structures can be specified as compositions of software building blocks, and present performance results that compare PREDATOR output to hand-optimized programs. </p></li><li><a name="tr-92-47">Don Batory, Vivek Singhal, and Jeff Thomas.</a> <!WA52><a href="ftp://ftp.cs.utexas.edu/pub/predator/tr-92-47.ps.Z"><b>Database Challenge: Single Schema Database Management Systems</b>.</a> Technical Report TR-92-47, Department of Computer Sciences, University of Texas at Austin, December 1992. <p>Many data-intensive applications require high-performance data management facilities, but utilize only a small fraction of the power of a general-purpose database system (DBMS). We believe single schema database systems (SSTs), i.e., special-purpose DBMSs that are designed for a single schema and a predeclared set of database operations, are a vital need of today's software industry. The challenge is to create a technology for economically building high-performance SSTs. SST research will combine results from object-oriented databases, persistent object stores, module interconnection languages, rule-based optimizers, open-architecture systems, extensible databases, and generic data types. </p></li><li><a name="tosem">Don Batory and Sean O'Malley.</a> <!WA53><a href="ftp://ftp.cs.utexas.edu/pub/predator/tosem-92.ps"><b>The Design and Implementation of Hierarchical Software Systems with Reusable Components</b>.</a> <cite>ACM Transactions on Software Engineering and Methodology</cite>, 1(4):355-398, October 1992. <p>We present a domain-independent model of hierarchical software system design and construction that is based on interchangeable software components and large-scale reuse. The model unifies the conceptualizations of two independent projects, Genesis and Avoca, that are successful examples of software component/building-block technologies and domain modeling. Building-block technologies exploit large-scale reuse, rely on open architecture software, and elevate the granularity of programming to the subsystem level. Domain modeling formalizes the similarities and differences among systems of a domain. We believe our model is a blue-print for achieving software component technologies in many domains. </p></li><li><a name="ijseke">Don Batory, Vivek Singhal, and Marty Sirkin.</a> <!WA54><a href="ftp://ftp.cs.utexas.edu/pub/predator/ijseke-92.ps"><b>Implementing a Domain Model for Data Structures</b>.</a> <cite>International Journal of Software Engineering and Knowledge Engineering</cite>, 2(3):375-402, September 1992. <p>We present a model of the data structure domain that is expressed in terms of the GenVoca domain modeling concepts. We show how familiar data structures can be encapsulated as realms of plug-compatible, symmetric, and reusable components, and we show how complex data structures can be formed from their composition. The target application of our research is a precompiler for specifying and generating customized data structures. </p></li></ol><hr><p>Last modified: December 24, 1996<br></p><address><!WA55><a href="http://www.cs.utexas.edu/users/dsb">Don Batory</a> <!WA56><a href="mailto:batory@cs.utexas.edu">(batory@cs.utexas.edu)</a> </address></body></html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -