RSRG: ComponentsA small sample of up-to-date components is available for public consumption. If you're trying to get an idea of what Resolve-style code looks like, this is the place to look for the Resolve/C++ components that we currently use in both research and instructional activities. They are the most "up-to-date" components, reflecting our current thinking about how the Resolve discipline can be observed and encoded in C++.
In "Checkmate: Cornering C++ Dynamic Memory Errors With Checked Pointers", Proceedings of the Thirty-First SIGCSE Technical Symposium on Computer Science Education, ACM Press, March 2000 (PDF; 27K), we introduced a simple and inexpensive way to develop C++ programs involving pointers that is safer than using normal C++ pointers. A technical addendum explains the major design decisions involved in developing the "checked pointers" idea, which were beyond the scope of the published paper because of page limitations, and contains links to the free code components we provided at the time. Subsequently, a much improved and more sophisticated version of the above ideas has been developed by Steve Edwards at Virginia Tech. Contact him for details and code.
Another larger but older sample of components is also available. If you're trying to get an idea of what Resolve-style code looked like as of 1995, this is the place to look for Resolve/Ada and Resolve/C++ implementations of Resolve specifications. Some components here are special ones that are used to create a seamless (as possible) interface between ordinary Ada or C++ and Resolve/Ada or Resolve/C++. But most components are regular Resolve/Ada or Resolve/C++ components. Over time, we expect to add (to the current component catalog) components with the functionality and performance of some of these older ones.
For each Resolve/Ada component, there is at least one applicable Resolve conceptual module (.rcm file), and generally one or more Ada implementations (.ads and .adb files). There is also a Test subdirectory for each Resolve/Ada component that contains a test driver main program, a sample input test script, and the test driver's expected output for that input script.
The current RSRG work has roots in various previous research projects of the faculty involved. One of these projects was an early tool for describing what has since become popularly known as "software architecture": MacSTILE. Originally a commercial product that we put into the public domain with the release of the MacSTILE 1.3.1 Distribution, MacSTILE exhibits a number of interesting features involving reusability of components that still have not appeared in other software system design tools. Although written two decades ago, amazingly the code still runs on Macintoshes (in "classic" mode); but a clumsy user interface designed for a 9" black-and-white monitor belies its age and the inherent limitations of the interactive computing environment of the mid-1980s.