Title :
Modular-Like Transformations and Style Checking for Crosscutting Programming Concepts
Author_Institution :
Comput. Sci. & Eng., UC San Diego, La Jolla, CA
Abstract :
Programmers resort to design patterns, microarchitectures, and other idioms when their design ideas can´t be expressed directly in the programming language. The crosscutting code that appears as a result makes it harder to ensure a correct implementation of the idiom, and complicates software evolution when the idiom´s implementation cannot be modularly substituted or extended like a method or class. We propose Concepts, an IDE-based mechanism for declaring, checking, and evolving crosscutting design idioms. Programmers code their design idioms as before, but also declare their fundamental properties in supplemental files. A concept´s behavior and implementation are described separately. This separation permits describing a new implementation for a concept and then having the concept tool mechanically transform the concept´s current implementation into the new one. As a result we aim to get many of the same benefits for concepts that we get for classes: checking of key behaviors and substitutability.
Keywords :
programming languages; software engineering; Concepts; IDE-based mechanism; crosscutting programming concepts; modular-like transformations; programming language; software evolution; style checking; Computer languages; Computer science; Design engineering; Java; Libraries; Microarchitecture; Performance evaluation; Programming profession; Software engineering; Technological innovation;
Conference_Titel :
Software Engineering - Companion, 2007. ICSE 2007 Companion. 29th International Conference on
Conference_Location :
Minneapolis, MN
Print_ISBN :
0-7695-2892-9
DOI :
10.1109/ICSECOMPANION.2007.55