Computational category theory
Virtual classes: a powerful mechanism in object-oriented programming
OOPSLA '89 Conference proceedings on Object-oriented programming systems, languages and applications
Fundamentals of algebraic specification 2: module specifications and constraints
Fundamentals of algebraic specification 2: module specifications and constraints
OOPSLA/ECOOP '90 Proceedings of the European conference on object-oriented programming on Object-oriented programming systems, languages, and applications
Basic category theory for computer scientists
Basic category theory for computer scientists
The Z notation: a reference manual
The Z notation: a reference manual
Communications of the ACM
Conceptual mathematics: a first introduction to categories
Conceptual mathematics: a first introduction to categories
The design and implementation of hierarchical software systems with reusable components
ACM Transactions on Software Engineering and Methodology (TOSEM)
Axiomatic bootstrapping: a guide for compiler hackers
ACM Transactions on Programming Languages and Systems (TOPLAS)
A behavioral notion of subtyping
ACM Transactions on Programming Languages and Systems (TOPLAS)
Using role components in implement collaboration-based designs
Proceedings of the 11th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Approximation algorithms for directed Steiner problems
Proceedings of the ninth annual ACM-SIAM symposium on Discrete algorithms
Software product-line engineering: a family-based software development process
Software product-line engineering: a family-based software development process
Structural specification-based testing: automated support and experimental evaluation
ESEC/FSE-7 Proceedings of the 7th European software engineering conference held jointly with the 7th ACM SIGSOFT international symposium on Foundations of software engineering
Generative programming: methods, tools, and applications
Generative programming: methods, tools, and applications
A formalism for translator interactions
Communications of the ACM
Achieving extensibility through product-lines and domain-specific languages: a case study
ACM Transactions on Software Engineering and Methodology (TOSEM)
Alloy: a lightweight object modelling notation
ACM Transactions on Software Engineering and Methodology (TOSEM)
A Discipline of Programming
Generating finite state machines from abstract state machines
ISSTA '02 Proceedings of the 2002 ACM SIGSOFT international symposium on Software testing and analysis
Access path selection in a relational database management system
SIGMOD '79 Proceedings of the 1979 ACM SIGMOD international conference on Management of data
Feature interaction: a critical review and considered forecast
Computer Networks: The International Journal of Computer and Telecommunications Networking
ECOOP '01 Proceedings of the 15th European Conference on Object-Oriented Programming
A Simple and Practical Approach to Unit Testing: The JML and JUnit Way
ECOOP '02 Proceedings of the 16th European Conference on Object-Oriented Programming
Toward a theory of test data selection
Proceedings of the international conference on Reliable software
MDA Explained: The Model Driven Architecture: Practice and Promise
MDA Explained: The Model Driven Architecture: Practice and Promise
Jam---designing a Java extension with mixins
ACM Transactions on Programming Languages and Systems (TOPLAS)
Designing Software Product Lines with UML: From Use Cases to Pattern-Based Software Architectures
Designing Software Product Lines with UML: From Use Cases to Pattern-Based Software Architectures
Categories for Software Engineering
Categories for Software Engineering
IEEE Transactions on Software Engineering
Polymorphic bytecode: compositional compilation for Java-like languages
Proceedings of the 32nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Modular Verification of Open Features Using Three-Valued Model Checking
Automated Software Engineering
Software Product Line Engineering: Foundations, Principles and Techniques
Software Product Line Engineering: Foundations, Principles and Techniques
A disciplined approach to aspect composition
Proceedings of the 2006 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
Software Abstractions: Logic, Language, and Analysis
Software Abstractions: Logic, Language, and Analysis
Roadmap for enhanced languages and methods to aid verification
Proceedings of the 5th international conference on Generative programming and component engineering
ACM Transactions on Software Engineering and Methodology (TOSEM)
Feature Oriented Model Driven Development: A Case Study for Portlets
ICSE '07 Proceedings of the 29th international conference on Software Engineering
A specification-based approach to testing software product lines
Proceedings of the the 6th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering
GPCE '07 Proceedings of the 6th international conference on Generative programming and component engineering
On the modularity of feature interactions
GPCE '08 Proceedings of the 7th international conference on Generative programming and component engineering
Program refactoring using functional aspects
GPCE '08 Proceedings of the 7th international conference on Generative programming and component engineering
Evaluating support for features in advanced modularization technologies
ECOOP'05 Proceedings of the 19th European conference on Object-Oriented Programming
The Objects and Arrows of Computational Design
MoDELS '08 Proceedings of the 11th international conference on Model Driven Engineering Languages and Systems
Pure delta-oriented programming
FOSD '10 Proceedings of the 2nd International Workshop on Feature-Oriented Software Development
Delta-oriented programming of software product lines
SPLC'10 Proceedings of the 14th international conference on Software product lines: going beyond
Towards fixing inconsistencies in models with variability
Proceedings of the Sixth International Workshop on Variability Modeling of Software-Intensive Systems
Detecting inconsistencies in multi-view models with variability
ECMFA'10 Proceedings of the 6th European conference on Modelling Foundations and Applications
A commutative model composition operator to support software adaptation
ECMFA'12 Proceedings of the 8th European conference on Modelling Foundations and Applications
Hi-index | 0.01 |
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.