1 / 22

Subject Oriented Computing

Subject Oriented Computing. Michelet del Carpio Chávez. Roteiro. Introdução Subject Oriented Programming Subject Oriented Design Conclusões. Introdução. Estilo de programação ‘maduro’ - 1993 Crítica o ‘purismo’ da orientação a objetos e suas limitações Extensão visionária do paradigma OO

yachi
Download Presentation

Subject Oriented Computing

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Subject Oriented Computing Michelet del Carpio Chávez Copyleft - Michelet del Carpio

  2. Roteiro • Introdução • Subject Oriented Programming • Subject Oriented Design • Conclusões Copyleft - Michelet del Carpio

  3. Introdução • Estilo de programação ‘maduro’ - 1993 • Crítica o ‘purismo’ da orientação a objetos e suas limitações • Extensão visionária do paradigma OO • Enfatiza os conceitos de Identidade e Subjective Visions Copyleft - Michelet del Carpio

  4. Modelo OO Copyleft - Michelet del Carpio

  5. Modelo Subject Oriented Copyleft - Michelet del Carpio

  6. Exemplo I: Classe Árvore Lenhador Ave de Rapinha Copyleft - Michelet del Carpio

  7. Exemplo II – Pequeno sistema de consulta de Extrato Copyleft - Michelet del Carpio

  8. Subject Oriented Programming (1/5) Objetivos Viabilizar a composição de software de forma separada. As aplicações componentes não devem ser explicitamente dependentes entre si As aplicações componentes devem cooperar de forma livre e estar bem conectadas Deve ser possível incluir novas aplicações sem ter de alterar as existentes [Har93] Copyleft - Michelet del Carpio

  9. Subject Oriented Programming (2/5) Conceitos e princípios Baseado na teoria de objetos Orientado a Subjects: A programação está dirigida pelos estados do objeto e as especificações do seu comportamento relacionados a um interesse particular [Bal06] Interesse: É uma expectativa ou objetivo do stakeholder Composição de especificações Relações de composição Especificações de integração Copyleft - Michelet del Carpio

  10. Mas ... o que é um Subject? • De acordo com Harrison e Ossher o termo subject define um conjunto de especificações de estados e comportamentos que refletem a uma concepção do mundo (identity). • Qualquer objeto pode ser visto como uma composição de vários subjects, onde cada subject pode ser controlado separadamente. Copyleft - Michelet del Carpio

  11. Subject Oriented Programming (3/5) Descrição SOP é um paradigma de programação proposto por Harrison e Ossher (da IBM) Qualquer objeto pode ser visto como uma composição de vários subjects, donde cada subject pode ser gerenciado separadamente. A implementação mais conhecida de SOP é a linguagem Hyper/J Copyleft - Michelet del Carpio

  12. Subject Oriented Programming (4/5) Ferramental – Hyper/J É uma aplicação Java que permite a composição de classes Java de acordo com regras de composição definidas num arquivo. IBM® VisualAge® for C++ Version 4 Copyleft - Michelet del Carpio

  13. Subject Oriented Programming (5/5) Vantagens SOP é um paradigma genérico de programação que permite a separação de interesses. Facilita o rastreamento de requisitos -casos de uso ou histórias (XP)- em código fonte. SOP facilita a compreensão do sistema Permite a definição de padrões estruturais complexos. Copyleft - Michelet del Carpio

  14. Opinião de outros autores... SOP é uma aplicação avançada do conceito de separação de interesses [Gie06] SOP representa um enfoque para computação distribuída e é uma tentativa para descentralizar o desenvolvimento.[McR99] Copyleft - Michelet del Carpio

  15. Opinião de outros autores... SOP é uma extensão do modelo clássico de OO.Ela aproveita os recursos de padrões de projeto compostos (composite design patterns) [Dir97] como sua melhor metodologia de implementação.[Oss99] Enquanto POO suporta a seleção automática de um método para determinado tipo de mensagem dentro de um conjunto de classes, o paradigma orientado a subjects suporta a combinação (ou junção) de métodos para uma mensagem dentre diferentes subjects [Kic97] Copyleft - Michelet del Carpio

  16. Subject-Oriented Design (SOD) • Contexto: • Ciclo de vida de modelos de software. • Manter informações coerentes entre requisitos, modelos e código é uma atividade custosa (se for feita...) • Aproveitando as características de SOP, Clarke, Harrison, Ossher e Tarr apresentam um novo método de projeto orientado a subjects (SOD) Copyleft - Michelet del Carpio

  17. Subject-Oriented Design • Características: • SOD é um modelo de projeto que está dividido em subject designs. Cada elemento encapsula um interesse num modelo OO. • Segundo A. Solberg, um modelo de projeto completo é conseguido através da composição de subjects, onde cada subject representa um requisito do sistema ou interesse. • Por outro lado, cada subject design modela todas e somente aquelas partes do sistema de software que pertencem àquele interesse. Copyleft - Michelet del Carpio

  18. Subject Oriented Design • Exemplo de modelo – Avaliador de Expressões • O exemplo, detalhado por P. Tarr, consiste numa ferramenta CASE, um dos subjects é o avaliador de expressões. Copyleft - Michelet del Carpio

  19. Subject Oriented Design Copyleft - Michelet del Carpio

  20. Conclusões • Subject Oriented Computing é um enfoque baseado na especificação de requisitos cujo objetivo é a síntese de modelos de projeto OO por meio de design subjects. • A pesar sua utilidade na descrição de interesses e funcionalidades do sistema -de forma estrutural- ainda falta pesquisa e resultados sobre a parte funcional dos subjects ou mesmo ferramentas que apóiem sua representação. Copyleft - Michelet del Carpio

  21. Bibliografia • [Cla99] S. Clarke, W. Harrison, H. Ossher, and P. Tarr. Separating concerns throughout the development lifecycle. In Proceedings of the 3rd ECOOP Aspect-Oriented Programming Workshop, Lisbon, Portugal, June 1999. • [Dij76] Dijkstra, E. W. (1976). A discipline of programming. Englewood Cliffs N.J: Prentice Hall. • [Dir97] Dirk Riehle (1997). Composite design patterns. Conference on Object Oriented Programming Systems Languages and Applications. Proceedings of the 12th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications ; 218 - 228  • [Har93] Harrison, W. , Ossher H. (1993). Subject-Oriented programming (a critique of pure objects). ACM SIGPLAN Notices 28, 411-428. • [GIE06] Holger Giese, A. V. (2006). Separation of non-orthogonal concerns in software architecture and design. Software and Systems Modeling, 136-169. • [Kic97] Kiczales, L. M. (1997). Aspect-Oriented Programing.Palo Alto, CA: Xerox Palo Alto Research Center. • [McR99] McReynolds, Ruggins, Galli, Mayer (1999). Distributed Characteristics of Subject Oriented Programming: An Evaluation with the Process and Object Paradigms. Copyleft - Michelet del Carpio

  22. Bibliografia • [Oss97] Ossher, Kaplan, Katz, Harrison and Kruskal, Specifying Subject-Oriented Composition, Theory and Practice of Object Systems, Vol. 2(3), pp. 179-202, 1996. • [Oss99] Ossher H., Tarr P. Using Subject-Oriented Programming to Overcome Common Problems in Object-Oriented Software Development/Evolution. PROC INT CONF SOFTWARE ENG . pp. 687-688. 1999 • [Bal06] Pavel Balabko, A. W. (2006). Systemic classification of concern-based design methods in the context of enterprise architecture. Inf Syst Front, 115-131. • [Sol05] Solberg, A., Simmonds, D., Reddy, R., Ghosh, S., & France, R. (2005). Using Aspect Oriented Techniques to Support Separation of Concerns in Model Driven Development. COMPSAC 2005.2 pp. 121-126. Computer Software and applications Conference,. • [Tar99] Tarr, P., Ossher, H., Harrison, W., Sutton, S.M. “N Degrees of Separation: Multi-Dimensional Separation of Concerns” to appear in: Proc. ICSE’99 Copyleft - Michelet del Carpio

More Related