|
ABSTRACT
Modeling languages are a fundamental part of automated software development. MDD, for example, uses UML class diagrams and state machines as languages to define applications. In this paper, we explore how Feature Oriented Software Development (FOSD) uses modern mathematics as a modeling language to express the design and synthesis of programs in software product lines, but demands little mathematical sophistication from its users. Doing so has three practical benefits: (1) it offers a simple and principled mathematical description of how FOSD transforms, derives, and relates program artifacts, (2) it exposes previously unrecognized commuting relationships among tool chains, thereby providing new ways to debug tools, and (3) it reveals new ways to optimize software synthesis.
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
|
Davide Ancona , Ferruccio Damiani , Sophia Drossopoulou , Elena Zucca, Polymorphic bytecode: compositional compilation for Java-like languages, Proceedings of the 32nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages, p.26-37, January 12-14, 2005, Long Beach, California, USA
|
| |
3
|
AHEAD Tool Suite, www.cs.utexas.edu/users/schwartz/index.html
|
| |
4
|
S. Apel, "The Role of Features and Aspects in Software Development", Ph.D. Dept. of Tech.l and Business Info. Systems, University of Magdeburg, Germany, March 2007.
|
 |
5
|
|
 |
6
|
|
 |
7
|
|
 |
8
|
|
| |
9
|
D. Batory, "A Science of Software Design", AMAST 2004.
|
| |
10
|
|
| |
11
|
D. Batory, "From Implemention to Theory in Product Synthesis", University of Texas Austin, Dept. Comp. Science TR-07-35, June 2007.
|
| |
12
|
D. Batory and E. Börger. "On The Modularization of Theorems for Software Product Lines", to appear in JUCS.
|
 |
13
|
|
 |
14
|
|
 |
15
|
|
| |
16
|
|
 |
17
|
|
| |
18
|
|
| |
19
|
Moses Charikar , Chandra Chekuri , To-yat Cheung , Zuo Dai , Ashish Goel , Sudipto Guha , Ming Li, Approximation algorithms for directed Steiner problems, Proceedings of the ninth annual ACM-SIAM symposium on Discrete algorithms, p.192-200, January 25-27, 1998, San Francisco, California, United States
|
| |
20
|
|
| |
21
|
|
 |
22
|
|
| |
23
|
|
| |
24
|
E. Ernst, "Higher Order Hierarchies", ECOOP 2003.
|
| |
25
|
|
| |
26
|
J. Goguen. "Principles of Parameterized Programming" in T. Biggerstaff and A. Perlis, Software Reusability Volume II: Applications and Experiences, Addison-Wesley, 1990.
|
| |
27
|
J. Goguen. "A Categorical Manifesto". Mathematical Structures in Computer Science, 1991.
|
| |
28
|
|
 |
29
|
|
| |
30
|
J. Gray, et al. "Model Driven Program Transformation of a Large Avionics Framework", GPCE 2004.
|
 |
31
|
|
| |
32
|
|
 |
33
|
|
| |
34
|
K. Kang, et al., "Feature-Oriented Domain Analysis (FODA) Feasibility Study", Tech Report CMU/SEI-90-TR-21.
|
| |
35
|
S. Khurshid, E. Uzuncaova, D. Garcia, and D. Batory. "Testing Software Product Lines Using Incremental Test Generation". Submitted.
|
| |
36
|
Gregor Kiczales , Erik Hilsdale , Jim Hugunin , Mik Kersten , Jeffrey Palm , William G. Griswold, An Overview of AspectJ, Proceedings of the 15th European Conference on Object-Oriented Programming, p.327-353, June 18-22, 2001
|
 |
37
|
|
| |
38
|
|
| |
39
|
|
 |
40
|
Gary T. Leavens , Jean-Raymond Abrial , Don Batory , Michael Butler , Alessandro Coglio , Kathi Fisler , Eric Hehner , Cliff Jones , Dale Miller , Simon Peyton-Jones , Murali Sitaraman , Douglas R. Smith , Aaron Stump, Roadmap for enhanced languages and methods to aid verification, Proceedings of the 5th international conference on Generative programming and component engineering, October 22-26, 2006, Portland, Oregon, USA
[doi> 10.1145/1173706.1173740]
|
| |
41
|
|
 |
42
|
|
| |
43
|
R. Lopez-Herrejon, D. Batory, and W. Cook. "Evaluating Support for Features in Advanced Modularization Technologies", ECOOP 2005.
|
 |
44
|
|
 |
45
|
O. L. Madsen , B. Moller-Pedersen, Virtual classes: a powerful mechanism in object-oriented programming, Conference proceedings on Object-oriented programming systems, languages and applications, p.397-406, October 02-06, 1989, New Orleans, Louisiana, United States
|
| |
46
|
T. Mens, K. Czarnecki, and P. van Gorp. "A Taxonomy of Model Transformations", Dagstuhl Seminar Proceedings 04101. drops.dagstuhl.de/opus/volltexte/2005/11
|
| |
47
|
M. Odersky, et al. "An Overview of the Scala Programming Language". September 2004, scala.epfl.ch
|
| |
48
|
D. Pavlovic and D. R. Smith. "Software Development by Refinement", UNU/IIST 10th Anniversary Colloquium, Formal Methods at the Crossroads: From Panaea to Foundational Support, Springer-Verlag LNCS 2757, 2003.
|
| |
49
|
|
| |
50
|
|
| |
51
|
T. Reenskaug, et al. "OORASS: Seamless support for the creation and maintenance of object-oriented systems". Journal of Object-Oriented Programming, October 1992.
|
| |
52
|
D. Roundy, "Theory of Patches", //darcs.net/manual/node8.html
|
| |
53
|
|
 |
54
|
P. Griffiths Selinger , M. M. Astrahan , D. D. Chamberlin , R. A. Lorie , T. G. Price, Access path selection in a relational database management system, Proceedings of the 1979 ACM SIGMOD international conference on Management of data, May 30-June 01, 1979, Boston, Massachusetts
[doi> 10.1145/582095.582099]
|
| |
55
|
|
| |
56
|
|
 |
57
|
|
 |
58
|
Michael VanHilst , David Notkin, Using role components in implement collaboration-based designs, Proceedings of the 11th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, p.359-369, October 06-10, 1996, San Jose, California, United States
|
| |
59
|
|
 |
60
|
|
| |
61
|
|
|