The Z notation: a reference manual
The Z notation: a reference manual
Implementing fault-tolerant services using the state machine approach: a tutorial
ACM Computing Surveys (CSUR)
Basic category theory for computer scientists
Basic category theory for computer scientists
Algorithmic skeletons: structured management of parallel computation
Algorithmic skeletons: structured management of parallel computation
The Z notation: a reference manual
The Z notation: a reference manual
Communications of the ACM
Correct Architecture Refinement
IEEE Transactions on Software Engineering - Special issue on software architecture
Impossibility of distributed consensus with one faulty process
Journal of the ACM (JACM)
Software architecture: perspectives on an emerging discipline
Software architecture: perspectives on an emerging discipline
Style-based refinement for software architecture
ISAW '96 Joint proceedings of the second international software architecture workshop (ISAW-2) and international workshop on multiple perspectives in software development (Viewpoints '96) on SIGSOFT '96 workshops
Using weaves for software construction and analysis
ICSE '91 Proceedings of the 13th international conference on Software engineering
Compositional refinement of interactive systems
Journal of the ACM (JACM)
ACM Transactions on Computer Systems (TOCS)
A Transformation System for Developing Recursive Programs
Journal of the ACM (JACM)
The serializability of concurrent database updates
Journal of the ACM (JACM)
Confluent and Other Types of Thue Systems
Journal of the ACM (JACM)
ACM Transactions on Computer Systems (TOCS)
Predicative programming Part I
Communications of the ACM
Program development by stepwise refinement
Communications of the ACM
Describing Software Architecture Styles Using Graph Grammars
IEEE Transactions on Software Engineering
AMPHION: Automatic Programming for Scientific Subroutine Libraries
ISMIS '94 Proceedings of the 8th International Symposium on Methodologies for Intelligent Systems
Software Connectors and Refinement in Family Architectures
IW-SAPF-3 Proceedings of the International Workshop on Software Architectures for Product Families
GXL: Toward a Standard Exchange Format
WCRE '00 Proceedings of the Seventh Working Conference on Reverse Engineering (WCRE'00)
Separating agreement from execution for byzantine fault tolerant services
SOSP '03 Proceedings of the nineteenth ACM symposium on Operating systems principles
IEEE Transactions on Software Engineering
CacOphoNy: Metamodel-Driven Architecture Recovery
WCRE '04 Proceedings of the 11th Working Conference on Reverse Engineering
Feature Oriented Model Driven Development: A Case Study for Portlets
ICSE '07 Proceedings of the 29th international conference on Software Engineering
MapReduce: simplified data processing on large clusters
OSDI'04 Proceedings of the 6th conference on Symposium on Opearting Systems Design & Implementation - Volume 6
Towards A Process-Oriented Software Architecture Reconstruction Taxonomy
CSMR '07 Proceedings of the 11th European Conference on Software Maintenance and Reengineering
Engineering and theoretical underpinnings of retrenchment
Science of Computer Programming
A theory of object oriented refinement
A theory of object oriented refinement
Zyzzyva: speculative byzantine fault tolerance
Proceedings of twenty-first ACM SIGOPS symposium on Operating systems principles
Product Line Implementation using Aspect-Oriented and Model-Driven Software Development
SPLC '07 Proceedings of the 11th International Software Product Line Conference
SRDS '07 Proceedings of the 26th IEEE International Symposium on Reliable Distributed Systems
Hierarchical Clustering for Software Architecture Recovery
IEEE Transactions on Software Engineering
Graph-Based Design and Analysis of Dynamic Software Architectures
Concurrency, Graphs and Models
Software Engineering
FEATUREHOUSE: Language-independent, automated software composition
ICSE '09 Proceedings of the 31st International Conference on Software Engineering
Xbft: byzantine fault tolerance with high performance, low cost, and aggressive fault isolation
Xbft: byzantine fault tolerance with high performance, low cost, and aggressive fault isolation
Proceedings of the ACM SIGOPS 22nd symposium on Operating systems principles
Language and compiler support for stream programs
Language and compiler support for stream programs
Enabling the refinement of a software architecture into a design
UML'99 Proceedings of the 2nd international conference on The unified modeling language: beyond the standard
VML* – a family of languages for variability management in software product lines
SLE'09 Proceedings of the Second international conference on Software Language Engineering
Behavior-preserving refinement relations between dynamic software architectures
WADT'04 Proceedings of the 17th international conference on Recent Trends in Algebraic Development Techniques
Architectural building blocks for plug-and-play system design
CBSE'06 Proceedings of the 9th international conference on Component-Based Software Engineering
Hi-index | 0.00 |
A classical approach to program derivation is to progressively extend a simple specification and then incrementally refine it to an implementation. We claim this approach is hard or impractical when reverse engineering legacy software architectures. We present a case study that shows optimizations and pushouts---in addition to refinements and extensions---are essential for practical stepwise development of complex software architectures.