1000-9825/2002/13(02)0311-06 2002 Journal of Software Vol13, No2, (, 100080) E-mail: jia_yu@263net guyq@sinosoftgroupcom http://wwwiscasaccn :,,,,,,, : Z : TP311 : A [1],, (component-based development, CBD) [2~4],,, [4],,,,CORBA [5],, CBD,,,,,,,,,, (feature) [6,7], (feature space), (description logics, DLs) [8,9], (ain) (definition) (context) 3, Z [10] 1 CBD,,3C [11],, 11 ( Component ),, [ SEMANTICIZER, INTERFACE, IMPLEMENTATION ] Component == SEMANTICIZER INTERFACE IMPLEMENTATION,SEMANTICIZER:, INTERFACE:, : 2000-10-09 : 2001-07-30 : (1966 ),,,,, (1940 ),,,,,
312 Journal of Software 2002,13(2) IMPLEMENTATION:,,,,,, CORBA, 12 (, Semanticizer), 3 [ Ω def, Ω, Ω con Semanticizer == Ω ] def Ω, :, Ω :, Ω con :, d 2 c,,, 3, 1 UML Developing environment & tools Programming languages Implementation Semanticizer Ω com Interface Communication protocol Interface specification Concept model Instance model Definition space Feature tree for component Source code, executable binary, Domain space 1 1 1 Feature net for ain-specific knowledge Context space Feature constrain set for compositive env Interface description code in CORBA, DCOM or EJB IDL,,,,,,,,,,,, CORBA COM EJB IDL,, Fig 1 The semantics-oriented component model 1 2 21 [7], -, 21( Feature),,, - [IDENTIFIER, DESCRIPTION] Feature id : IDENTIFIER def : DEFINITION interpretation : IDENTIFIER DESCRIPTIO N id 1, id 2 : IDENTIFIER interpretation ( id1) = interpretation ( id 2 ) id = id 1 2
: 313,IDENTIFIER,DESCRIPTION, interpretation, DEFINITION DLs, : [ META,CONSTRUCT ] DEFINITION :: = META dl << META DEFINITON CONSTRUCT >>,META,,CONSTRUCT DLs META DEFINITION CONSTRUCT DLs, dl DLs DLs [8],,,,, : FeatureValue [ id : IDENTIFIER val : META 1 x : Feature id = x id val x def ] 22 22 ( Ω), Ω fea : Feature rel : Feature Feature -, Ω, Feature,, Ω 23, Featuredef, Ω Feature, 3 Ω 23 DLs [8] ( ) ( ) ( ) DLs,,,,, University INCLUDESDepartments, [8,9] DLs,,,,,,DLs, CBD, [9] FDL 3 31,,, 31 ( Ω ), [ DOMAIN] Ω == { x : Ω x interpretation DOMAIN},DOMAIN Ω Feature,,,,,,, part-of,
314 Journal of Software 2002,13(2) (ain-specific software architecture, DSSA) [6,7] Ω,, Ω, 32, 32 ( ) FeatureValue,, Ω, Ωdef == { x : FeatureVal ue 1 y : Ω xid = y id x val y def },,,,,Ω DLs Tbox Abox [8] 33 CBD,,, 33 ( Ω con ), Ω con, Ω con [ CONFIG ] condition : CONFIG Ω Ω con FeatureValue == {( x, y) ( x, y) ( condition )},CONFIG condition, Ω, Ω con,,,,,,,,, 34 2, C1,P1, C1(a1) a1 FDL, (b) C12 (a) ={C P1C1 P3C3 P2C2 P3C3, C1 C12 P121C121, C21 P211C121, C31 P311C311} (b) ={C1(a1),C11(b1),C12,P11(a1, b1),p12(a1,c12)} 1 P11C11 P12C12, C2 P21C21, C3 P31C31, (a) Domain space (b) Definition space and context space (a) (b) Fig 2 Example of feature-oriented semantic representation for component 2
: 315 4 CBD,CBD, CBD 3 CBD (1):,, Ω com (9):, (3):, (4):, (5):, (6) (7):, (8):, (a) Domain knowledge (b) Legacy (c) New software Domain (d) DSSA (g) Components analysis (f) Requirement set Ω Retrieval Repository Ω Ω con Evaluation (e) Component (h) Selected component Classification (h) Satisfied component Composition Adaptation (l) Qualified (k) Qualified Component component Evolution 5 Running (j) Executable system,,,,,,, (a),(b),(c),(d),(e),(f),(g), (h),(i),(j),(k),(l) Fig3 The semantic stream in CBD process 3 CBD 3C [11,12], (concept) (content) (context), 3C, [12] REBOOT, (facet) [4], 3 ( ) 9 ( ),, CORBA,DCOM/COM Enterprise JavaBean,,, [1],, WISR 91 [12],,, [13], d 2 c,,, 6,d 2 c d 2 c,,,,,
316 Journal of Software 2002,13(2) References: [1] Mili, H, Mili, F, Mili, A Reusing software: issues and research directions IEEE Transactions on Software Engineering, 1995,21(6):528~562 [2] Brown, A, Wallnau, K The current state of CBSE IEEE Software, 1998,15(5):37~46 [3] Brown, A Large-Scale Component-Based Development New Jersey: Prentice Hall, Inc, 2000 [4] Yang, Fu-qing, Mei, Hong, Li, Ke-qin Software reuse and software component technology Acta Electronica Sinica, 1999,27(2): 69~75 (in Chinese) [5] Object Management Group (OMG) The Common Object Request Broker: Architecture and Specification V231999 http://www omgorg [6] Penix, J, Baraona, P, Alexander, P Classication and retrieval of reusable components using semantic features In: Proceedings of the 10th Knowledge-Based Software Engineering Conference Boston, MA: IEEE Computer Society Press, 1995 131~138 [7] Kang, K, Kim, S, Lee, J et al FORM: a feature-oriented reuse method with ain-specific reference architectures Annals of Software Engineering, 1998,5:143~168 [8] Calvanese, D, Giacomo, GD, Lenzerini, M, et al Reasoning in expressive description logics In: Robinson, A, Voronkov, A, eds Handbook of Automated Reasoning North-Holland: Elsevier Science Publishers, 2000 316~327 [9] Jia, Yu, Gu, Yu-qing Representing and reasoning on feature architecture: a description logic approach Workshop on Feature Interaction in Composed Systems, ECOOP 2001 Budapest, 2001 [10] Spivey, M The Z Notation: a Reference Manual 2nd ed, Prentice Hall, 1992 [11] Tracz, W Implementation working group summary In: Baldo, J, ed Reuse in Practice Workshop Summary Alexandria, 1990 10~19 [12] Edwards, SH Toward a model of reusable software subsystems In: Philbrick, S, Stevens, M, eds Proceedings of the 15th Annual Workshop on Software Reuse Larry Latour, 1992 [13] Blom, M, Nordby, EJ Semantic integrity in component based development Project Report, Sweden: Mälardalen University, 2000 : [4],,,1999,27(2):69~75 Domain Feature Space Based Semantic Representation of Component JIA Yu, GU Yu-qing (Institute of Software, The Chinese Academy of Sciences, Beijing 100080, China) E-mail: jia_yu@263net guyq@sinosoftgroupcom http://wwwiscasaccn Abstract: In the paradigm of component-based software development, the component model is regarded as the foundation of almost all tasks such as classification, retrieval and adaptation However, to date the semantic representation of component is a critical problem in the model In this paper, a semantics intensive component model is proposed Through a semantics defining method in principle of ain analysis on the feature space, the three views of component, that is ain space, define space and context space, are suggested to describe the semantic structure, and the feature description logics is used to express the semantic content Especially, both the concept of semantisizer and formal method of the feature space are one possible solution to component reuse automation and engineering Key words: software component component semantics feature space software reuse description logics language Z Received October 9, 2000 accepted July 30, 2001