The use of temporal logic in the compositional specification of concurrent systems
Temporal logics and their applications
A denotational semantics of inheritance and its correctness
OOPSLA '89 Conference proceedings on Object-oriented programming systems, languages and applications
Specification and transformation of programs: a formal approach to software development
Specification and transformation of programs: a formal approach to software development
Object oriented design with applications
Object oriented design with applications
Object-oriented specification of reactive systems
ICSE '90 Proceedings of the 12th international conference on Software engineering
Handbook of theoretical computer science (vol. B)
Handbook of theoretical computer science (vol. B)
The temporal logic of reactive and concurrent systems
The temporal logic of reactive and concurrent systems
Software engineering (3rd ed.): a practitioner's approach
Software engineering (3rd ed.): a practitioner's approach
Object-oriented modeling and design
Object-oriented modeling and design
Communications of the ACM
Larch: languages and tools for formal specification
Larch: languages and tools for formal specification
Application integration: constructing composite applications from interactive components
Software—Practice & Experience
Roles for composite objects in object-oriented analysis and design
OOPSLA '93 Proceedings of the eighth annual conference on Object-oriented programming systems, languages, and applications
Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
Design patterns for object-oriented software development
Design patterns for object-oriented software development
Designing object systems: object-oriented modelling with Syntropy
Designing object systems: object-oriented modelling with Syntropy
Abstract Data Views: An Interface Specification Concept to Enhance Design for Reuse
IEEE Transactions on Software Engineering
Using dynamic classes and role classes to model object migration
Theory and Practice of Object Systems - Special issue on the 1994 European Conference of Object Oriented Programming
Formal specification of reusable interface objects
SSR '95 Proceedings of the 1995 Symposium on Software reusability
Formalizing and integrating the dynamic model within OMT
ICSE '97 Proceedings of the 19th international conference on Software engineering
IEEE Transactions on Software Engineering
Formal Object-Oriented Development
Formal Object-Oriented Development
Fundamentals of Algebraic Specification I
Fundamentals of Algebraic Specification I
A Formal Semantics for Object Model Diagrams
IEEE Transactions on Software Engineering
Sometimes "Tomorrow" is "Sometime" - Action Refinement in a Temporal Logic of Objects
ICTL '94 Proceedings of the First International Conference on Temporal Logic
Reactive System Specification and Refinement
TAPSOFT '95 Proceedings of the 6th International Joint Conference CAAP/FASE on Theory and Practice of Software Development
TAPSOFT '95 Proceedings of the 6th International Joint Conference CAAP/FASE on Theory and Practice of Software Development
Role of VDM(++) in the Development of a Real-Time Tracking and Tracing System
FME '93 Proceedings of the First International Symposium of Formal Methods Europe on Industrial-Strength Formal Methods
A Formal Approach to Architectural Design Patterns
FME '96 Proceedings of the Third International Symposium of Formal Methods Europe on Industrial Benefit and Advances in Formal Methods
Using a Logical and Categorical Approach for the Validation of Fault-Tolerant Systems
FME '96 Proceedings of the Third International Symposium of Formal Methods Europe on Industrial Benefit and Advances in Formal Methods
A Formal Architectural Design Patterns-Based Approach to Software Understanding
WPC '96 Proceedings of the 4th International Workshop on Program Comprehension (WPC '96)
Composing pattern-based components and verifying correctness
Journal of Systems and Software
Taming agents and objects in software engineering
Software engineering for large-scale multi-agent systems
Complex components abstraction in graphical user interfaces
HCII'11 Proceedings of the 14th international conference on Human-computer interaction: design and development approaches - Volume Part I
A formal theory for the views-a relationship
3FACS'98 Proceedings of the 3rd BCS-FACS conference on Northern Formal Methods
Hi-index | 0.03 |
This paper motivates and describes a logic-based approach to specifying and reasoning about interfaces and objects that focuses on separation of concerns issues. The approach is based on the Abstract Design View (ADV), a software design model for object-oriented systems. The model was originally introduced to characterize, in an informal and practical setting, a clear separation between objects, which we called Abstract Design Objects (ADOs) and their interfaces (ADVs). The objects capture the basic concern (the fundamental computation algorithm and basic functionality as it is relevant to an application domain), while the interfaces capture special concerns such as user interface, control, timing, and distribution. First, we analyze the ADV design model in order to precisely characterize the interfaces, their associated objects, and the relationship between them. This relationship, which we call 驴views-a,驴 is formally characterized through its semantic properties. Then, we present one possible approach to formalizing interfaces, objects, and the 驴views-a驴 relationship. The central mathematical tools used for this purpose are temporal logic and some tools from category theory. The formal approach is illustrated by examples that show how the interface and related objects and the views-a relationship can be used in object-oriented specifications. Once the designer identifies the concerns, the theory provides a formal means to define, separate, and use interfaces to capture the specific concerns in object-oriented design. Further, the theory provides a formal means to combine the interfaces that capture the concerns. We also show how the theory enables the designer to perform relevant analysis activities while modeling with separation of concerns in mind. The theory can be used to derive dynamic and structural properties of the interface objects and the views-a relationship. In particular, we can use the theory to derive global properties of interfaces that capture special concerns from the local properties of their related objects.