Toward an Architecture of a Component-Based System Supporting Separation of Non- Functional Concerns

The promises of component-based technology can only be fully realized when the system contains in its design a necessary level of separation of concerns. The authors propose to focus on the concerns that emerge throughout the life cycle of the system and use them as an architectural foundation for the design of a component-based framework. The proposed model comprises a set of superimposed views of the system describing its functional and non-functional concerns. This approach is illustrated by the design of a specific framework for data analysis and data acquisition and supplemented with experiences from using the systems developed with this framework at the Fermi National Accelerator Laboratory.




References:
[1] Weyuker E.J.: Testing component-based software: A cautionary tale.
IEEE Software, vol. 15, no. 5 (1998) 5459
[2] P. Brereton and D. Budgen, Component-based systems: A classification
of issues. IEEE Computer, vol. 33, no. 11 (2000) 5462.
[3] Clemens Szyperski, Component software: Beyond object-oriented programming.
ACM Press/Addison-Wesley, New York, NY, 1998
[4] Griss M.: Implementing Product-Line Features By Composing Component
Aspects. First International Software Product Line Conference,
Denver, Colorado (2000)
[5] Sun C.: Empirical Reasoning about Quality of Service of Component-
Based Distributed Systems. ACMSE-04, Huntsville, Alabama (2004)
[6] Object Management Group. UML Profile for Modeling Quality of
Service and Fau;t Tolerance Characteristics and Mechanisms. Request
for Proposal, OMG document ad/02-01-07, Framington, MA (2002)
[7] ITU-T Recommendation X.641 (1994), ISO IEC TR 13236, Information
technology Quality of Service Framework.
[8] Parnas D.: On the Criteria to be used in decomposing systems into
modules. Communications of the ACM , vol. 15, no. 12 (1972)
[9] Nogiec J., Sim J., Trombly-Freytag K., Walbridge D.: EMS: A Framework
for Data Acquisition and Analysis. ACAT2000, Batavia, Illinois
(2000)
[10] Nogiec J., Desavouret E., Kotelnikov S., Trombly-Freytag K., and Walbridge
D.: Configuring Systems from Components: The EMS Approach.
ACAT-03, Tsukuba, Japan (2003)
[11] Harrison W., Ossher H., Tarr P.: Software Engineering Tools and Environments:
A Roadmap 2000. Future of Software Engineering, Limerick,
Ireland (2000) 263-277
[12] Tarr P., Harrison W., Ossher H., Finkelstein A., Nuseibeh B., Perry
D.: Workshop on multi-dimensional Separation of Concerns in Software
Engineering. Software Engineering Notes, vol. 26, no. 1 (2001)
[13] Kiczales G. et al.: Aspect-Oriented Programming. Proceedings of the
European Conference on Object-Oriented Programming (ECOOP), Finland,
Springer-Verlag LNCS 1241 (1997)
[14] Sora I., Verbaeten P., Berbers Y.: Using Component Composition for
Self-customizable Systems, Proceedings - Workshop On Component-
Based Software Engineering: Composing Systems from Components at
ECBS (Crnkovic, I. and Stafford, J. and Larsson, S., eds.), Lund, Sweden
(2002) 23-26
[15] Nunn I., Deugo D.: Automated Assembly of Software Components
Based on XML-Coded Instructions, SAC 2002, Madrid, Spain ACM
(2002)
[16] Guimaraes T.: Managing application program, maintenance expenditures.
Communications of the ACM, vol.26, no. 10 (1983)
[17] Object Management Group. CORBA Components (2001)
[18] Duclos F., Estublier J., Morat P.: Describing and Using Non Functional
Aspects in Component Based Applications. AOSD 2002, Enshede, The
Netherlands (2002)
[19] Goebel S., Pohl C., Roettger S., Zschaler S.: The COMQUAD Component
Model, Enabling Dynamic Selection of Implementations by
Weaving Non-Functional Aspects. AOSD 2004, Lancaster, UK (2004)