DOC PREVIEW
SJSU CMPE 133 - Any Information Hiding

This preview shows page 1-2 out of 6 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 6 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 6 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 6 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

AnyInformationHiding: A Stable Design Pattern Dr. Mohamed Fayad and Haritha Kilaru Computer Engineering Department, College of Engineering, San Jose State University One Washington Square, San Jose, CA 95192-0180 [email protected], [email protected] Abstract The AnyInformationHiding design pattern models the concept of information hiding and the interactions between parties associated with it in any application. Information hiding is used in different domains for reasons specific to each domain. This pattern makes it easy to model information hiding in any application in a generic way by capturing the core knowledge of information hiding. It uses the Software Stability Model to develop a generic model that can be extended for different application scenarios. This reduces the repetition of modeling information hiding in each domain separately. Key Words Software Stability Model, Stable Design Patterns, Enduring Business Themes, and Business Objects 1. Introduction Information hiding is used in many applications. Although a lot of systems use information hiding, each system may have its own reasons hiding information. The type of information that needs to be managed may also differ from application to application. For example, in a banking application, information hiding is used to hide the personal details of accounts from different people like bank tellers that need to access the banking system, while making only the required details accessible to them. In the case of a military weapons system, details about the weapon like the capacity, location, and launch procedure may need to be hidden from people. Where as in a software system, information hiding may be used to keep low dependency between individual components. The AnyInformationHiding design pattern tries to capture the core knowledge of information hiding that is common in all these application scenarios to come up with a stable and reusable pattern. Traditional system design practices rely on designing different solutions to model individual application scenarios that deal with the same concept such as information hiding. The Software Stability Model deals with this problem by capturing the core knowledge of the underlying concept as Enduring Business Themes (EBT) and Business Objects (BO), so that the model can be applied to any application domain by extending the BO as Industrial Objects (IO) that are specific to each application. Though the Bridge Pattern [4] deals with similar concepts, it mainly handles it in the context of hiding implementation details rather than hiding information. For further information please refer to the “Related Patterns” section. The objective of this paper is to design a stability model for information hiding by capturing the core knowledge of information hiding in a pattern that can be used as a basis to model different applications. It presents the AnyInformationHiding pattern, a stable design pattern [1] based on the concepts of the software stability model [1,2]. 2. Pattern Name: AnyInformationHiding Information hiding is an important principle in managing information for any system. The purpose could be to protect sensitive data in the application from unauthorized access or to make systems more stable by hiding implementation details that may change. In this pattern we try to generalize the use of information hiding principle for managing information access based on the sensitivity level attached. 3. Known As This pattern is similar to AnyEncapsulation and AnyAbstraction patterns. Though information hiding, encapsulation and abstraction may sound similar and are used interchangeably by some people, they represent different underlying principles [6]. Encapsulation refers to the bundling of data with the methods that operate on that data. Abstraction refers to the use interfaces and subclasses to present a class to its users. Where as information hiding is used for hiding data or how it is managed to protect. Information hiding is used for hiding complex implementation details or internal details that can change to protect the user from change or the need to know complex details to use the system.4. Context Information is a crucial component for any system to work properly. It should be easily accessible for the systems to function effectively and interoperate with other systems. On the other hand, information that is exposed improperly can lead to serious system compromises. In high-level business systems like banking and financial applications, keeping information safe is very important. The AnyInformationHiding design pattern deals with the issue of keeping the information hidden and secure while exposing the business methods required for conducting the required tasks. Information hiding can be also used to accomplish simplicity by hiding the complex details from the simple users of complex systems, leading to simple and effective user interfaces. For instance the complexity of focusing and adjusting the lighting conditions in a camera is hidden by the ‘auto focusing mechanism’ just exposing the stable point-and-shoot interface. This enables simple users also to use the cameras effectively without having the knowledge of professional photographers. The Information Hiding Design Pattern can be applied to various applications in diverse domains such as, software systems, complex applications like certain military projects and so on. This pattern can be applied to different applications for information hiding for various reasons like, keeping information secret or hiding complexity or protecting systems from change by hiding design components that are most likely to change. We have given application scenarios to illustrate this in Figure-3 and Figure-5. 5. Problem The Information Hiding design pattern covers the concept of information hiding in the context of many domains that are different in nature and functionality. Therefore, it makes sense to model a generic design pattern that can be applied to all these domains. However, the requirement to hide information for each domain may vary based on the information to be maintained along with users of the system and other participants. Moreover, the information that needs to be hidden comes from different domains. The fact that the information hiding is used in different ways in all these domains makes it difficult to come up with a generic model. Using the software stability model (SSM) [2] we solve this


View Full Document

SJSU CMPE 133 - Any Information Hiding

Download Any Information Hiding
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Any Information Hiding and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Any Information Hiding 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?