Use of the concept of transparency in the design of hierarchically structured systems
Communications of the ACM
The design of the Venus operating system
Communications of the ACM
A technique for software module specification with examples
Communications of the ACM
On the criteria to be used in decomposing systems into modules
Communications of the ACM
The nucleus of a multiprogramming system
Communications of the ACM
The structure of the “THE”-multiprogramming system
Communications of the ACM
HYDRA: the kernel of a multiprocessor operating system
Communications of the ACM
A Discipline of Programming
The use of abstract data types to simplify program modifications
Proceedings of the 1976 conference on Data : Abstraction, definition and structure
Design and specification of the minimal subset of an operating system family (Abstract only)
ICSE '76 Proceedings of the 2nd international conference on Software engineering
A structured specification of a hierarchical operating system
Proceedings of the international conference on Reliable software
USING TYPE EXTENSION TO ORGANIZE VIRTUAL MEMORY MECHANISMS
USING TYPE EXTENSION TO ORGANIZE VIRTUAL MEMORY MECHANISMS
Foundational problems in software process research
ACM SIGSOFT Software Engineering Notes
Christopher Alexander: an introduction for object-oriented designers
ACM SIGSOFT Software Engineering Notes
Computer
Using formal methods to reason about architectural standards
ICSE '97 Proceedings of the 19th international conference on Software engineering
Defining families: the commonality analysis (tutorial)
ICSE '97 Proceedings of the 19th international conference on Software engineering
Defining families—commonality analysis
Proceedings of the 21st international conference on Software engineering
Library structures for reusable components
SIGAda '87 Proceedings of the 1987 annual ACM SIGAda international conference on Ada
A comparison of two object-oriented design methodologies (abstract only)
CSC '87 Proceedings of the 15th annual conference on Computer Science
Design patterns in communications software
Evolving legacy system features into fine-grained components
Proceedings of the 24th International Conference on Software Engineering
A New Approach to Version Control
IEEE Transactions on Software Engineering
Commonality Analysis: A Systematic Process for Defining Families
Proceedings of the Second International ESPRIT ARES Workshop on Development and Evolution of Software Architectures for Product Families
The modular structure of complex systems
ICSE '84 Proceedings of the 7th international conference on Software engineering
Experience with a modular typed language: PROTEL
ICSE '81 Proceedings of the 5th international conference on Software engineering
ICSE '79 Proceedings of the 4th international conference on Software engineering
Module structure in an evolving family of real time systems
ICSE '79 Proceedings of the 4th international conference on Software engineering
Engineering Domains: Executable Commands as an Example
ICSR '98 Proceedings of the 5th International Conference on Software Reuse
The secret history of information hiding
Software pioneers
Domain driven web development with WebJinn
OOPSLA '03 Companion of the 18th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Structured programming: a minor part of software engineering
Information Processing Letters - Special issue: Contribution to computing science
ACM SIGSOFT Software Engineering Notes
Towards a rule model for self-adaptive software
ACM SIGSOFT Software Engineering Notes
Model-based testing for applications derived from software product lines
A-MOST '05 Proceedings of the 1st international workshop on Advances in model-based testing
Striving for versatility in publish/subscribe infrastructures
SEM '05 Proceedings of the 5th international workshop on Software engineering and middleware
Simulation-specific characteristics and software reuse
WSC '05 Proceedings of the 37th conference on Winter simulation
JooJ: real-time support for avoiding cyclic dependencies
ACSC '07 Proceedings of the thirtieth Australasian conference on Computer science - Volume 62
An empirical study of cycles among classes in Java
Empirical Software Engineering
The Types and Interactions of Vertical Migrations of Functions in a Multilevel Interpretive System
IEEE Transactions on Computers
An independent audit framework for software dependent voting systems
Proceedings of the 14th ACM conference on Computer and communications security
"Program, enhance thyself!": demand-driven pattern-oriented program enhancement
Proceedings of the 7th international conference on Aspect-oriented software development
FEATUREHOUSE: Language-independent, automated software composition
ICSE '09 Proceedings of the 31st International Conference on Software Engineering
Patching product line programs
FOSD '10 Proceedings of the 2nd International Workshop on Feature-Oriented Software Development
Raising family is a good practice
FOSD '10 Proceedings of the 2nd International Workshop on Feature-Oriented Software Development
Scaling up model driven engineering-experience and lessons learnt
MODELS'10 Proceedings of the 13th international conference on Model driven engineering languages and systems: Part II
Use of SPLE to deliver custom solutions at product cost: challenges and a way forward
Proceedings of the 2nd International Workshop on Product Line Approaches in Software Engineering
Efficient retrieval and ranking of undesired package cycles in large software systems
TOOLS'11 Proceedings of the 49th international conference on Objects, models, components, patterns
DeepFJig: modular composition of nested classes
Proceedings of the 9th International Conference on Principles and Practice of Programming in Java
Self-management system based on self-healing mechanism
APNOMS'06 Proceedings of the 9th Asia-Pacific international conference on Network Operations and Management: management of Convergence Networks and Services
Software engineering: multi-person development of multi-version programs
Dependable and Historic Computing
Application engineering of service-based software product lines
Proceedings of the 27th Annual ACM Symposium on Applied Computing
Abstraction hierarchies in top-down design
Journal of Systems and Software
On the existence of high-impact refactoring opportunities in programs
ACSC '12 Proceedings of the Thirty-fifth Australasian Computer Science Conference - Volume 122
Model driven software development: a practitioner takes stock and looks into future
ECMFA'13 Proceedings of the 9th European conference on Modelling Foundations and Applications
Incremental software design modelling
CASCON '13 Proceedings of the 2013 Conference of the Center for Advanced Studies on Collaborative Research
Hi-index | 0.00 |
Designing software to be extensible and easily contracted is discussed as a special case of design for change. A number of ways that extension and contraction problems manifest themselves in current software are explained. Four steps in the design of software that is more flexible are then discussed. The most critical step is the design of a software structure called the “uses” relation. Some criteria for design decisions are given and illustrated using a small example. It is shown that the identification of minimal subsets and minimal extensions can lead to software that can be tailored to the needs of a broad variety of users.