Communications of the ACM
EULER: a generalization of ALGOL and it formal definition: Part 1
Communications of the ACM
A modular verifiable exception handling mechanism
ACM Transactions on Programming Languages and Systems (TOPLAS) - Lecture notes in computer science Vol. 174
A generalized model management system for mathematical programming
ACM Transactions on Mathematical Software (TOMS)
Writing Larch interface language specifications
ACM Transactions on Programming Languages and Systems (TOPLAS)
A history of the Promis technology: an effective human interface
HPW '86 Proceedings of the ACM Conference on The history of personal workstations
Box structured information systems
IBM Systems Journal
A comparison of four design methods for real-time systems
ICSE '87 Proceedings of the 9th international conference on Software Engineering
Abstract interaction tools: a language for user interface management systems
ACM Transactions on Programming Languages and Systems (TOPLAS)
Type theories and object-oriented programmimg
ACM Computing Surveys (CSUR)
Mathematical Principles for a First Course in Software Engineering
IEEE Transactions on Software Engineering
A history of the promis technology: an effective human interface
A history of personal workstations
Performance Properties of Vertically Partitioned Object-Oriented Systems
IEEE Transactions on Software Engineering
Analogical approach to specification derivation
IWSSD '89 Proceedings of the 5th international workshop on Software specification and design
Software Size Estimation of Object-Oriented Systems
IEEE Transactions on Software Engineering
Structured analysis and object-oriented design are compatible
ACM SIGAda Ada Letters
A conceptual model for megaprogramming
ACM SIGSOFT Software Engineering Notes
HOPL-II The second ACM SIGPLAN conference on History of programming languages
Parametrized programming in LILEANNA
SAC '93 Proceedings of the 1993 ACM/SIGAPP symposium on Applied computing: states of the art and practice
BATCES solution #1: an object-oriented design from functional requirements analysis
ACM SIGAda Ada Letters
BITS: a smartcard protected operating system
Communications of the ACM
A taxonomy of software development methods
Communications of the ACM
Typechecking and modules for multi-methods
OOPSLA '94 Proceedings of the ninth annual conference on Object-oriented programming systems, language, and applications
Abstract Data Views: An Interface Specification Concept to Enhance Design for Reuse
IEEE Transactions on Software Engineering
Typechecking and modules for multimethods
ACM Transactions on Programming Languages and Systems (TOPLAS)
Information systems modeling: an object oriented development method
WADAS '92 Proceedings of the ninth Washington Ada symposium on Ada: Empowering software users and developers
Successful software engineering research
ACM SIGSOFT Software Engineering Notes
Formal specification: a roadmap
Proceedings of the Conference on The Future of Software Engineering
Programming and Documenting Software Projects
ACM Computing Surveys (CSUR)
Fault Tolerant Operating Systems
ACM Computing Surveys (CSUR)
Operating System Structures to Support Security and Reliable Software
ACM Computing Surveys (CSUR)
ACM Computing Surveys (CSUR)
ACM Transactions on Programming Languages and Systems (TOPLAS)
Final Data Types and Their Specification
ACM Transactions on Programming Languages and Systems (TOPLAS)
A Fortran programming methodology based on data abstraction
Communications of the ACM
Specification and verification of the UCLA Unix security kernel
Communications of the ACM
Structured programming in Cobol: an approach for application programmers
Communications of the ACM
Proof techniques for hierarchically structured programs
Communications of the ACM
Abstract data types and the development of data structures
Communications of the ACM
An example of hierarchical design and proof
Communications of the ACM
Communications of the ACM
Security Kernel validation in practice
Communications of the ACM
Communications of the ACM
Use of the concept of transparency in the design of hierarchically structured systems
Communications of the ACM
Exception handling: issues and a proposed notation
Communications of the ACM
On the criteria to be used in decomposing systems into modules
Communications of the ACM
Foundations of the Trace Assertion Method of Module Interface Specification
IEEE Transactions on Software Engineering
Software engineering in an academic computer science curriculum
ACM SIGCSE Bulletin
Behavioral contracts and behavioral subtyping
Proceedings of the 8th European software engineering conference held jointly with 9th ACM SIGSOFT international symposium on Foundations of software engineering
POPL '75 Proceedings of the 2nd ACM SIGACT-SIGPLAN symposium on Principles of programming languages
POPL '83 Proceedings of the 10th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Contracts for higher-order functions
Proceedings of the seventh ACM SIGPLAN international conference on Functional programming
An axiomatic treatment of exception handling
POPL '82 Proceedings of the 9th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Splitting the Difference: The Historical Necessity of Synthesis in Software Engineering
IEEE Annals of the History of Computing
IEEE Transactions on Software Engineering
Data interfaces versus control interfaces: a half-baked conjecture
ACM SIGARCH Computer Architecture News
On Trace Assertion Method of Module Interface Specification with Concurrency
RSCTC '00 Revised Papers from the Second International Conference on Rough Sets and Current Trends in Computing
Extended Static Checking: A Ten-Year Perspective
Informatics - 10 Years Back. 10 Years Ahead.
Interface Compatibility Checking for Software Modules
CAV '02 Proceedings of the 14th International Conference on Computer Aided Verification
It is not time to define "structured programming"
ACM SIGOPS Operating Systems Review
A modular representation of the access control system
ACM SIGOPS Operating Systems Review
Algebraic specifications: some old history and new thoughts
Nordic Journal of Computing
A theory model core for module interconnection languages
CASCON '94 Proceedings of the 1994 conference of the Centre for Advanced Studies on Collaborative research
Zeus: A hardware description language for VLSI
DAC '83 Proceedings of the 20th Design Automation Conference
Towards a family of languages for the design and implementation of machine architectures
ISCA '82 Proceedings of the 9th annual symposium on Computer Architecture
Communication system design using ADA
ICSE '84 Proceedings of the 7th international conference on Software engineering
A system for program refinement
ICSE '79 Proceedings of the 4th international conference on Software engineering
Pragmatic techniques for program analysis and verification
ICSE '79 Proceedings of the 4th international conference on Software engineering
Pilot: A software engineering case study
ICSE '79 Proceedings of the 4th international conference on Software engineering
ICSE '79 Proceedings of the 4th international conference on Software engineering
Specification and implementation of parallel activities on abstract objects
ICSE '79 Proceedings of the 4th international conference on Software engineering
The use of a Module Interconnection Language in the SARA system design methodology
ICSE '79 Proceedings of the 4th international conference on Software engineering
Direct architectural implementation of a requirements-oriented computing structure
MICRO 12 Proceedings of the 12th annual workshop on Microprogramming
SIGMA-CAD: Some new concepts in design of general purpose CAD systems
DAC '78 Proceedings of the 15th Design Automation Conference
Topics in design automation data bases
DAC '78 Proceedings of the 15th Design Automation Conference
Behavior modelling during software design
ICSE '78 Proceedings of the 3rd international conference on Software engineering
A type-checking program linkage system for pascal
ICSE '78 Proceedings of the 3rd international conference on Software engineering
Software engineering in avionics applications
ICSE '78 Proceedings of the 3rd international conference on Software engineering
Concurrent software system design supported by SARA at the age of one
ICSE '78 Proceedings of the 3rd international conference on Software engineering
Designing software for ease of extension and contraction
ICSE '78 Proceedings of the 3rd international conference on Software engineering
The design of the virtual memory aspects of a virtual machine
Proceedings of the workshop on virtual computer systems
A Report On The Development Of Gypsy
ACM '78 Proceedings of the 1978 annual conference
Engineering A Program Optimizer
ACM '78 Proceedings of the 1978 annual conference
Factored Specifications In The Synthesis Of LISP Functions
ACM '78 Proceedings of the 1978 annual conference
Disposable and endurant programming
SIGCSE '80 Proceedings of the eleventh SIGCSE technical symposium on Computer science education
DAC '76 Proceedings of the 13th Design Automation Conference
DAC '76 Proceedings of the 13th Design Automation Conference
Software reliability and design: A survey
DAC '76 Proceedings of the 13th Design Automation Conference
A course on software engineering techniques
SIGCSE '72 Proceedings of the second SIGCSE technical symposium on Education in computer science
Namespaces semipermeable membranes for APL applications
APL '81 Proceedings of the international conference on APL
Specialization of SARA for software synthesis
Proceedings of the Symposium on Design Automation and Microprocessors
A methodology for producing reliable software systems
ACM '73 Proceedings of the ACM annual conference
Overview of the Hydra Operating System development
SOSP '75 Proceedings of the fifth ACM symposium on Operating systems principles
A comment on the confinement problem
SOSP '75 Proceedings of the fifth ACM symposium on Operating systems principles
The enforcement of security policies for computation
SOSP '75 Proceedings of the fifth ACM symposium on Operating systems principles
A methodology for the specification of graphical user interface
SIGGRAPH '81 Proceedings of the 8th annual conference on Computer graphics and interactive techniques
SIGMINI '76 Proceedings of the ACM SIGMINI/SIGPLAN interface meeting on Programming systems in the small processor environment
The use of abstract data types to simplify program modifications
Proceedings of the 1976 conference on Data : Abstraction, definition and structure
Abstract types defined as classes of variables
Proceedings of the 1976 conference on Data : Abstraction, definition and structure
A methodology for decomposing system requirements into data processing requirements
ICSE '76 Proceedings of the 2nd international conference on Software engineering
Towards an engineering approach to software design
ICSE '76 Proceedings of the 2nd international conference on Software engineering
The design of data type specifications
ICSE '76 Proceedings of the 2nd international conference on Software engineering
Software development and proofs of multi-level security
ICSE '76 Proceedings of the 2nd international conference on Software engineering
Response to undesired events in software systems
ICSE '76 Proceedings of the 2nd international conference on Software engineering
The design, analysis, and verification of the SIFT fault tolerant system
ICSE '76 Proceedings of the 2nd international conference on Software engineering
Data flow, abstraction levels and specifications for communications switching systems
ICSE '76 Proceedings of the 2nd international conference on Software engineering
A system for automatic software evaluation
ICSE '76 Proceedings of the 2nd international conference on Software engineering
An editor for documentation in &pgr;-system to support software development and maintenance
ICSE '82 Proceedings of the 6th international conference on Software engineering
A study of protection in programming languages
Proceedings of an ACM conference on Language design for reliable software
Some extensions to algebraic specifications
Proceedings of an ACM conference on Language design for reliable software
Specification techniques for data abstractions
Proceedings of the international conference on Reliable software
Programming-in-the large versus programming-in-the-small
Proceedings of the international conference on Reliable software
On attaining reliable software for a secure operating system
Proceedings of the international conference on Reliable software
Proceedings of the international conference on Reliable software
On the connections between range of variable and control structure testing
Proceedings of the international conference on Reliable software
A module interface specification language
DAC '75 Proceedings of the 12th Design Automation Conference
Towards a practical specification language
ACM '81 Proceedings of the ACM '81 conference
Educator's view of structured concepts
ACM '80 Proceedings of the ACM 1980 annual conference
Practical applications of path pascal in systems programming
ACM '79 Proceedings of the 1979 annual conference
Logical Structure Specification and data type definition
ACM '79 Proceedings of the 1979 annual conference
Formal module level specifications
ACM '77 Proceedings of the 1977 annual conference
ACM '77 Proceedings of the 1977 annual conference
On the specification and quantification of software performance objectives
ACM '77 Proceedings of the 1977 annual conference
A course in effective programming
SIGCSE '75 Proceedings of the fifth SIGCSE technical symposium on Computer science education
Architecture Definition Technique: Its objectives theory, process, facilities, and practice
SIGFIDET '72 Proceedings of 1972 ACM-SIGFIDET workshop on Data description, access and control
Test data as an aid in proving program correctness
POPL '76 Proceedings of the 3rd ACM SIGACT-SIGPLAN symposium on Principles on programming languages
On structuring operating systems with monitors
ACM SIGOPS Operating Systems Review
A Framework for Detecting Interface Violations in Component-Based Software
ICSR '98 Proceedings of the 5th International Conference on Software Reuse
IWSSD '96 Proceedings of the 8th International Workshop on Software Specification and Design
A technique for passing reference parameters in an information-hiding architecture
ACM SIGARCH Computer Architecture News
The secret history of information hiding
Software pioneers
On the criteria to be used in decomposing systems into modules
Software pioneers
Abstract data types and the development of data structures
Software pioneers
The external consistency of abstract data types
ACM SIGPLAN Notices
Ambiguities and insecurities in Modula-2
ACM SIGPLAN Notices
Structured programming: a minor part of software engineering
Information Processing Letters - Special issue: Contribution to computing science
On the specification of software components
IWSSD '91 Proceedings of the 6th international workshop on Software specification and design
Aspects of the ALGOL 68 mode structure
ACM SIGPLAN Notices
Suggestions about a specification technique
ACM SIGPLAN Notices
On the need for fewer restrictions in changing compile-time environments
ACM SIGPLAN Notices
Limits of the "algebraic" specification of abstract data types
ACM SIGPLAN Notices
On the application of Rothon diagrams to data abstraction
ACM SIGPLAN Notices
A catalogue of graphical interaction techniques
ACM SIGGRAPH Computer Graphics
A student group project in operating system implementation
SIGCSE '78 Papers of the SIGCSE/CSA technical symposium on Computer science education
Rapid prototyping by means of abstract module specifications written as trace axioms
Proceedings of the workshop on Rapid prototyping
The smart stub as a software management tool
ACM SIGSOFT Software Engineering Notes
Languages for representing software specifications and designs
ACM SIGSOFT Software Engineering Notes
Some remarks on the use of abstract specifications for operating systems
ACM SIGSOFT Software Engineering Notes
Comparison of algebraic and state-machine specification methods
ACM SIGSOFT Software Engineering Notes
Contract-Checking Wrappers for C++ Classes
IEEE Transactions on Software Engineering
Queue - Programming Languages
History of programming languages---II
Incrementalization across object abstraction
OOPSLA '05 Proceedings of the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
The Structural Complexity of Software: An Experimental Test
IEEE Transactions on Software Engineering
Conference record of the 33rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A historical perspective on runtime assertion checking in software development
ACM SIGSOFT Software Engineering Notes
Expressing heap-shape contracts in linear logic
Proceedings of the 5th international conference on Generative programming and component engineering
The impact of research on middleware technology
ACM SIGSOFT Software Engineering Notes
The impact of research on middleware technology
ACM SIGOPS Operating Systems Review
How Helen Keller used syntactic semantics to escape from a Chinese Room
Minds and Machines
On the criteria to be used in decomposing systems into modules
Classics in software engineering
Separation of concerns in translational semantics for DSLs in model engineering
Proceedings of the 2007 ACM symposium on Applied computing
Toward a design methodology for DBMS: a software engineering approach
VLDB '77 Proceedings of the third international conference on Very large data bases - Volume 3
Exception Handling and Software Fault Tolerance
IEEE Transactions on Computers
The Types and Interactions of Vertical Migrations of Functions in a Multilevel Interpretive System
IEEE Transactions on Computers
Capability Based Tagged Architectures
IEEE Transactions on Computers
Programming Languages The First 25 Years
IEEE Transactions on Computers
Synthesis of a software security system
ACM '74 Proceedings of the 1974 annual ACM conference - Volume 2
Implicitly-threaded parallelism in Manticore
Proceedings of the 13th ACM SIGPLAN international conference on Functional programming
Lazy Contract Checking for Immutable Data Structures
Implementation and Application of Functional Languages
A summary of progress toward proving program correctness
AFIPS '72 (Fall, part I) Proceedings of the December 5-7, 1972, fall joint computer conference, part I
Some conclusions from an experiment in software engineering techniques
AFIPS '72 (Fall, part I) Proceedings of the December 5-7, 1972, fall joint computer conference, part I
Static contract checking for Haskell
Proceedings of the 36th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
AFIPS '74 Proceedings of the May 6-10, 1974, national computer conference and exposition
Document based rational software development
Knowledge-Based Systems
Component Interface Documentation: What do we Need and Why do we Need it?
Proceedings of the 2006 conference on New Trends in Software Methodologies, Tools and Techniques: Proceedings of the fifth SoMeT_06
Conceptual Modeling: Past, Present and the Continuum of the Future
Conceptual Modeling: Foundations and Applications
A document driven methodology for developing a high quality Parallel Mesh Generation Toolbox
Advances in Engineering Software
Putting theories together to make specifications
IJCAI'77 Proceedings of the 5th international joint conference on Artificial intelligence - Volume 2
Abstract design and program translator: new tools for software design
IBM Systems Journal
Architecture prototyping in the software engineering environment
IBM Systems Journal
ACM Transactions on Programming Languages and Systems (TOPLAS)
Web applications: spaghetti code for the 21st century
Web applications: spaghetti code for the 21st century
Abstract design and program translator: new tools for software design
IBM Systems Journal
Proceedings of the 15th Conference on Pattern Languages of Programs
A pattern logic for prompt lazy assertions in Haskell
IFL'06 Proceedings of the 18th international conference on Implementation and application of functional languages
Toward specifications for reconfigurable component systems
ICATPN'07 Proceedings of the 28th international conference on Applications and theory of Petri nets and other models of concurrency
Proceedings of the 2010 ACM Symposium on Applied Computing
Agent-oriented programming: from prolog to guarded definite clauses
Agent-oriented programming: from prolog to guarded definite clauses
D: a programming language for our time
Journal of Computing Sciences in Colleges
From Requirements to Architecture
Proceedings of the 2010 conference on New Trends in Software Methodologies, Tools and Techniques: Proceedings of the 9th SoMeT_10
The mashware challenge: bridging the gap between web development and software engineering
Proceedings of the FSE/SDP workshop on Future of software engineering research
A semantics for lazy assertions
Proceedings of the 20th ACM SIGPLAN workshop on Partial evaluation and program manipulation
An experimental assessment of module documentation-based testing
Information and Software Technology
Management of large software development efforts
MIS Quarterly
Contracts as pairs of projections
FLOPS'06 Proceedings of the 8th international conference on Functional and Logic Programming
Formal Methods in Software and Systems Modeling
Expressive pointcuts for increased modularity
ECOOP'05 Proceedings of the 19th European conference on Object-Oriented Programming
Geospatial semantics: why, of what, and how?
Journal on Data Semantics III
Software engineering: multi-person development of multi-version programs
Dependable and Historic Computing
Message oriented programming-A resource based methodology
Computer Languages
Partitioning considerations for complex computer based weapon systems
Journal of Systems and Software
Abstraction hierarchies in top-down design
Journal of Systems and Software
Embedded system design with ada as the system design language
Journal of Systems and Software
Modeling the growth of complex software function dependency networks
Information Systems Frontiers
ICFP 2002: Contracts for higher-order functions
ACM SIGPLAN Notices - Supplemental issue
Incremental software design modelling
CASCON '13 Proceedings of the 2013 Conference of the Center for Advanced Studies on Collaborative Research
The impact of research on the development of middleware technology
ACM Transactions on Software Engineering and Methodology (TOSEM)
Hi-index | 48.45 |
This paper presents an approach to writing specifications for parts of software systems. The main goal is to provide specifications sufficiently precise and complete that other pieces of software can be written to interact with the piece specified without additional information. The secondary goal is to include in the specification no more information than necessary to meet the first goal. The technique is illustrated by means of a variety of examples from a tutorial system.