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 / wisr6 / proceedings / ascii / wallnau.ascii < prev    next >
Text File  |  1993-10-19  |  24KB  |  494 lines

  1.  
  2.  
  3.  
  4.  
  5.      Incremental  Adoption  of  Software  Architecture  Technology  for
  6.  
  7.  
  8.                                               Reuse  in  the  DoD
  9.  
  10.  
  11.  
  12.                                                    Kurt C. Wallnau
  13.  
  14.  
  15.  
  16.                                               Paramax Systems Corp.
  17.  
  18.                                               1401 Country Club Road
  19.  
  20.                                                  Fairmont, WV 26554
  21.  
  22.                                                   Tel:  (304) 363-1857
  23.  
  24.                                             Email:  wallnau@cards.com
  25.  
  26.  
  27.  
  28.                                                          Abstract
  29.  
  30.  
  31.            Technologically sound and scaleable results of research intosoftware architectures and their
  32.        representations are beginning to emerge.  However, the adoption of these results to support
  33.        a global DoD reuse strategy is complicated by the business and organizational complexity of
  34.        the DoD. Architecture-based reuse technology adoption must occur independently within nu-
  35.        merous semi-autonomous product development centers in the DoD and within DoD contractor
  36.        organizations. This adoption must support a gradual convergence to a common architecture rep-
  37.        resentation technology from widely divergent starting points. This paper describes the use of a
  38.        library of shared software architecture ontologies to support: local architecture representation
  39.        technology autonomy; evolutionary adoption of common architecture representation technolo-
  40.        gies;  and evolutionary development of representation-independent domain architectures from
  41.        product-line architectures.
  42.  
  43.  
  44.        Keywords:  Software reuse; software architectures; architecture description languages; shared
  45.        ontologies.
  46.  
  47.  
  48.        Workshop Goals:  Learn and share ideas about:  design-level reuse; the impact of reusable
  49.        design representation on DoD reuse and software procurement policies;and technology implica-
  50.        tions of organizational complexity on design reuse.
  51.  
  52.  
  53.        Working Groups: Reuse management,organization and economics; Domain analysis/engineering;
  54.        Design-level, model-oriented reuse.
  55.  
  56.  
  57.  
  58. ___________________________________________________
  59.      The views expressed in this position paper are those of the author and do not necessarily reflect the views of
  60. Paramax, the CARDS program, or its government spon ors.
  61.  
  62.  
  63.                                                         Wallnau- 1
  64.  
  65.  
  66. 1      Background
  67.  
  68.  
  69.  
  70. The need for a disciplined, principled approach to software architectures is as crucial to the DoD
  71. Software Reuse Vision and Strategy[1] as the study of software architectures is broad and multi-
  72. disciplined.  This  need,  when  coupled  with  the  continual  advances  in  a  newly-emerging  field  of
  73. software architectonics1, requires programs such as CARDS to play an active role in accelerating
  74. technology  transfer  of  DoD-sponsored  architectonics  research  efforts  (such  as  the  ARPA/DSSA
  75. program) into practice.
  76.  
  77.  
  78. The Central Archive for Reusable Defense Software (CARDS) is a DoD-sponsored program char-
  79. tered to transition into practice the technology, processes and business practices necessary to in-
  80. stitutionalize domain-specific, architecture-based, library-assisted software reuse [2 ]. The concepts
  81. and implementation of the CARDS Command Center Library reflects this accelerated technology
  82. transition. The explicit representation of software architectures as the principle organizing frame-
  83. work  within  the  Command  Center  Library,  and  the  tools  which  manipulate  these architecture
  84. models[3 ], represents the link between the theory and practice of architectonics.
  85.  
  86.  
  87.  
  88. 2      Position
  89.  
  90.  
  91.  
  92. CARDS has had some success in representing software architectures in a reuse library framework.
  93. However, to achieve our desired technology transfer objectives and to meet our customer's needs
  94. we must first understand the nature of the organizations we are dealing with.  We recognize two
  95. distinct  organizational  dimensions  which  must b e  addressed  if  we  are  to  achieve  (and, possibly,
  96. sustain) domain-specific reuse in the DoD. Both dimensions (illustrated in Figure1) must evolve
  97. in cooperation to achieve an evolution from distributed,autonomous product centers to a planned,
  98. managed and systematic domain-specific reuse capability of DoD magnitude.
  99.  
  100.  
  101. To support this evolution two different kinds of software architecture representations are needed_
  102. one which captures detailed, technology- and representation-dep endent designs (i.e., pro duct-line
  103. architectures), and one which provides information-rich but technology-neutral correlations among
  104. product-line architectures (i.e., domain architectures). Current research is already addressing the
  105. former; CARDS is developing an ontology-based representation scheme to address the latter.
  106.  
  107.  
  108. Section 2.1 elaborates Figure 1 and discusses the architecture representation requirements of product-
  109. line and domain organizations.  Section 2.2 describ esan ontological approach supporting the do-
  110. main perspective. This represents new and unique work as product-line architecture representation
  111. technology is already being addressed by current research.
  112.  
  113.  
  114.  
  115. 2.1     Architectures for two Organizational Perspectives: Into the Thickets
  116.  
  117.  
  118.  
  119. Architecture Representation for the Product-Line Organizations
  120.  
  121.  
  122.  
  123. The product-line organizations exist today, and support specific DoD missions within specific ap-
  124. plication areas (for example, multiple product centers for Command and Control applications exist
  125. in the DoD). Each such organization mayop erate, maintain, evolve and procure new systems as
  126. ___________________________________________________1
  127.      Architectonics: the study of architectures.
  128.  
  129.  
  130.  
  131.                                                         Wallnau- 2
  132.  
  133.  
  134.  
  135.  
  136.  
  137.                        Figure1:  Product Line and Domain Organization Persp ectives
  138.  
  139.  
  140.  
  141. part of the normal incremental evolution and accretion of DoD software systems.  It is important
  142. to note that there are literally hundreds of product-line organiation within the DoD.
  143.  
  144.  
  145. Organizational and technological diversity characterize the various product centers.  Detailed ex-
  146. pertise relative to specific products and customers has been developed within each product center.
  147. Lacking  a  shared  domain  model,  the  terminology,  concepts  and  approaches  used  by  these  orga-
  148. nizations varies tremendously.  Thus, independent of development environment technology (which
  149. includes the use of software architecture representation technology) there is a high-degree of concep-
  150. tual impedance mismatch among various product centers' p erceptions of the application domain.
  151.  
  152.  
  153. To complicate matters further there isalso great variety in the DoD contractors which are used to
  154. support product-line maintenance and development, the roles they play in the product-line, and
  155. the  technology  and  processes  they  use  internally  (even  within  the  scope  of  DoD-STD-2167a)  to
  156. accomplish their objectives. This both reflects and induces a large measure of technology diversity
  157. among the product centers. For example, developmentenvironment tooling may be strongly influ-
  158. enced by the preferences and use of commercially-available and proprietary software development
  159. tools and processes by contractors.
  160.  
  161.  
  162. The need to support product-center diversity in technology and procurement is reflected in recent
  163. descriptions of the role of software architectures in the DoD software procurement process[4]2 . To
  164. support this diversity, any one of a number of commercial (and research)-off-the-shelf architecture
  165. description languages (ADLs) and toolsets might be used_the author certainly claims no sp ecial
  166. expertise in making recommendations about which ADL to use.
  167. ___________________________________________________2
  168.      Actually, Saunders does not explicitly tie the concepts in his paper to product centers rather than domain centers.
  169. However, applying the concepts discussedin his paper in the current DoD organizational context_one which does
  170. not have a strong domain management function_will result in product-line diversity as indicated in this paper.
  171.  
  172.  
  173.  
  174.                                                         Wallnau- 3
  175.  
  176.  
  177. Architecture Representation for the Domain Organization
  178.  
  179.  
  180.  
  181. Given  the  diversity  of  product-line  specific  terminology,  application  concepts,  development and
  182. target-environment capabilities and approaches to software architectures, how will it be possible to
  183. evolve a coherent domain architecture?
  184.  
  185.  
  186. The domain organization, which does not currently exist (although plans for developing domain
  187. centers  do  exist)  will  not  have  the  luxury  of  defining,  from  "scratch,"  all-encompassing  domain
  188. architectures_i.e., generalizations and unifications of the multiple pro duct-line architectures.  In-
  189. stead, domain-specific architectures will have to evolve to accommodate the various product-line
  190. architectures because: all of the DoD's software can not be re-written at once; new systems (based
  191. on domain architectures) will need to interoperate with existing systems (based on product-line
  192. architectures), and; applications will continue to be procured on an application-by-application ba-
  193. sis  for  the  forseeable  future  (irrespective  of  the  acclaimed  role  of  domain  analysis  in  achieving
  194. domain-specific reuse).
  195.  
  196.  
  197. One approach is to develop detailed,domain-specific technical reference models. Reference models,
  198. such as described in [5], can provide a wealth of information about interface standards,conventions,
  199. assumptions, and usage models for applications; they can be used to support the procurement of
  200. systems (or parts of systems) which adhere to some explicit implementation characteristics. In fact,
  201. the CARDS-defined component qualification process makes use of a technical reference model (of
  202. command center functional components) to evaluate the "form,  fit andfunction" of components
  203. relative to domain-specific conventionsand requirements.
  204.  
  205.  
  206. However,  technical reference mo dels, though useful,  are no substitute for software architectures.
  207. Architectures describe specific characteristics of systems3, including: component interconnections,
  208. data and control flow, throughput, timing and scheduling, fault-tolerance and security (to name a
  209. very few). Which characteristics are described, the form in which they are described, and the level
  210. of detail associated with their descriptions will vary acrossapplication areas (embedded avionics
  211. will differ from information management), product centers andsystems within product centers.
  212.  
  213.  
  214. There are several possible approaches to managing product-line develop ed architectures within a
  215. domain organization.  First, the domain organization could acquire the union of ADL  processors
  216. and maintain the product line architectures independently_this is a useless option.  Second, the
  217. organization could invent or adopt a general, all-encompassing "doomsday" ADL, one which could
  218. adequately express all of the characteristics described by all of the ADLs in use across all of the
  219. DoD domains_don't hold your breath.  Third,should no viable approach to managing architecture-
  220. representation  diversity  emerge, the  domain  management  organization  could fo cus  primarily  on
  221. technical reference models; however, this would represent a setback for domain specific reuse within
  222. the DoD.
  223.  
  224.  
  225. None of the above options are palatable. The next section describes a more practical and flexible
  226. approach.
  227.  
  228.  
  229.  
  230. 2.2     An Ontological Approach to ADL Adoption: Out of the Woods
  231.  
  232.  
  233.  
  234. Rather than wait for the doomsday ADL, a more flexible approach is to describe, in a formal model,
  235. specific characteristics of software architectures and then map product-line software architectures
  236. ___________________________________________________3
  237.      It should be noted that some reference models masquerade as software architectures, while some software archi-
  238. tectures masquerade as reference models: both disguises can introduce serious problems.
  239.  
  240.  
  241.                                                         Wallnau- 4
  242.  
  243.  
  244.  
  245.  
  246.  
  247.                       Figure 2: Ontology Fragment in Term Classifier Representation
  248.  
  249.  
  250.  
  251. into this formal model.  This formal model would describe the elements and relationships of the
  252. concepts  which  underly  the  representation  of software  architectures_not  the  details  of  specific
  253. system architectures.
  254.  
  255.  
  256. Describing such a formal model as a meta-model for software architectures would be accurate but
  257. not sufficiently descriptive. This meta-model would model a theory of software architectures, facili-
  258. tate sharing and exchange (i.e., reuse) of design knowledge (i.e., software architectures and designs)
  259. across different technology bases (i.e.,product center design tools) and different product lines. Such
  260. a meta-model would in fact be an ontology4 of (characteristics of) software architectures[6].
  261.  
  262.  
  263. A reuse library which defined, and was organized around, one or more ontologies5 could provide
  264. numerous encyclopedic reuse services:
  265.  
  266.  
  267.  
  268.     fflmodel and relate idiomatic architecture patterns such as those identified by Shaw and Garlan[7 ],
  269.        and model (in the same formalism) actual systems as refinements/specializations of these id-
  270.        ioms to support analysis of single systems and comparison of multiple systems.
  271.  
  272.  
  273.     fflmodel the abstractions and semantics of specific architecture/design representation systems
  274.        so that tool-specific semantics can, at least in a limited form, be normalized with respect to
  275.        explicitly-defined, shared principles.
  276.  
  277.  
  278.     fflrelate, through formal term classification, various idiosyncratic vocabularies used to describe
  279.        common domain "concepts."
  280. ___________________________________________________4
  281.      Ontology: a particular theory about the nature of being or the kinds of existents. (Webster's Ninth New Collegiate
  282. Dictionary. More thorough definitions may be found in AI literature.)
  283.    5 For pragmatic issues related to the design of good ontologiesit may be more convenient to define several small
  284.  
  285. intersecting ontologies than to define one large ontology.
  286.  
  287.  
  288.  
  289.                                                         Wallnau- 5
  290.  
  291.  
  292. Such a reuse library might appear to be overly-visionary, but in fact such libraries are within reach.
  293. The reuse library framework employed by the CARDS  program_ RLF[8 ]_makes use of a term
  294. classification knowledge-representation formalismderived from KL-ONE[9 ].  As such,  the system
  295. provides  a  limited  but  useful  (certainly  for  the  near-term)  capability  for  describing  architecture
  296. ontologies. A  trivial fragment of an ontology for software architectures6 which might appear in a
  297. CARDS library is provided in Figure 2. The reader should be able to see how some of the archi-
  298. tectural idioms described by Shaw, such as pipes and filters, can be represented as specializations
  299. of components, connections and interactions.
  300.  
  301.  
  302.  
  303. 2.3     Summary:  What's Real and What's Next
  304.  
  305.  
  306.  
  307. The CARDS program has develop edan architecture-based reuse library for Command Centers. The
  308. library makes use of a formally-encoded generic command center architecture (GCCA), encoded
  309. in a knowledge-representation scheme derived from KL-ONE. The encoded software architecture
  310. supports two automated reuse assistants. One, the system composer, uses the encoded GCCA to
  311. guide library users through an interactive architecture refinement process to compose portions of
  312. the GCCA (related to message processing); over twenty compositions are possible, with several of
  313. these resulting in executable load images. A second tool, the component qualifier, uses the encoded
  314. GCCA to guide library administrators in an architecture-tailored component qualification7 process.
  315.  
  316.  
  317. The CARDS program does not currently employ an architecture ontology.  That is, we encoded
  318. the  GCCA through  the  use  of  informal  modeling  conventions.  As  a  result,  although  we  have
  319. developed impressive demonstration capabilities for model-based reuse libraries, these capabilities
  320. are  somewhat  sensitive  to  the  particular  form  of  the architecture  as  represented  in  the  library
  321. model.  CARDS is undertaking a kind of domain analysis (using Simos' Organizational Domain
  322. Modeling approach[10 ]) on the field of software architectures.  Ourintention is to develop a "starter
  323. ontology" as a result of this work that will allow us to generalize the composition and qualification
  324. tools, make more systematic the development of CARDS reuse libraries by CARDS franchisees,
  325. and provide a basis for evolving the domain perspective illustrated in Figure 1.  As the space of
  326. possible of design notations is immense[11 ] the scope of the CARDS efforts willb e definedrelative
  327. to a limited number of reuse services provided by CARDS libraries; the more general discipline of
  328. "ontological architectonics" will need to be elaborated elsewhere.
  329.  
  330.  
  331.  
  332. 3      Comparison
  333.  
  334.  
  335.  
  336. 3.1     ARPA Domain Specific Software Architectures (DSSA)
  337.  
  338.  
  339.  
  340. A number of concepts being explored by the DSSA program are consistent with (and in some cases
  341. provided the basis for) CARDS concepts.  The notion of a domain-sp ecific reference architecture
  342. and tool support for the refinement of this architecture to support specific application needs is a
  343. direct analogue to the CARDS GCCA encoding and system composer. The notion of distinguishing
  344. between domain engineering and application engineering functions is also shared between DSSA
  345. and CARDS. The system composition capabilities[12 ] and type expression formalisms[13 ] of the
  346. ___________________________________________________6
  347.      The example illustrates only a fragment of an ontology; it is not clear that this is even an "interesting" ontology.
  348.    7 We use the term "qualification" to avoid confusion with more widely known (but not b etter understoo d!) term,
  349.  
  350. "certification."
  351.  
  352.  
  353.  
  354.                                                         Wallnau- 6
  355.  
  356.  
  357. DSSA/ADAGE system  have  many  concepts  related  to  the  CARDS composition  and  modeling
  358. formalism; however, more detailed description defies brief summary.
  359.  
  360.  
  361. There  are  some  interesting  differences  as  well.   First, DSSA  is  chartered  to  undertake  domain
  362. analysis  and  architecture  definition  efforts  in  several  domains.   CARDS,  on  the  other  hand, is
  363. not chartered to undertake domain analysis efforts,  but must instead seek out partnerships with
  364. product centers in the DoD (a.k.a. franchises) and encourage and supp ort them in domain analysis,
  365. architecture recovery,  and/or architecture definition.  Second, DSSA is in the process of defining
  366. a consensus ADL. CARDS, as already mentioned, is more interested in capturing and modeling
  367. the principles which underlie whatever ADL(s) DSSA converges upon.  Last, DSSA is addressing
  368. a broad array of system and software development issues, while the CARDS technology effort is
  369. more narrowly focused on supporting architecture-based, library-assistedsoftware reuse.
  370.  
  371.  
  372.  
  373. 3.2     NASA/KAPTUR
  374.  
  375.  
  376.  
  377. The notion of case-based reuse supported by KAPTUR represents asimilar view of incrementally
  378. evolving  a  domain  knowledge  base  from  a  series  of  specific  application  instances,  as  illustrated
  379. in  Figure  1.   The  KAPTUR system  also  provides  a  number  of  distinct  architectural  views  of
  380. systems_this is a capability which is currently under development for CARDS libraries (in fact,the
  381. integration of KAPTUR or some of its subsystems with RLF is being investigated by the STARS
  382. program to provide the Army demonstration project technologysupp ort forODM[10 ]).
  383.  
  384.  
  385. The fundamental differences between KAPTUR and theCARDS effort_and these differences may
  386. narrow as RLF/KAPTUR integrationis explored and implemented, concerns the use of the library
  387. toolset to support interactive architecture refinement and system composition.  In KAPTUR the
  388. purpose of maintaining architecture cases is to support the cognitive aspects of selecting among
  389. design alternatives; in CARDS one purpose of encoding the GCCAwas to support library-assisted
  390. (i.e., semi-automated) composition of systems.
  391.  
  392.  
  393.  
  394. 3.3     ARPA Knowledge Sharing Initiative (KSI)
  395.  
  396.  
  397.  
  398. The  Knowledge  Sharing  Initiative  is  exploring the  use  of  ontologies  to  specify  content-specific
  399. specifications  shared  among  autonomous  reasoning  agents.  The  goal  is  to  "enable  libraries  of
  400. reusable components and knowledge-based services that can be invoked over networks[6]."  This
  401. effort is clearly relevant to the development of software architecture ontologies in support of the
  402. correlation  and  exchange  of  design  information  developed  by  semi-autonomous  product  centers
  403. (again, refer to Figure 1).
  404.  
  405.  
  406. One  significant  difference  in  approach  is  that  KSI  ontology  specifications represent  multi-lateral
  407. knowledge sharing agreements among reasoning agents; in CARDS, the ontology is uni-lateral and
  408. is intended (at least in the near-term) to support systematic description efforts to support library
  409. assisted reuse.  That is, the ontology is not intended to supp ort indep endently-developed library
  410. assistance tooling.
  411.  
  412.  
  413.  
  414. References
  415.  
  416.  
  417.  
  418.   [1] DoD, "DoD Software Reuse Vision and Strategy," Tech. Rep. DISA 1222-04-210/40, Depart-
  419.  
  420.  
  421.  
  422.                                                         Wallnau- 7
  423.  
  424.  
  425.       ment of Defense, 1992.
  426.  
  427.  
  428.   [2] K. Wallnau,  "Cards overview,"  CROSSTalk, The  Journal  of  Defense  Software  Engineering,
  429.       no. 32, 1992.
  430.  
  431.  
  432.   [3] K.  Wallnau, "Towards  and  Extended  View  of  Reuse  Libraries,"  in  Proceedings  of  the  5th
  433.       International Workshop on Software Reuse, 1992.
  434.  
  435.  
  436.   [4] T. Saunders, B. Horowitz, and M. Mleziva, "ANew Process for Acquiring Software Architec-
  437.       ture," Tech. Rep. M 92B0000126, MITRE, 1992.
  438.  
  439.  
  440.   [5] NIST, "Reference Model for Frameworks of Software Engineering Environments," Tech. Rep.
  441.       NIST Special Publication 500-201, ECMA TR/55, 2nd Edition, ECMA, 1991.
  442.  
  443.  
  444.   [6] T. Gruber, "Toward principles for thedesign of ontologies used in knowledge sharing," Tech.
  445.       Rep. Unpublished Technical Report, StanfordKnowledge Systems Laboratory, 1993.
  446.  
  447.  
  448.   [7] D. G. M. Shaw, "An Introduction toSoftware Architecture," Advances in Software Engineering
  449.       and Knowledge Engineering, vol. 1, 1993.
  450.  
  451.  
  452.   [8] K. W. J.J. Solderitsch, J.Thalhamer, "Construction of Domain-Specific ReuseLibraries,"  in
  453.       Proceedings of Seventh Annual National Conference on Ada Technology, 1988.
  454.  
  455.  
  456.   [9] J.  S.  R.J.  Brachman, "An  Overview  of  the  KL-ONE Knowledge  Representation  System,"
  457.       Cognitive Science, vol. 9, no. 2,pp. 171-216, 1985.
  458.  
  459.  
  460. [10]  M. Simos, "An Introduction to Organizational Domain Modelling: A Domain Analysis process
  461.       Model," in Proceedings of the International Workshop on Software Reuse, Pisa, Italy, 1993.
  462.  
  463.  
  464. [11]  D.  Webster, "Mapping  the  Design  Information  Representation  Terrain," IEEE  Computer,
  465.       December 1986.
  466.  
  467.  
  468. [12]  D. Batory, "APro cess andRetrosp ection on Creating a Domain Model for Avionic Software,"
  469.       Tech. Rep. ADAGE-UT-93-04, Department of Computer Science, University of Texas, Austin,
  470.       1993.
  471.  
  472.  
  473. [13]  D. Batory, "le: A Type Expression Language," Tech. Rep. ADAGE-UT-93-02, Department of
  474.       Computer Science, University of Texas, Austin, 1993.
  475.  
  476.  
  477.  
  478. 4      Biography
  479.  
  480.  
  481.  
  482. Kurt C. Wallnau is a research scientist for Paramax Systems Corporation. He currently is system
  483. architect for the CARDS program, an Air Force program in domain-specific reuse.  Prior to the
  484. CARDS program, Mr. Wallnauwas a member of the technical staff at the Software Engineering In-
  485. stitute, where he performed research in the area of software development environments, specifically
  486. in the area of environment integration. Before that, Mr.  Wallnau was chief programmer of various
  487. STARS tasks, including interface standards and user interface systems.  Mr.  Wallnau was one of
  488. the principal designers and developers of the RLF, a knowledge-based reuse library framework, also
  489. developed by the STARS program.
  490.  
  491.  
  492.  
  493.                                                         Wallnau- 8
  494.