Abstract
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 blueprint for achieving software component technologies in many domains.
- 1 ~BACH, M. J. The Design of the Umx Operati,g System Prentice-Hall, Englewood Cliffs, ~NJ.,1986. Google Scholar
- 2 ~BATORY, D. S. Modehng the storage architectures of commercial database systems. ACM ~Trans. Database Sys. 10, 4 (Dec 1985), 463 528. Google Scholar
- 3 ~BATORY, D.S. Extensible cost models and query optimization m GENESIS. IEEE Database ~Eng. (1987).Google Scholar
- 4 ~BATORY, D.S. Concepts for a database system compiler. ACM PODS, 1988. Google Scholar
- 5 ~BATORY, D. S., BARNETT, J R., GARZA, J. F., SM~Ta, K. P., TSUKUDA, K., TWICHELL, B. C, AND ~WISE, T.E. GENESIS: An extensible database management system IEEE Trans. Softw. ~Eng. (1988), 1711-1730. Google Scholar
- 6 ~BATORY, D. S., BARNETT, J. R., ROY, J., TWICHRLL, B. C., AND GARZA, J. Construction of file ~management systems from software components. COMPSAC, 1989Google Scholar
- 7 ~BATORY, D.S. On the reusability of query optimization algorithms. Inf. Syst. (1989). Google Scholar
- 8 ~BATORY, D.S. The genesis database system compiler: User manual. Umv. of Texas Tech. ~Rep. TR-90-27, 1990. Google Scholar
- 9 ~BATORY, D. S., AND BARNETt, J. R. DATE. The genes~s DBMS software layout editor. In ~Conceptual Modelling, Databases, and CASE, R. Zicari, Ed., McGraw-Hfil, 1991.Google Scholar
- 10 ~BATORY, D.S. A domain modeling methodology. In preparation.Google Scholar
- 11 ~BATORY, D. S., ET AL. The implementation of genesis. In preparationGoogle Scholar
- 12 ~BAXTER, I. Personal communication.Google Scholar
- 13 ~BERNSTEIN, P. A., AND CHIU, D.M. Using semi-joins to solve relational queries. J. ACM. 28, ~i (Jan. 1981). Google Scholar
- 14 ~BERNSTEIN, P. A., ET AL. Query processing in a system for distributed databases (SDD-1). ~ACM Trans. Database Syst. 6, 4 (Dec. 1981). Google Scholar
- 15 ~BERSHAD, g., ANDERSON, T., LAZOWSKA, E., AND LEVY, H. Lightweight remote procedure call. ~In ACM Symposium on Operating Systems Pmnciples (Dec. 1989), 102-113. Google Scholar
- 16 ~BIGGERSTAFF, T. J., AND PERLm, A.J. Software Reusability I: Concepts and Models. ACM ~Press, 1989. Google Scholar
- 17 ~BIGGERS?AFF, T. J., AND PERLIS, A.J. Software Reusability II Apphcat~ons and Experience. ~ACM Press, 1989.Google Scholar
- 18 ~Boocn, G. Software Components with Ada. Benjamin Cummings, 1987. Google Scholar
- 19 ~BOOCH, G. Object-Oriented Design W~th Applzcat~ons. Benjamin Cummings, 1991. Google Scholar
- 20 ~BRITTON, K. H., PARKER, R. A., AND PARNAS, D. L. A procedure for designing abstract ~in~erfaces for device interface modules. In Internatmnal Conference on Software Engineering ~(1981) 195-204. Google Scholar
- 21 ~CARDELLI, L., AND WEGNER, P. On understanding types, data abstraction, and polymor- ~phism. ACM Comput. Surv. 17, 4 (Dec. 1985). Google Scholar
- 22 ~CHAMBERLIN, D. D., ET AL. SEQUEL 2: A unified approach to data definition, manipulation, ~and control. IBM J. Res. Dev. 20, 6 (Nov. 1976).Google Scholar
- 23 ~CHERITON, D.R. VMTP: A transport protocol for the next generation of communications ~systems. In ACM SIGCOM '86 Symposium (Aug. 1987), 406-415. Google Scholar
- 24 ~CLARK, D.D. The structuring of systems using upcalls. In ACM Symposmm on Operating ~Systems Principles (Dec. 1985), 171-180. Google Scholar
- 25 ~DEUTSCH, P.L. Design reuse and frameworks in the smallta}k-80 programming system. In ~Software Reusabtl~ty I: Concepts and Models, ACM Press, 1989. Google Scholar
- 26 ~D~JKSTRA, E.W. The structure of THE multiprogramming system. Commun. ACM 11, 5 ~(May 1968). Google Scholar
- 27 ~GOGUEN, J. Parameterized programming. IEEE Trans. Softw. Eng. SE-IO, 5 (Sept. 1984).Google Scholar
- 28 ~GOLDBERG, A. Smalltalk-80: The Interactive Programming Environment. Addison-Wesley, ~1984. Google Scholar
- 29 ~GRAEFE, G., AND DEWITT, D.J. The EXODUS optimizer generator. ACM SIGMOD, 1987. Google Scholar
- 30 ~GRAVES, H., AND POLAK, W. Common intermediate design language overview. Lockheed Palo ~Alto Res. Lab., Spring 1991.Google Scholar
- 31 ~GOTTAG, J. Abstract data types and the development of data structures. Commun. ACM 20, ~6 (June 1977). Google Scholar
- 32 ~GUTTAG, J., HOROWITZ, E., AND MUSSER, D.R. Abstract data types and software validation. ~Cornmun. ACM 21, 12 (Dec. 1978). Google Scholar
- 33 ~HABERMANN, A. N., FLON, L., AND COOPRIDER, L. Modularization and hierarchy in a family of ~operating systems. Commun. ACM 19, 5 (May 1976). Google Scholar
- 34 ~HABERMANN, A. N., FLON, L., AND COOPRIDER, L. Modularization and hierarchy in a family of ~operating systems. Commun. ACM 19, 5 (May 1976). Google Scholar
- 35 ~HAYES, 1~., MANWEILER, S., AND SCHLICHTING, R.' A simple system for constructing dis- ~tributed, mixed language programs. Softw.--Pract. Exper. (July 1988). Google Scholar
- 36 ~HUTCHINSON, N. C., AND PETERSON, L.L. The x-Kerneh An architecture for implementing ~network protocols. IEEE Trans. Softw. Eng. 17, 1 (Jan. 1991). Google Scholar
- 37 ~JARKE, M., AND KOCH, J. Query optimization in database systems. ACM Comput. Surv. 16, ~2 (June 1984).{ Google Scholar
- 38 ~JOHNSON, R. E., AND FOOTE, B. Designing reusable classes. J. Object-Ortented Program. ~(June/July 1988).Google Scholar
- 39 ~KORTH, H. F., AND SILBERSCHATZ, A. Database System Concepts. McGraw-Hill, 1991. Google Scholar
- 40 ~LINDSAY, B. Private communication, 1989.Google Scholar
- 41 ~LISKOV, B., SNYDBR, A., ATK{NSON, R., AND SCHAFFERT, C. Abstraction mechanisms in CLU. ~Commun. ACM 20, 8 (Aug. 1977). Google Scholar
- 42 ~LOHMAN, G. Grammar-like functional rules for representing query optimization alterna- ~tives, In Proceedings ofACM SIGMOD 1988 (Chicago, June 1988), 18-27. Google Scholar
- 43 ~MASON, T., AND BROWN, D. Unix Programming Tools: Lex & Yacc. O'Reilly and Associates, ~1990. Google Scholar
- 44 ~MOGUL, J. C., AND BORG, A. The effect of context switches on cache performance. In ~Conference on Architecdtural Support for Programming Languages and Operating Systems ~(April 1991), 39-51. Google Scholar
- 45 ~O'MALLEY, S.W. Ph.D. dissertation, Univ. of Arizona, 1990.Google Scholar
- 46 ~O'MALLEY, S.W. Avoca: An environment for programming with protocols. Ph.D. disserta- ~tion, Univ. of Arizona, TR90-31, Aug. 1990. Google Scholar
- 47 ~O'MALLEY, S. W., AND PETERSON, L.L. A new methodology for designing network software. ~Submitted for publication.Google Scholar
- 48 ~O'iVIALLEY, S. W., ABBOTT, M. B., HUTCHINSON, N. C., AND PETERSON, L.L. A transparent ~blast facility. J. Internetworking, 1, 2 (Dec. 1990).Google Scholar
- 49 ~OUSTERHOUT, J. K., CHERENSON, A. R., DOUGLIS, F., NELSON, M. N., AND WELCH, B.g. The ~Sprite network operating system. IEEE Computer, (Feb. 1988). Google Scholar
- 50 ~PARNAS, D, L. On the criteria to be used m decomposing systems into modules. Commun. ~ACM 15, 12 (Dec. 1972). Google Scholar
- 51 ~PARNAS, D.L. Designing software for ease of extension and contraction. IEEE Trans. Softw. ~Eng. (Mar. 1979).Google Scholar
- 52 ~PRIETO-DIAZ, R., AND ARANGO, G., ED. Domatn Analyszs and Software Systems Modeling'. ~IEEE Computer Society Press, 1991. Google Scholar
- 53 ~PURTILO, J. Polylith: An environment to support management of tool interfaces, In Proceed- ~ings of the ACM SIGPLAN Symposium on Language Issues in Programmtng Enwronments ~(July 1985), 12-18. Google Scholar
- 54 ~RoY, J. Design and use of the Jupiter file management system. M.Sc. thesis, Dept. of ~Computer Science, Univ. of Texas, 1991.Google Scholar
- 55 ~RUMBAUGH, J., BLAItA, M., PREMERLANI, W., EDDY, F., AND LORENSEN, W. Object-Oriented ~Modelzng and Design. Prentice Hall 1991. Google Scholar
- 56 ~SOFTWARE ENGINEERING INSTITUTE. Proceedings of the Workshop on Domain-Specific Soft- ~ware Architectures (July 9-12, 1990).Google Scholar
- 57 ~SELINGER, P. G., ET AL. Access path selection in a relational database management system. ~ACM SIGMOD, 1979. Google Scholar
- 58 ~SNODGRASS, R. The Interface Descrtption Language: Defimtion and Use. Computer Science ~Press, Rockville, Md., 1989. Google Scholar
- 59 ~STONEBRAKER, M., WONG, E., KREPS, P., AND HELD, G. The design and implementation of ~INGRES. ACM Trans. Database Syst 1, 3 (Sept 1976) Google Scholar
- 60 ~TANENBAUM, A.S. Computer Networks. Prentice-Hall, 1988. Google Scholar
- 61 ~TENNENHOUSE, D.L. Layered multiplexing considered harmful. In 1st International Work- ~shop on H,gh-Speed Networks (Nov 1989).Google Scholar
- 62 ~TEOREY, T. J., YANG, D., AND FRY, J. P. A logical design methodology for relational ~databases using the extended entity-relationship modeI. ACM Comput. Surv. 18, 2 (June ~1986). Google Scholar
- 63 ~TEOREY, T.J. Database Modeling and Deszgn: The Entity-Relationship Approach. Morgan- ~aufmann, 1990 Google Scholar
- 64 ~TSICHmTZIS, D., AND KLUG, A., EDS. The ANSI/X3/SPARC DBMS Framework. AFIPS ~Press, 1978.Google Scholar
- 65 ~WADLER, P., AND BLOTT, S. How to make ad-hoc polymorphism less ad hoc. ACM POPL, ~1989. Google Scholar
- 66 ~WON% E., AND YOUSEFFI, K. Decomposition--A strategy for query processing. ACM Trans. ~Database Syst. 1, 3 (Sept. 1976). Google Scholar
- 67 ~Yu, C. T., OZSOYOGLU, Z. M., AND LAM, K. Optimization of tree queries. J. Comput. Syst. Scz. ~29, 3 (Dec. 1984). Google Scholar
- 68 ~ZANIOLO, C. The Database Language GEM. ACM SIGMOD, 1983 Google Scholar
- 69 ~ZIMMERMANN, H. OSI Reference Model--The ISO model of architecture for open systems ~interconnection. IEEE Trans. Commun. 28, 4 (April 1980).Google Scholar
Index Terms
- The design and implementation of hierarchical software systems with reusable components
Recommendations
A Software Engineering Environment for Configuring Distributed Applications from Reusable Software Architectures
STEP '97: Proceedings of the 8th International Workshop on Software Technology and Engineering Practice (STEP '97) (including CASE '97)In this paper a reuse-oriented perspective is taken to designing and implementing configurable distributed applications. An application domain is defined as a family of systems that have some features in common and others that differentiate them. During ...
Reusable software components framework
ECS'10/ECCTD'10/ECCOM'10/ECCS'10: Proceedings of the European conference of systems, and European conference of circuits technology and devices, and European conference of communications, and European conference on Computer scienceThe concept of reusability is widely used, in order to reduce cost, effort, and time of software development. Reusability also increases the productivity, maintainability, portability, and reliability of the software products, which it has been ...
Designing Reusable Mission Operations Center Software Components: The Dependency Inversion Principle Applied to Satellite Command and Control
SMC-IT '14: Proceedings of the 2014 IEEE International Conference on Space Mission Challenges for Information TechnologyThe Johns Hopkins University Applied Physics Laboratory (JHU/APL) Ground Applications Group (SIG) develops Mission Operations Center software systems for all satellite missions supported by the JHU/APL Space Department. For efficiency, SIG designs these ...
Comments