The Programmer's Apprentice: A Session with KBEmacs
IEEE Transactions on Software Engineering - Special issue on artificial intelligence and software engineering
Gandalf: software development environments
IEEE Transactions on Software Engineering
IDL: sharing intermediate representations
ACM Transactions on Programming Languages and Systems (TOPLAS)
A structural approach to the maintenance of structure-oriented environments
SDE 2 Proceedings of the second ACM SIGSOFT/SIGPLAN software engineering symposium on Practical software development environments
A Conceptual Analysis of the Draco Approach to Constructing Software Systems
IEEE Transactions on Software Engineering
Macro-by-example: Deriving syntactic transformations from their specifications
POPL '87 Proceedings of the 14th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
PARIS: a system for reusing partially interpreted schemas
ICSE '87 Proceedings of the 9th international conference on Software Engineering
SDE 3 Proceedings of the third ACM SIGSOFT/SIGPLAN software engineering symposium on Practical software development environments
The ergo support system: an integrated set of tools for prototyping integrated environments
SDE 3 Proceedings of the third ACM SIGSOFT/SIGPLAN software engineering symposium on Practical software development environments
Design reuse and frameworks in the smalltalk-80 system
Software reusability
The polylith software bus
Beyond schema evolution to database reorganization
OOPSLA/ECOOP '90 Proceedings of the European conference on object-oriented programming on Object-oriented programming systems, languages, and applications
The Pan language-based editing system for integrated development
SDE 4 Proceedings of the fourth ACM SIGSOFT symposium on Software development environments
A multi-formalism specification environment
SDE 4 Proceedings of the fourth ACM SIGSOFT symposium on Software development environments
SDE 4 Proceedings of the fourth ACM SIGSOFT symposium on Software development environments
ICSE '85 Proceedings of the 8th international conference on Software engineering
Incremental Context-Dependent Analysis for Language-Based Editors
ACM Transactions on Programming Languages and Systems (TOPLAS)
Software Component with ADA
Building Application Generators
IEEE Software
A Compositional Approach to Multiparadigm Programming
IEEE Software
A Formal Specification of an Oscilloscope
IEEE Software
SDE 1 Proceedings of the first ACM SIGSOFT/SIGPLAN software engineering symposium on Practical software development environments
GNOME: An introductory programming environment based on a family of structure editors
SDE 1 Proceedings of the first ACM SIGSOFT/SIGPLAN software engineering symposium on Practical software development environments
ASCENT: Application-Specific Environment Transformer
ASCENT: Application-Specific Environment Transformer
Customizable output generation in modeling environments using pipelined domains
ACM SIGSOFT Software Engineering Notes
Automatic Model Transformations Using Extended UML Object Diagrams in Modeling Environments
IEEE Transactions on Software Engineering
A Framework for Source Code Search Using Program Patterns
IEEE Transactions on Software Engineering
POET: a scripting language for applying parameterized source-to-source program transformations
Software—Practice & Experience
Hi-index | 0.00 |
Current software development environments tend to lie at opposite ends of a spectrum: at one extreme are specialized application generators; at the other are general-purpose programming environments. The former provide strong support for system development and reuse, but are costly to build and available only for limited domains. The latter provide weak support, but are generally available and universally applicable.We describe a technique for automating the production of application-specific environments that lie between these two extremes. The key idea is that these environments can be derived from general-purpose programming environments by a process of structured transformation. We describe a tool for performing these transformations. It provides a set of formal operators for specializing a description of a general-purpose environment; as operators are applied, the system semi-automatically builds a set of transformation rules used to translate application-specific programs into those of the original general-purpose environment. The output of the tool is an application-specific environment together with a program transformer that provides execution semantics for programs written in that environment.