📄 http:^^www.cs.utexas.edu^users^schwartz^pub.htm
字号:
MIME-Version: 1.0
Server: CERN/3.0
Date: Tuesday, 07-Jan-97 15:50:37 GMT
Content-Type: text/html
Content-Length: 39253
Last-Modified: Wednesday, 25-Dec-96 18:50:26 GMT
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN"><html><head><title>SSGRG Publications Page</title><meta name="GENERATOR" content="Microsoft FrontPage 1.1"></head><body background="background.gif" bgcolor="#FEEBFA" link="#000080"><h1><!WA0><img src="http://www.cs.utexas.edu/users/schwartz/logo.gif" align=right hspace=0 width=284 height=172><font color="#00FF00"><!WA1><img src="http://www.cs.utexas.edu/users/schwartz/7blox.gif" align=middle width=80 height=64></font><a name="publications"><font color="#8000FF"><font size=7>Publications</font></font></a></h1><p>The following is a list of publications from our research group (largely listed in order of publication date). Each entry consists of a citation, an abstract, and a hypertext link to the actual paper. <br></p><p><font color="#000000"><font size=3>Related Web Pages:</font><font size=4> </font></font><!WA2><img src="http://www.cs.utexas.edu/users/schwartz/3blox.gif" align=middle width=48 height=36> <!WA3><a href="http://www.cs.utexas.edu">UTCS General</a> <!WA4><img src="http://www.cs.utexas.edu/users/schwartz/3blox.gif" align=middle width=48 height=36> <!WA5><a href="http://www.cs.utexas.edu/users/schwartz/index.html">SSGRG Title Page </a><!WA6><img src="http://www.cs.utexas.edu/users/schwartz/3blox.gif" align=middle width=48 height=36> <!WA7><a href="http://www.cs.utexas.edu/users/schwartz/new_index.html">SSGRG Project Index</a></p><hr><ol><li><!WA8><img src="http://www.cs.utexas.edu/users/schwartz/new.gif" align=bottom width=31 height=12><a name="lrusim">Guillermo Jimenez-Perez and Don Batory</a> <!WA9><a href="ftp://ftp.cs.utexas.edu/pub/predator/lrusim.ps"><b>Memory Simulators and Software Generators</b>,</a> To appear in <cite>1997 Symposium on Software Reuse</cite>.<p>We present results on re-engineering a highly tuned and hand-coded memory simulator using the P2 container data structure generator. This application was chosen because synthesizing the simulator's data structures would not exploit P2's primary advantage of automatically applying sophisticated code optimization techniques. Thus we initially believed that using P2 would be an overkill and that P2's generated code would provide no performance advantages over hand coding. On the contrary, we found that P2 produced more efficient code and that it offered significant advantages to software development that we had not previously realized. </p></li><li><!WA10><img src="http://www.cs.utexas.edu/users/schwartz/best.gif" align=right hspace=0 width=88 height=35><!WA11><img src="http://www.cs.utexas.edu/users/schwartz/new.gif" align=bottom width=31 height=12><a name="ieee-icsr">Don Batory and Bart J. Geraci.</a> <!WA12><a href="ftp://ftp.cs.utexas.edu/pub/predator/ieee-icsr.ps"><b>Composition Validation and Subjectivity in GenVoca Generators</b>,</a> To appear in <cite>IEEE Transactions on Software Engineering</cite>, special issue on Software Reuse.<p>GenVoca generators synthesize software systems by composing components from reuse libraries. GenVoca components are designed to export and import standardized interfaces, and thus be plug-compatible, interchangeable, and interoperable with other components. In this paper, we examine two different but important issues in software system synthesis. First, not all syntactically correct compositions of components are semantically correct. We present simple, efficient, and domain-independent algorithms for validating compositions of GenVoca components. Second, components that export and import immutable interfaces are too restrictive for software system synthesis. We show that the interfaces and bodies of GenVoca components are subjective, i.e., they mutate and enlarge upon instantiation. This mutability enables software systems with customized interfaces to be composed from components with "standardized" interfaces. </p></li><li><a name="vivek-thesis">Vivek P. Singhal.</a> <!WA13><a href="ftp://ftp.cs.utexas.edu/pub/predator/vivek-thesis.ps.Z"><b>A Programming Language for Writing Domain-Specific Software System Generators</b>.</a> Ph.D. Dissertation. Department of Computer Sciences, University of Texas at Austin, September 1996. <p>Automating routine programming tasks is an effective way to increase the productivity of software development. Software system generators have the potential to achieve this goal: customized software systems can be quickly and easily assembled from component libraries. Our research demonstrates that for generators to be successful, component libraries must be scalable. Scalability enables libraries to be small, because the components of the library implement distinct and largely orthogonal features. These components can be combined to yield an enormous family of software systems and subsystems. Generators thus become tools for combining components to manufacture these systems and subsystems. In GenVoca, the programming model that forms the foundation of our research, components act as large-scale refinements which simultaneously transform multiple classes from one abstraction to another. Because GenVoca advocates a novel style of program organization, there is little language or tool support for this paradigm. We have developed a programming language called P++, which extends C++ with specialized constructs to support the GenVoca model. It permits components to be treated as transformations which can simultaneously refine several classes in a consistent manner. To validate the utility of this language, we solved a "challenge problem" in software reuse: we reimplemented the Booch C++ Components data structures library as a scalable P++ library. We were able to reduce the volume of code and number of components by approximately a factor of four, without compromising the performance of generated systems. </p></li><li><a name="rosetta">E.E. Villarreal and Don Batory.</a> <!WA14><a href="ftp://ftp.cs.utexas.edu/pub/predator/rosetta.ps"><b>Rosetta: A Generator of Data Language Compilers</b>, </a>To appear in <em>1997 Symposium on Software Reuse</em>. Also, Technical Report TR-96-04, Department of Computer Sciences, University of Texas at Austin, April 1996. <p>A data language is a declarative language that enables database users to access and manipulate data. There are families of related data languages; each family member is targeted for a particular application. Unfortunately, building compilers for such languages is largely an ad hoc process; there are no tools and design methods that allow programmers to leverage the design and code of compilers for similar languages, or to simplify the evolution of existing languages to include more features. Rosetta is a generator of relational data language compilers that demonstrates practical solutions to these problems. We explain how domain analysis identifies primitive building blocks of these compilers, and how grammar-based definitions (e.g. GenVoca) of the legal compositions of these blocks yields compact and easily-evolvable specifications of data languages. Rosetta automatically transforms such specifications into compilers. Experiences with Rosetta are discussed. </p></li><li><a name="lprairie">Dinesh Das and Don Batory.</a> <!WA15><a href="ftp://ftp.cs.utexas.edu/pub/predator/lprairie.ps"><b>Synthesizing Rule Sets for Query Optimizers from Components</b>, </a>Technical Report TR-96-05, Department of Computer Sciences, University of Texas at Austin, April 1996. <p>Query optimizers are complex subsystems of database management systems. Modifying query optimizers to admit new algorithms or storage structures is quite difficult, but partly alleviated by extensible approaches to optimizer construction. Rule-based optimizers are a step in that direction, but from our experience, the rule sets of such optimizers are rather monolithic and brittle. Conceptually minor changes often require wholesale modifications to a rule set. Consequently, much can be done to improve the extensibility of rule-based optimizers. As a remedy, we present a tool called Prairie that is based on an algebra of layered optimizers. This algebra naturally leads to a building-blocks approach to rule-set construction. Defining customized rule sets and evolving previously defined rule sets is accomplished by composing building-blocks. We explain an implementation of Prairie and present experimental results that show how classical relational optimizers can be synthesized from building-blocks, and that the efficiency of query optimization is not sacrificed. </p></li><li><a name="compilers">Don Batory.</a> <!WA16><a href="ftp://ftp.cs.utexas.edu/pub/predator/compilers.ps.Z"><b>Software System Generators, Transformation Systems, and Compilers</b>. </a>Working Paper, October 1995. <p>GenVoca generators assemble customized, high-performance software systems automatically from components. In this paper, we explain how GenVoca generators are actually compilers for domain-specific module interconnection languages and that the underlying compilation technology is a special class of transformation systems. </p></li><li><a name="space_tech">Don Batory.</a> <!WA17><a href="ftp://ftp.cs.utexas.edu/pub/predator/space.ps.Z"><b>Software Component Technologies and Space Applications</b>.</a> In <cite>Proceedings of the International Conference on Integrated Micro-Nano Technology for Space Applications</cite>, November 1995. <p>In the near future, software systems will be as reconfigurable than hardware. This will be possible through the advent of software component technologies, which have been prototyped in universities and research labs. In this paper, we outline the foundations for these technologies and suggest how they might impact software for space applications. </p></li><li><a name="oopsla95.position">Lance Tokuda.</a> <!WA18><a href="ftp://ftp.cs.utexas.edu/pub/predator/oopsla95-position-unicron.ps"><b>Program Transformations for Evolving Software Architectures</b>.</a> OOPSLA'95 position paper for workshop on Adaptable and Adaptive Software, 1995. <p>Software evolution is often driven by the need to extend existing software. "Design patterns" express preferred ways to extend object-oriented software and provide desirable target states for software designs. This paper demonstrates that some design patterns can be expressed as a series of parameterized program transformations applied to a plausible initial software state. A software tool is proposed that uses primitive transformations to allow users to evolve object-oriented applications by visually altering design diagrams. </p></li><li><!WA19><img src="http://www.cs.utexas.edu/users/schwartz/best.gif" align=right hspace=0 width=88 height=35><a name="icsr4A">Don Batory.</a> <!WA20><a href="ftp://ftp.cs.utexas.edu/pub/predator/subjectivity-icsr95.ps.Z"><b>Subjectivity and GenVoca Generators.</b></a> In <cite>Proceedings of the International Conference on Software Reuse '96</cite> (Orlando), 1996. See <!WA21><a href="#ieee-icsr">IEEE TSE journal version</a>. Expanded Technical Report <!WA22><a href="ftp://ftp.cs.utexas.edu/pub/predator/tr-95-32.ps.Z">TR-95-32</a>, Department of Computer Sciences, University of Texas at Austin, June 1995. <p>The tenet of subjectivity is that no single interface can adequately describe any object; interfaces to the same object will vary among different applications. Thus, objects with standardized interfaces seem too brittle a concept to meet the demands of a wide variety of applications. Yet, objects with standardized interfaces is a central idea in domain modeling and software generation. Standard interfaces make objects plug-compatible and interchangeable, and it is this feature that is exploited by generators to synthesize high-performance, domain-specific software systems. Interestingly, generated systems have customized interfaces that can be quite different from the interfaces of their constituent objects. </p><p>In this paper, we reconcile this apparent contradiction by showing that the objects (components) in the GenVoca model of software generation are not typical software modules; their interfaces and bodies mutate upon instantiation to a "standard" that is application-dependent. </p></li><li><a name="oopsla95">Don Batory.</a> <!WA23><a href="ftp://ftp.cs.utexas.edu/pub/predator/oopsla95-panel.ps"><b>Issues in Domain Modeling and Software System Generation</b>.</a> OOPSLA'95 position paper for Panel on Objects and Domain Engineering, 1995. <br></li><li><a name="tr-95-26">Don Batory and Jeff Thomas.</a> <!WA24><a href="ftp://ftp.cs.utexas.edu/pub/predator/tr-95-26.ps.Z"><b>P2: A Lightweight DBMS Generator</b>.</a> Technical Report TR-95-26, Department of Computer Sciences, University of Texas at Austin, June 1995. <p>A lightweight database system (LWDB) is a high-performance, application-specific DBMS. It differs from a general-purpose (heavyweight) DBMS in that it omits one or more features and specializes the implementation of its features to maximize performance. Although heavyweight monolithic and extensible DBMSs might be able to emulate LWDB capabilities, they cannot match LWDB performance. </p>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -