SIMULA: an ALGOL-based simulation language
Communications of the ACM
The Smalltalk-76 programming system design and implementation
POPL '78 Proceedings of the 5th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Inheritance and persistence in database programming languages
SIGMOD '86 Proceedings of the 1986 ACM SIGMOD international conference on Management of data
Types and persistence in database programming languages
ACM Computing Surveys (CSUR)
Acquiring knowledge by explaining observed problem solving
ACM SIGART Bulletin - Special issue on knowledge acquisition
Evolution of object behavior using context relations
SIGSOFT '96 Proceedings of the 4th ACM SIGSOFT symposium on Foundations of software engineering
Evolution of Object Behavior Using Context Relations
IEEE Transactions on Software Engineering
An entity-based database user interface
SIGMOD '80 Proceedings of the 1980 ACM SIGMOD international conference on Management of data
A simple software environment based on objects and relations
SLIPE '85 Proceedings of the ACM SIGPLAN 85 symposium on Language issues in programming environments
Integrating a network-structured database into an object-oriented programming language
Proceedings of the 1980 workshop on Data abstraction, databases and conceptual modeling
The design of an object oriented architecture
ISCA '84 Proceedings of the 11th annual international symposium on Computer architecture
High level language programming environments
ACM SIGSOFT Software Engineering Notes
Traits: A mechanism for fine-grained reuse
ACM Transactions on Programming Languages and Systems (TOPLAS)
Encapsulating and exploiting change with changeboxes
ICDL '07 Proceedings of the 2007 international conference on Dynamic languages: in conjunction with the 15th International Smalltalk Joint Conference 2007
Context-oriented programming: beyond layers
ICDL '07 Proceedings of the 2007 international conference on Dynamic languages: in conjunction with the 15th International Smalltalk Joint Conference 2007
Change-Enabled Software Systems
Software-Intensive Systems and New Computing Paradigms
On the definition of specialization hierarchies for procedures
IJCAI'81 Proceedings of the 7th international joint conference on Artificial intelligence - Volume 1
Large human-machine information spaces
IJCAI'81 Proceedings of the 7th international joint conference on Artificial intelligence - Volume 2
View based object oriented approach for complex system modelling
ECBS'97 Proceedings of the 1997 international conference on Engineering of computer-based systems
Hi-index | 0.00 |
Smalltalk is an object oriented programming language with behavior invoked by passing messages between objects. Objects with similar behavior are grouped into classes. These classes form a hierarchy. When an object receives a message, the class or one of its superclasses provides the corresponding method to be executed. We have built an experimental Personal Information Environment (PIE) in Smalltalk that extends this paradigm in several ways. A PIE object, called a node, can have multiple perspectives, each of which provides independent specialized behaviors for the object as a whole, thus providing multiple inheritance for nodes. Nodes have metadescription to guide viewing of the objects during browsing, provide default values, constrain the values of attributes, and define procedures to be run when values are sought or set. All nodes have unique names which allow objects to migrate between users and machines. Finally attribute lookup for nodes is context sensitive, thereby allowing alternative descriptions to be created and manipulated. This paper first reviews Smalltalk, then discusses our implementation of each of the above capabilities within PIE, a Smalltalk system for representing and manipulating designs. We then describe our experience with PIE applied to software development and technical writing. Our conclusion is that the resulting hybrid is a viable offspring for exploring design problems.