Communicating sequential processes
Communicating sequential processes
Language support for the specification and development of composite systems
ACM Transactions on Programming Languages and Systems (TOPLAS)
Informal and Formal Requirements Specification Languages: Bridging the Gap
IEEE Transactions on Software Engineering
Programming from specifications (2nd ed.)
Programming from specifications (2nd ed.)
Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
Proceedings of the 17th international conference on Software engineering
Integrating semi-formal and formal software specification techniques
Information Systems - Special issue: selected papers from the 9th International Conference on advanced information systems engineering (CA ISE '97)
Program developments: formal explanations of implementations
Communications of the ACM
On the inevitable intertwining of specification and implementation
Communications of the ACM
Problem frames: analyzing and structuring software development problems
Problem frames: analyzing and structuring software development problems
Logic and Computation: Interactive Proof with Cambridge LCF
Logic and Computation: Interactive Proof with Cambridge LCF
Trace Refinement of Action Systems
CONCUR '94 Proceedings of the Concurrency Theory
Guest Editors' Introduction: Model-Driven Development
IEEE Software
Workshop on Assurance Cases: Best Practices, Possible Obstacles, and Future Opportunities
DSN '04 Proceedings of the 2004 International Conference on Dependable Systems and Networks
IWPC '05 Proceedings of the 13th International Workshop on Program Comprehension
From requirements to specifications: a formal approach
Proceedings of the 2006 international workshop on Advances and applications of problem frames
Problem frame transformations: deriving specifications from requirements
Proceedings of the 2006 international workshop on Advances and applications of problem frames
Problem Oriented Software Engineering: A design-theoretic framework for software engineering
SEFM '07 Proceedings of the Fifth IEEE International Conference on Software Engineering and Formal Methods
Transformational Implementation: An Example
IEEE Transactions on Software Engineering
Arguing safety with Problem Oriented Software Engineering
HASE '07 Proceedings of the 10th IEEE High Assurance Systems Engineering Symposium
Problem Oriented Software Engineering: Solving the Package Router Control Problem
IEEE Transactions on Software Engineering
A Problem-Oriented Theory of Pattern-Oriented Analysis and Design
COMPUTATIONWORLD '09 Proceedings of the 2009 Computation World: Future Computing, Service Computation, Cognitive, Adaptive, Content, Patterns
Towards normal design for safety-critical systems
FASE'07 Proceedings of the 10th international conference on Fundamental approaches to software engineering
Design Rationale Capture in the Globalised Enterprise: An Industrial Study
ICSEA '10 Proceedings of the 2010 Fifth International Conference on Software Engineering Advances
Design concerns in the engineering of virtual worlds for learning
Behaviour & Information Technology - Social Networks and Learning Environments
Combining problem frames and UML in the description of software requirements
FASE'06 Proceedings of the 9th international conference on Fundamental Approaches to Software Engineering
Safety process improvement with POSE and alloy
SAFECOMP'07 Proceedings of the 26th international conference on Computer Safety, Reliability, and Security
Hi-index | 0.00 |
Rogers characterises engineering as: ... the practice of organising the design and construction of any artifice which transforms the physical world around us to meet some recognised need.When the artifice is software, a key challenge is to learn how to reconcile the formal world of the computing machine and its software with the non-formal physical world around it. In this paper, we describe an approach that brings both non-formal and formal aspects of software engineering together within a single theoretical framework, which sees software engineering practice as recordable and re-playable design theoretic transformations of software problems. The framework permits the identification and clarification of software requirements, the representation of the problem world into which the software solution will be delivered, and the construction of adequacy arguments for stake-holders. Designs are recordable and re-playable through our adaptation of tactics, a (now standard) form of programming language used in transformational proof theoretic presentations. This brings to our system many other benefits of such approaches, including the ability to abstract from a captured design, and to combine programmatically captured designs. This paper provides an example-driven presentation of our framework.