ACM Home Page
Please provide us with feedback. Feedback
Static and dynamic structure in design patterns
Full text PdfPdf (1.40 MB)
Source International Conference on Software Engineering archive
Proceedings of the 24th International Conference on Software Engineering table of contents
Orlando, Florida
SESSION: Technical papers: architecture and implementation table of contents
Pages: 208 - 218  
Year of Publication: 2002
ISBN:1-58113-472-X
Authors
Eric Eide  University of Utah, Salt Lake City, Utah
Alastair Reid  University of Utah, Salt Lake City, Utah
John Regehr  University of Utah, Salt Lake City, Utah
Jay Lepreau  University of Utah, Salt Lake City, Utah
Sponsors
IEEE-CS\DATC : IEEE Computer Society
ACM: Association for Computing Machinery
SIGSOFT: ACM Special Interest Group on Software Engineering
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 8,   Downloads (12 Months): 50,   Citation Count: 1
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/581339.581367
What is a DOI?

ABSTRACT

Design patterns are a valuable mechanism for emphasizing structure, capturing design expertise, and facilitating restructuring of software systems. Patterns are typically applied in the context of an object-oriented language and are implemented so that the pattern participants correspond to object instances that are created and connected at run-time. This paper describes a complementary realization of design patterns, in which many pattern participants correspond to statically instantiated and connected components.Our approach separates the static parts of the software design from the dynamic parts of the system behavior. This separation makes the software design more amenable to analysis, thus enabling more effective and domain-specific detection of system design errors, prediction of run-time behavior, and more effective optimization. This technique is applicable to imperative, functional, and object-oriented languages: we have extended C, Scheme, and Java with our component model. In this paper, we illustrate our approach in the context of the OSKit, a collection of operating system components written in C.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
 
2
G. Baumgartner, K. Läufer, and V. F. Russo. On the interaction of object-oriented design patterns and programming languages. Technical Report CSD-TR-96-020, Department of Computer Sciences, Purdue University, 1996.
 
3
J. Bosch. Design patterns as language constructs. Journal of Object-Oriented Programming, 11(2):18-32, 1998.
 
4
K. B. Bruce and J. C. Vanderwaart. Semantics-driven language design: Statically type-safe virtual types in object-oriented languages. In Electronic Notes in Theoretical Computer Science, volume 20. Elsevier Science Publishers, 2000.
5
6
 
7
D. Engler, B. Chelf, A. Chou, and S. Hallem. Checking system rules using system-specific, programmer-written compiler extensions. In Proc. of the Fourth Symposium on Operating Systems Design and Implementation, pages 1-16, San Diego, CA, Oct. 2000.
8
9
 
10
M. Flatt. Programming Languages for Component Software. PhD thesis, Rice University, June 1999.
11
12
 
13
 
14
B. Harper, E. Cooper, and P. Lee. The Fox project: Advanced development of systems software. Computer Science Department Technical Report 91-187, Carnegie Mellon University, 1991.
 
15
 
16
C. Marcos, M. Campo, and A. Pirotte. Reifying design patterns as metalevel constructs. Electronic Journal of SADIO, 2(1):17-29, 1999.
17
 
18
 
19
J. G. Mitchell, W. Mayberry, and R. Sweet. Mesa Language Manual, 1979.
 
20
 
21
A. Reid, M. Flatt, L. Stoller, J. Lepreau, and E. Eide. Knit: Component composition for systems software. In Proc. of the Fourth Symposium on Operating Systems Design and Implementation, pages 347-360, San Diego, CA, Oct. 2000.
 
22
 
23
M. Tatsubori and S. Chiba. Programming support of design patterns with compile-time reflection. In Proc. of the OOPSLA '98 Workshop on Reflective Programming in C++ and Java, pages 56-60, Vancouver, Canada, Oct. 1998.
 
24
V. Yodaiken. The RTLinux manifesto. In Proc. of the Fifth Linux Expo, Raleigh, NC, Mar. 1999.


Collaborative Colleagues:
Eric Eide: colleagues
Alastair Reid: colleagues
John Regehr: colleagues
Jay Lepreau: colleagues