home *** CD-ROM | disk | FTP | other *** search
/ ftp.umcs.maine.edu / 2015-02-07.ftp.umcs.maine.edu.tar / ftp.umcs.maine.edu / pub / WISR / wisr5 / proceedings / ascii / scacchi.ascii < prev    next >
Text File  |  1993-06-02  |  8KB  |  140 lines

  1.  
  2. Process-Driven Environments as Reusable Application Development Frameworks 
  3.  
  4. Walt Scacchi 
  5.  
  6. Decision Systems Dept. 
  7. School of Business Admininstration 
  8. University of Southern California 
  9. Los Angeles, CA 90089-1421 
  10. (213) 740-4782 (213) 740-8494 (fax) 
  11. email: scacchi@pollux.usc.edu 
  12.  
  13.    
  14.                            Abstract
  15.   
  16. For the past few years, we at the USC System Factory Project have been 
  17. developing a process-driven knowledge-based environment for modeling, 
  18. analyzing, simulating, and enacting software development processes.  In this 
  19. position paper, I describe some highlights, concepts, and opinions regarding 
  20. our approach to constructing a variety of domain-specific development
  21. environments and applications.
  22.  
  23. Keywords:  process reuse, reuse process models, process-driven tools and 
  24.        environments, domain-specific application frameworks
  25.  
  26. Workshop Goals:  Learning; networking; advance state of process-driven 
  27.          environment frameworks as a reuse strategy
  28.  
  29. Working Groups:  reuse process models, reuse environments.
  30.  
  31.  
  32. 1  Background 
  33.  
  34. For the past few years, we at the USC System Factory Project have been 
  35. developing a process-centered knowledge-based environment for modeling, 
  36. analyzing, simulating, and enacting software development processes.  This 
  37. environment has been employed to both synthetic and real industrial software 
  38. processes for developing large software applications. This environment serves 
  39. as a framework that provides object-oriented interfaces for data, control 
  40. (tool), and process integration through a graphic user interface.
  41.  
  42.  
  43. 2  Position 
  44.  
  45. Software development frameworks, both in commercial form (e.g., HP Softbench, 
  46. Atherton Software Backplane (CIS), SUN ToolTalk, DEC Cohesion) and in advanced 
  47. research form, are becoming increasingly recognized as a viable reusable 
  48. solution to the problem of constructing software engineering environments or 
  49. domain-specific applications. These frameworks provide a skeletal solution for 
  50. how to integrate new/existing tools or utilities as reusable environment 
  51. building blocks. Also, there is quite a bit of variation in the coverage and 
  52. facilities that the framework provides, as well as the level of effort required
  53. to use the framework in environment construction.
  54.  
  55. In our view, framework-based approaches have the potential to be extended in 
  56. ways that can enable the semi-automated generation of engineering environments 
  57. or domain-specific applications through the composition and integration of 
  58. large - or very large - grain software components for an interesting variety of 
  59. industrial application domains.  We refer to this approach as "environment 
  60. generation" using a "meta-environment."
  61.  
  62. We have developed  employed a declarative specification for describing how 
  63. different component tools are bound to different developer tasks, roles, and 
  64. product elements.  The specification notation establishes the relationships 
  65. among the different components. Both the product elements and tool components 
  66. must be previously encapsulated in an object-oriented format (although not 
  67. necessarily implemented in an object-oriented way) that is common to the 
  68. integration scheme employed in the framework. Component tools which make the 
  69. fewest assumptions about their run-time environment are the easiest to 
  70. encapuslate, while those which come embedded within closed systems are the most
  71. difficult to accomodate.  As such, we can either prototype or compose a 
  72. domain-specific environment in a manner somewhat analogous to the use of an 
  73. application generator.  In this way, the specification notation serves as the 
  74. input to the environment generator, which then constructs the necessary 
  75. bindings to interconnect inter-component data and control flow. Thus, we use a 
  76. domain-independent environment generator to construct a domain-specific 
  77. development environment.
  78.  
  79. What makes the resulting development environment domain-specific is the 
  80. specification of the different components that are specific to the application 
  81. domain. In this way, if our development goal is to prototype and then construct,
  82. for example, a concurrent engineering environment for electronic design 
  83. automation, then we could proceed as follows: First, we must identify the tasks,
  84. agents, provided and required product elements, and development tools (in this 
  85. situation, EDA tools such as schematic layout editors, netlist database, and a 
  86. VHDL silicon compiler) then specify their relations (e.g., task decomposition, 
  87. sub-task precedences, tool to sub-task bindings) using the input notation. 
  88. Since the specification notation conforms to the environment meta-model, and 
  89. each encapuslated component conforms to the semantics (class definitions and 
  90. inheritance relations) of the meta-model, then any well-formed environment 
  91. specification will lead to the instantiation of an application-specific 
  92. environment that conforms to the specification. This means we can first 
  93. prototype the concurrent engineering environment for EDA, using only component 
  94. place-holders, in order to assess the viability of different user-environment 
  95. interaction scenarios.  Then, when the encapsulated components become 
  96. available, they can be bound into an environment instance by re-evaluating 
  97. the specification.
  98.  
  99. In the course of engineering and refining our approach to the semi-automated 
  100. construction of domain-specific environments, we have built a handful of 
  101. application environments for domains such as medical clinic information 
  102. systems, CAD-CAM, computer music composition, payroll and personel, as well as 
  103. a number of software engineering environments. Most of these experiments were 
  104. just that, meaning the resulting environments we throw-aways,  although is 
  105. most cases the volume of source code composed into the target environment was 
  106. well over a 100K LOC.  Using the current meta-environment, together with a set 
  107. of pre-encapsulated components, putting an operational domain-specific 
  108. environment primarily boils down to the effort to construct the specification 
  109. of the target environment and its domain-specific tasks, product elements, 
  110. agents, and tools, as well as the relations between. While this is a dramatic 
  111. simplification of the effort required, it does in our view demonstrate the 
  112. basic viability of this approach to the reuse of process-driven environment 
  113. frameworks as the basis for rapidly constructing domain-specific development 
  114. environments and applications. 
  115.  
  116.  
  117. 3  Biography 
  118.  
  119. Walt Scacchi received a B.A. in Mathematics, a B.S. in Computer Science in 1974
  120. at California State University, Fullerton, and a Ph.D. in Information and 
  121. Computer Science at University of California, Irvine in 1981. He is currently 
  122. an associate research professor in the Decision Systems Dept. at USC.  Since 
  123. joining the faculty at USC in 1981, he created and continues to direct the USC 
  124. System Factory Project.  This was the first software factory research project 
  125. in a U.S. university. Dr. Scacchi's research interests include very large scale
  126. software production,  knowledge-based systems for modeling and simulating 
  127. organizational processes and operations, CASE technologies for developing large
  128. heterogeneous information systems, hypertext/media environments for everything,
  129. software technology transfer and transition, and organizational analysis of 
  130. system development projects. Dr. Scacchi is a member of ACM, IEEE, AAAI, 
  131. Computing Professionals for Social Responsibility (CPSR), and Society for the 
  132. History of Technology (SHOT).  He is an active researcher with more than 70 
  133. research publications, and numerous consulting and visiting scientist postions 
  134. with firms including AT&T Bell Laboratories, Microelectronics and Computer 
  135. Technology Corporation (MCC), Software Engineering Institute at Carnegie-Mellon
  136. University, SUN Microsystems, Perceptronics, and Hewlett-Packard.  Otherwise, 
  137. he also attended the previous software reuse workshop in 1991, and his other 
  138. interests in the practice of software reuse are described in his position paper
  139. for that workshop.
  140.