Understanding Z: a specification language and its formal semantics
Understanding Z: a specification language and its formal semantics
Exploiting style in architectural design environments
SIGSOFT '94 Proceedings of the 2nd ACM SIGSOFT symposium on Foundations of software engineering
IEEE Transactions on Software Engineering - Special issue on software architecture
Formalizing style to understand descriptions of software architecture
ACM Transactions on Software Engineering and Methodology (TOSEM)
Dynamic structure in software architectures
SIGSOFT '96 Proceedings of the 4th ACM SIGSOFT symposium on Foundations of software engineering
Software architecture styles as graph grammars
SIGSOFT '96 Proceedings of the 4th ACM SIGSOFT symposium on Foundations of software engineering
Formal modeling and analysis of the HLA component integration standard
SIGSOFT '98/FSE-6 Proceedings of the 6th ACM SIGSOFT international symposium on Foundations of software engineering
The Unified Modeling Language reference manual
The Unified Modeling Language reference manual
Exploiting ADLs to specify architectural styles induced by middleware infrastructures
Proceedings of the 21st international conference on Software engineering
IEEE Transactions on Software Engineering
Alcoa: the alloy constraint analyzer
Proceedings of the 22nd international conference on Software engineering
Essential COM
An Event-Based Architecture Definition Language
IEEE Transactions on Software Engineering
AML: An Architecture Meta-Language
ASE '99 Proceedings of the 14th IEEE international conference on Automated software engineering
Automating first-order relational logic
SIGSOFT '00/FSE-8 Proceedings of the 8th ACM SIGSOFT international symposium on Foundations of software engineering: twenty-first century applications
Behavioural analysis of the enterprise JavaBeans component architecture
SPIN '01 Proceedings of the 8th international SPIN workshop on Model checking of software
Automatic synthesis of deadlock free connectors for COM/DCOM applications
Proceedings of the 8th European software engineering conference held jointly with 9th ACM SIGSOFT international symposium on Foundations of software engineering
Alloy: a lightweight object modelling notation
ACM Transactions on Software Engineering and Methodology (TOSEM)
Self-organising software architectures for distributed systems
WOSS '02 Proceedings of the first workshop on Self-healing systems
Architectural style requirements for self-healing systems
WOSS '02 Proceedings of the first workshop on Self-healing systems
Modular Verification of Software Components in C
IEEE Transactions on Software Engineering
Reasoning about static and dynamic properties in alloy: A purely relational approach
ACM Transactions on Software Engineering and Methodology (TOSEM)
An aspect-oriented methodology for designing secure applications
Information and Software Technology
A declarative formal approach to dynamic reconfiguration
Proceedings of the 1st international workshop on Open component ecosystems
From UML to Alloy and back again
Proceedings of the 6th International Workshop on Model-Driven Engineering, Verification and Validation
Specifying self-configurable component-based systems with fractoy
ABZ'10 Proceedings of the Second international conference on Abstract State Machines, Alloy, B and Z
From UML to alloy and back again
MODELS'09 Proceedings of the 2009 international conference on Models in Software Engineering
Hi-index | 0.00 |
Designing architectural frameworks without the aid of formal modeling is error prone. But, unless supported by analysis, formal modeling is prone to its own class of errors, in which formal statements fail to match the designer's intent. A fully automatic analysis tool can rapidly expose such errors, and can make the process of constructing and refining a formal model more effective.This paper describes a case study in which we recast a model of Microsoft COM's query interface and aggregation mechanism into Alloy, a lightweight notation for describing structures. We used Alloy's analyzer to simulate the specification, to check properties and to evaluate changes. This allowed us to manipulate our model more quickly and with far greater confidence than would otherwise have been possible, resulting in a much simpler model and a better understanding of its key properties.