Abstract
This paper presents a framework that lets a component de- veloper provide a component user with different kinds of information, depending on the specific context and needs. The framework is based on presenting this information in the form of metadata. Metadata describe static and dynamic aspects of the component, can be accessed by the user, and can be used for different tasks throughout the software engi- neering lifecycle. The framework is defined in a general way, so that the metadata can be easily extended if new types of data have to be provided. In our approach, we define a unique format and a unique tag for each kind of metadata provided. The tag lets the user of the component both treat the information provided as metadata in the correct way and query for a specific piece of information. We motivate the untapped po- tential of component metadata by showing the need for metadata in the context of testing and analysis of distributed component-based systems, and introduce our framework with the help of an example. We sketch a possible scenario consisting of an application developer who wants to perform two different software engineering tasks on her application: gen- erating self-checking code and program slicing.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
A. W. Brown and K. C. Wallnau. Enginnering of component-based systems. In A. W. Brown, editor, Component-Based Software Engineering, pages 7–15. IEEE Press, 1996. 131
N. Brown and C. Kindel. Distributed Component Object Model protocol: DCOM/1.0. January 1998. 132, 136
R. Cherinka, C. M. Overstreet, and J. Ricci. Maintaining a COTS integrated solution–Are traditional st atic anallysis techniques sufficient for this new programming methodology? In Proceedings of the International Conference on Software Maintenance, pages 160–169, November 1998. 130
J. Cook and J. Dage. Highly reliable ungrading components. In Proceedings of the 21st International Conference on Software Engine ering, pages 203–212, May 1999. 130
The common object request broker: Architecture and specification, October 2000. 130, 132
G. C. Hunt. Automatic distributed partitioning of component-based applications. Technical Report TR695, University of Rochester, Computer Science Department, Aug. 1998. Tue, 29 Sep 98 18:13:17 GMT. 136
N. G. Leveson, S. S. Cha, J. C. Knight, and T. J. Shimeall. The use of self checks and voting in software error detection: An empirical study. IEEE Transactions on Software Engineering, 16(4):432–443, 1990. 136, 138
T. Lewis. The next 10, 0002 years, part II. IEEE Computer, pages 78–86, May 1996. 131
D. Liang and M. J. Harrold. Reuse-driven interprocedural slicing in the presence of pointers and recursion. In Proceedings; IEEE International Conference on Software Maintenance, pages 421–430. IEEE Computer Society Press, 1999. 138
U. Lindquist and E. Jonsson. A map of security risks associated with using cots. IEEE Computer, 31(6):pages 60–66, June 1998. 130
D. McIlroy. Mass-produced software components. In Proceedings of the 1st International Conference on Software Engineering, Garmisch Pattenkirchen, Germany, pages 88–98, 1968. 132
G. Neumann and U. Zdun. Filters as a language support for design patterns in object-oriented scripting languages. In Proceedings of the Fifth USENIX Conference on Object-Oriented Technologies and Systems, pages 1–14. The USENIX Association, 1999. 136
D. S. Rosenblum. A practical approach to programming with assertions. IEEE Transactions on Software Engineering, 21(1):19–31, Jan. 1995. 136, 138
C. Szyperski. Component Oriented Programming. Addison-Wesley, first edition, 1997. 131
J. Voas. Maintaining component-based systems. IEEE Software, 15(4):22–27, July-August 1998. 130
E. Weyuker. Testing component-based software: A cautionary tale. IEEE Software, 15(5):54–59, September-October 1998. 130
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2001 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Orso, A., Jean, M., Rosenblum, D. (2001). Component Metadata for Software Engineering Tasks. In: Emmerich, W., Tai, S. (eds) Engineering Distributed Objects. Lecture Notes in Computer Science, vol 1999. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-45254-0_12
Download citation
DOI: https://doi.org/10.1007/3-540-45254-0_12
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-41792-7
Online ISBN: 978-3-540-45254-6
eBook Packages: Springer Book Archive