The psychology of computer programming
The psychology of computer programming
ACM Computing Surveys (CSUR)
A technique for software module specification with examples
Communications of the ACM
A contribution to the development of ALGOL
Communications of the ACM
Programming with abstract data types
Proceedings of the ACM SIGPLAN symposium on Very high level languages
The System Language for Project SUE
Proceedings of the SIGPLAN symposium on Languages for system implementation
Hints on programming language design.
Hints on programming language design.
Global variable considered harmful
ACM SIGPLAN Notices
Variables: bindings and protection
ACM SIGPLAN Notices
Graphical Configuration Programming
Computer
The Evolving Philosophers Problem: Dynamic Change Management
IEEE Transactions on Software Engineering
Thinking objectively: software engineering in the small
Communications of the ACM
Communications of the ACM
Splitting the Difference: The Historical Necessity of Synthesis in Software Engineering
IEEE Annals of the History of Computing
Behavioral patterns for software requirement engineering
CASCON '95 Proceedings of the 1995 conference of the Centre for Advanced Studies on Collaborative research
Concurrent software system design supported by SARA at the age of one
ICSE '78 Proceedings of the 3rd international conference on Software engineering
Specialization of SARA for software synthesis
Proceedings of the Symposium on Design Automation and Microprocessors
PODC '84 Proceedings of the third annual ACM symposium on Principles of distributed computing
A data abstraction approach to database modelling
Proceedings of the 1980 workshop on Data abstraction, databases and conceptual modeling
Proceedings of the 1976 conference on Data : Abstraction, definition and structure
A system for automatic software evaluation
ICSE '76 Proceedings of the 2nd international conference on Software engineering
A survivable distributed computing system for embedded application programs written in Ada
ACM SIGAda Ada Letters
Proceedings of the 6th conference on Information technology education
A research agenda for distributed software development
Proceedings of the 28th international conference on Software engineering
JDA: a step towards large-scale reuse on the web
Companion to the 21st ACM SIGPLAN symposium on Object-oriented programming systems, languages, and applications
The impact of research on middleware technology
ACM SIGSOFT Software Engineering Notes
RobotStudio: a modern IDE-based approach to reality computing
Proceedings of the 38th SIGCSE technical symposium on Computer science education
The impact of research on middleware technology
ACM SIGOPS Operating Systems Review
ICER '08 Proceedings of the Fourth international Workshop on Computing Education Research
SEPADS'08 Proceedings of the 7th WSEAS International Conference on Software Engineering, Parallel and Distributed Systems
Database programming with data abstractions
AFIPS '81 Proceedings of the May 4-7, 1981, national computer conference
The construction of multi-agent systems as an engineering discipline
ESAW'06 Proceedings of the 7th international conference on Engineering societies in the agents world VII
Packaging and prioritizing software engineering research to maximize industry impact
Proceedings of the FSE/SDP workshop on Future of software engineering research
A graphical approach to component-based and extensible model checking platforms
Transactions on Petri Nets and Other Models of Concurrency V
Paper: A software architecture for distributed computer control systems
Automatica (Journal of IFAC)
The evolution of the GANDALF system
Journal of Systems and Software
Dependency solving: A separate concern in component evolution management
Journal of Systems and Software
Language design and analyzability: a retrospective
Software—Practice & Experience
Applied Ontology - Modularity in Ontologies
Bridging the chasm between MDE and the world of compilation
Software and Systems Modeling (SoSyM)
The impact of research on the development of middleware technology
ACM Transactions on Software Engineering and Methodology (TOSEM)
Hi-index | 0.03 |
We distinguish the activity of writing large programs from that of writing small ones. By large programs we mean systems consisting of many small programs (modules), possibly written by different people. We need languages for programming-in-the-small, i.e. languages not unlike the common programming languages of today, for writing modules. We also need a “module interconnection language” for knitting those modules together into an integrated whole and for providing an overview that formally records the intent of the programmer(s) and that can be checked for consistency by a compiler. We explore the software reliability aspects of such an interconnection language. Emphasis is placed on facilities for information hiding and for defining layers of virtual machines.