Tcl and the Tk toolkit
Pentium Pro and Pentium II system architecture (2nd ed.)
Pentium Pro and Pentium II system architecture (2nd ed.)
Extreme programming explained: embrace change
Extreme programming explained: embrace change
Validating the intel pentium 4 microprocessor
Proceedings of the 38th annual Design Automation Conference
Symbolic Model Checking
ISA System Architecture
Computer architecture: a quantitative approach
Computer architecture: a quantitative approach
Executable Protocol Specification in ESL
FMCAD '00 Proceedings of the Third International Conference on Formal Methods in Computer-Aided Design
Monitor-Based Formal Specification of PCI
FMCAD '00 Proceedings of the Third International Conference on Formal Methods in Computer-Aided Design
Exploring XP for Scientific Research
IEEE Software
IEEE Transactions on Software Engineering
Extreme Formal Modeling (XFM) for Hardware Models
MTV '04 Proceedings of the Fifth International Workshop on Microprocessor Test and Verification
Effects of property ordering in an incremental formal modeling methodology
HLDVT '04 Proceedings of the High-Level Design Validation and Test Workshop, 2004. Ninth IEEE International
Spin model checker, the: primer and reference manual
Spin model checker, the: primer and reference manual
Formal extreme (and extremely formal) programming
XP'03 Proceedings of the 4th international conference on Extreme programming and agile processes in software engineering
Incremental Development of a Distributed Real-Time Model of a Cardiac Pacing System Using VDM
FM '08 Proceedings of the 15th international symposium on Formal Methods
Incremental and verified modeling of the PCI express protocol
IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems - Special section on the ACM IEEE international conference on formal methods and models for codesign (MEMOCODE) 2009
A framework for incremental modelling and verification of on-chip protocols
Proceedings of the 2010 Conference on Formal Methods in Computer-Aided Design
i2MAP: an incremental and iterative modeling and analysis process
MODELS'07 Proceedings of the 10th international conference on Model Driven Engineering Languages and Systems
Hi-index | 0.00 |
We present an agile formal methodology named eXtreme Formal Modeling (XFM), based on Extreme Programming (XP) concepts to construct abstract models from natural language specifications of complex systems. In particular, we focus on Prescriptive Formal Models (PFMs) that capture the specification of the system under design in a mathematically precise manner. Such models can be used as golden reference models for formal verification, test generation, coverage monitor generation, etc. This methodology for incrementally building PFMs works by adding user stories expressed as LTL formulae gleaned from the natural language specifications, one by one, into the model. XFM builds the models, retaining correctness with respect to incrementally added properties by regressively model-checking all the LTL properties captured theretofore in the model. We illustrate XFM with a graded set of examples consisting of a traffic light controller and a DLX pipeline. To make the regressive model-checking steps feasible with current model-checking tools, we need to control the model size increments at each subsequent step in the process. We therefore analyze the effects of ordering the LTL properties in XFM on the statespace growth rate of the model. We compare three different property-ordering methodologies: ad hoc ordering, property-based ordering, and predicate-based ordering. We experiment on the models of the ISA bus monitor and the arbitration phase of the Pentium Pro bus. We experimentally show and mathematically reason that the predicate-based ordering is the best among these orderings. Finally, we present a GUI-based toolbox that we implemented to build PFMs using XFM.