Odyssey A Reuse Environment based on Domain Models Prepared By: Mahmud Gabareen Eliad Cohen.

14
Odyssey A Reuse Environment based on Domain Models Prepared By: Mahmud Gabareen Eliad Cohen

Transcript of Odyssey A Reuse Environment based on Domain Models Prepared By: Mahmud Gabareen Eliad Cohen.

Page 1: Odyssey A Reuse Environment based on Domain Models Prepared By: Mahmud Gabareen Eliad Cohen.

OdysseyA Reuse Environment based on Domain Models

Prepared By:

Mahmud Gabareen

Eliad Cohen

Page 2: Odyssey A Reuse Environment based on Domain Models Prepared By: Mahmud Gabareen Eliad Cohen.

Introduction

• One of the most encourage reuse techniques available is Component-Based software Development.

• A reuse environment can help in the effective application of reuse, during software development since it provides methods, tools, and procedures.

• There is no environment that is capable of addressing all these aspects together.

• The Odyssey environment provides support to the whole development cycle from conceptual models to component implementation.

Page 3: Odyssey A Reuse Environment based on Domain Models Prepared By: Mahmud Gabareen Eliad Cohen.

Reuse Environment Diagrammatic View

Page 4: Odyssey A Reuse Environment based on Domain Models Prepared By: Mahmud Gabareen Eliad Cohen.

Odyssey Framework

1. Conceptual Models1. Conceptual Models

Understanding and recognition of concepts and functionalities by the Odyssey users. The main conceptual models used by Odyssey are:

Domain Context Diagram: situates the domain in relation to its scope, limits, relationships with other domains and main actors involved.

Domain Use Cases and related OO models: Capture the main functionalities of the domain, and help in the identification of the reusable components that are described in other OO models.

Feature Diagram: Presents the relationship among the concepts and functionalities of the domain, trying to explain what are the meaning of the main concepts in the domain and its relationship.

Page 5: Odyssey A Reuse Environment based on Domain Models Prepared By: Mahmud Gabareen Eliad Cohen.

Odyssey Framework

2. Architecture Model2. Architecture Model

• Partitioned by components: Each component specifies a domain task. Each component shows how its task can be architected. Describes the connections between components. The main architectural models are: Services (interfaces) Model of the components: Present

each component as a type that controls a series of services. Architectural Collaboration Model: Presents a global

architecture of the domain, including the interaction among the components of the domain. Classes model and state diagram for each participant

type of components: the definition of the internal component design deals with the definition, in greater detail, of the internal structure of each component.

Page 6: Odyssey A Reuse Environment based on Domain Models Prepared By: Mahmud Gabareen Eliad Cohen.

Odyssey Framework

3. Implementation Models3. Implementation Models

Formed by a set of code components that are related based on a CORBA protocol (Common Object Request Broker Architecture).

The components are more general, but they can be specialized by using techniques such as parameterization, class specialization, etc.

Page 7: Odyssey A Reuse Environment based on Domain Models Prepared By: Mahmud Gabareen Eliad Cohen.

Mediation Layer

Software layer that provides the integration of different domain databases (distributed and possibly various).

Reusable information is naturally divided by domain, which make the search for domain concepts easier.

Includes programs that make the connection between distributed databases, various data models, and users of this data, providing the information in an suitable format to the user.

Page 8: Odyssey A Reuse Environment based on Domain Models Prepared By: Mahmud Gabareen Eliad Cohen.

Odyssey Tools

Odyssey provides tools that enable users to specify and use domain models: Requirements Elicitation Tool:

The main model that is used in the acquisition process is the use case model.

Responsible for the gaining of domain information. Information Agent Tool:

This tool serves as a guide to the search for specific domain information.

When the user notifies some interest in a concept, the tool seeks the related concepts and other related information such as use cases, OO models, etc.

Page 9: Odyssey A Reuse Environment based on Domain Models Prepared By: Mahmud Gabareen Eliad Cohen.

Odyssey Tools

Architectural Transformation Tool: helps in the transformation of conceptual models to

architectural components models.

Pattern and Components Management System: It is responsible for the creation, deletion and

modification of patterns and components.

Page 10: Odyssey A Reuse Environment based on Domain Models Prepared By: Mahmud Gabareen Eliad Cohen.

Odyssey DE Method

The main objectives: Creation of components that can be reused in domain applications in all levels of application development. Creation of reusable components is done in an incremental and evolutionary process, i.e., as new information are aggregated to the domain, reusable components are developed or adapted based on the acquired information.

Method that retain the best features of the main current DE methods and at the same time avoid their shortcomings.

Covers every phase of DE with equal emphasis. Provides a domain viability analysis phase. Provide systematic approach transition from conceptual models to architectural models.

Page 11: Odyssey A Reuse Environment based on Domain Models Prepared By: Mahmud Gabareen Eliad Cohen.

Odyssey DE Method

Composed of four stages: Domain viability analysis: Analysis of the viability of the domain to provide a group of reusable components.

Domain analysis: Consists in the definition of main domain concepts, standing out similarities and differences among these concepts in high abstraction level.

Domain Design: Deals with specification of components interaction, internal components and architectural model.

Domain Implementation: Deals with writing the components code.

Page 12: Odyssey A Reuse Environment based on Domain Models Prepared By: Mahmud Gabareen Eliad Cohen.

Odyssey DE Method

Page 13: Odyssey A Reuse Environment based on Domain Models Prepared By: Mahmud Gabareen Eliad Cohen.

Definition and Users

• Odyssey domain engineering is an object-oriented domain analysis and engineering technique that uses component-based software development techniques.

• The main objective of the process is the creation of components that can be reused in domain applications in all levels of application development

• The main users of the environment are the domain engineer, the domain specialist and the software engineer responsible for the development of applications within that domain.

Page 14: Odyssey A Reuse Environment based on Domain Models Prepared By: Mahmud Gabareen Eliad Cohen.

Conclusion

Odyssey environment brings some interesting contributions, mainly in the following points:– Identification of technologies and specification of components

capable of addressing various stages involved in CBD.

– A DE method to support all phases of the process, including a viability analysis stage.

– Systematic use of high-level OO constructs, such as patterns, and its insertion into a DE method.

– Systematization of the transition between conceptual and architectural models.