Basic category theory for computer scientists
Basic category theory for computer scientists
The Z notation: a reference manual
The Z notation: a reference manual
Institutions: abstract model theory for specification and programming
Journal of the ACM (JACM)
The usability engineering lifecycle: a practitioner's handbook for user interface design
The usability engineering lifecycle: a practitioner's handbook for user interface design
Software Specification: A Comparison of Formal Methods
Software Specification: A Comparison of Formal Methods
The Semantics of CLEAR, A Specification Language
Proceedings of the Abstract Software Specifications, 1979 Copenhagen Winter School
Specware: Formal Support for Composing Software
MPC '95 Mathematics of Program Construction
Formally specifying engineering design rationale
ASE '97 Proceedings of the 12th international conference on Automated software engineering (formerly: KBSE)
An introduction to algebraic semiotics, with application to user interface design
Computation for metaphors, analogy, and agents
Towards Interoperability in Component Based Development with a Family of DSLs
ECSA '08 Proceedings of the 2nd European conference on Software Architecture
Towards a formal approach to information systems design theory using category theory
DESRIST'12 Proceedings of the 7th international conference on Design Science Research in Information Systems: advances in theory and practice
Hi-index | 0.00 |
Over the last two years, we have demonstrated the feasibility of applying category-theoretic methods in specifying, synthesizing, and maintaining industrial strength software systems. We have been using a first-of-its-kind tool for this purpose, Kestrel's SpecwareTM software development system. In this paper, we describe our experiences and give an industrial perspective on what is needed to make this technology have broader appeal to industry. Our overall impression is that the technology does work for industrial strength applications, but that it needs additional work to make it more usable. We believe this work marks a turning point in the use of mathematically rigorous approaches to industrial strength software development and maintenance.It is interesting to note that when this technology is applied to software systems whose outputs are designs for airplane parts, the design rationale that is captured is not only software engineering design rationale, but also design rationale from other engineering disciplines (e.g., mechanical, material, manufacturing, electrical, human factors, etc.). This suggests the technology provides an approach to general systems engineering that enables one to structure and reuse engineering knowledge broadly.