SlideShare ist ein Scribd-Unternehmen logo
1 von 23
Business Rules Separation and Reuse
   Using MDA, OWL and AspectJ
       Jaguaraci B. Silva and Luciano P. Barreto
            {jaguarac,lportoba}@ufba.br

   Project: Deacouple Business Rules in the MDA
                 Models Building

 Federal University of Bahia (UFBA)
 Department of Computer Science (DCC)
 Distributed Systems Laboratory (LaSiD)
Motivation

• To ensure business rules/domain properties does not
  violate the specified properties in the application
  domain.
• Allows developers to both describe and corroborate
  domain properties at run-time.
• Increase dependability because of MDA growth up in
  several applications context.
• The business rules could not typically have been
  cared by the implementation code produced
  automatically.

2009-11                ISSRE 2009                   2
Objectives

• Business rules separation, allows secure and automatic
  way to insert final application code generated by
  independent models (PIM).

• The business rules are defined on ontology domain and
  are transformed in aspectJ. The aspects are merged
  and compiled in a specific model (PSM).

• OWLToAspectJ: a tool that automatically translates
  ontology business rules (OWL:Restrictions) in aspectJ.

2009-11                  ISSRE 2009                    3
Development Process Outline




2009-11              ISSRE 2009         4
Process Overview

(1) An ontology about application domain is conceived using a
   ontology tool (Protégé) ODM-based (Ontology Definition
   Metamodel) .
(2) The domain ontology generated into a platform independent
   model (PIM) then is converted to UML language using ODM-UML
   profile bridge.
(3) The PIM business rules will be transformed in a PSM model across
   of OWLtoAspectJ tool. Diverse PSMs models can be generated,
   being at less one:
    – for business rules
    – for other application PSM wished (e.g. Java SE, Java EE, RMI,
       Corba).
(4) Finally, the code application combines the business rules and
   application PSM using weaving process (Aspect-oriented
   Programming).

2009-11                       ISSRE 2009                           5
Contributions

• In making an approach to emerging technologies
  (MDA, OWL and AOP), was built a tool specifically for
  it (OWLtoAspectJ).

• In this boarding, was add a set of activities to orient
  the development process using MDA, OWL and AOP.

• Our approach uses OWL-DL and a reasoner tool
  (Racer) instead of OCL. It helps to verify the domain
  properties in a formal way for critical systems. The
  UML language does not support it actually.

2009-11                  ISSRE 2009                     6
Case Study – Furnace Management Application




2009-11                 ISSRE 2009                 7
Case Study – Overview of Industrial Process

• Reengineering of industrial furnace management
  application of Ferroalloys (e.g. Ferrochrome).

• For each alloys iron exist a recipe that has inputs (e.g.
  carbon, chromium, silicon). Theses inputs are put on
  in the industrial ovens in according to recipe made by
  production analyst.

• Sensors sends the plan data for a programmable
  logic controller (PLC) system managed.

2009-11                      ISSRE 2009                   8
Case Study – Domain Engineering Process

•     Conceptual modeling of application domain
     –    Functional requirements and business rules analysis
     –    UML for knowledge representation
     –    Domain modeling using ontology
     –    Verification of domain properties
     1. Domain modeling
           • Definition of concepts, axioms, properties, relationship
             between concepts
     2. Verification of domain properties
          •    Business rules definition using PAL (Protégé Axiomatic
               Language)
          •    Instance creations and business rules satisfatibility using
               reasoner for knowledge validation

2009-11                            ISSRE 2009                            9
Case Study – Functional Requirements Analisys




2009-11                   ISSRE 2009                  10
Case Study – Knowledge Representation in UML




2009-11                  ISSRE 2009                 11
Case Study – Translation business rules to PAL

                  Business rules                                           PAL

     1- An oven should only produce one                     ∀Product.Is_made_in_Oven exactly 1
product by time.

      2- During charge of ovens them should                 =Oven.Makes_a_Product exactly 1
produce exactly one product, should have inputs             =Oven.Has_a_Recipe exactly 1
that are part of one specific recipe to one kind of
product.                                                    ∀Oven.Has_a_Recipe only Recipe



     3– The oven is charge by the operator.                ∀Oven.Is_Charged_by_Operator only
                                                      Operator

     4 – An recipe has at less one input.                   ∀Recipe.Has_Input some Input




 2009-11                                       ISSRE 2009                                        12
Case Study – Verification of Domain (Instance)




2009-11                   ISSRE 2009                   13
Case Study – Business Rules Validation




2009-11                   ISSRE 2009               14
Case Study – PSM Building

• Generation of application domain from ontology to
  OWL
     – Classes, properties, relationship between classes, axioms
• Building PSM model to Java platform
     – UML backend (Protégé plugin for XMI)
     – Generate from PIM UML model to application Java code
       importing domain model XMI using UML tool
• Building PSM model to business rules
     – Separation and generation automatically of business rules
       from conceptual domain in OWL-DL format


2009-11                       ISSRE 2009                           15
Case Study – Business rules in OWL format

          <owl:
          <owl:Restriction>
           <owl:
           <owl:onProperty>
            <owl:
            <owl:ObjectProperty rdf:ID=“Is_Stored_in_the_Silo"/>
                                rdf:
           </owl:
           </owl:onProperty>
           <owl:maxCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#int"> 1
           <owl:               rdf:datatype="http://www.   org/2001
                                                               2001/XMLSchema#int">
           </owl:
           </owl:maxCardinality>
          </owl:
          </owl:Restriction>
          <owl:
          <owl:ObjectProperty rdf:about="#Is_Stored_in_the_Silo">
                              rdf:
          <rdfs:
          <rdfs:domain rdf:resource="#Input"/>
                       rdf:

          <rdfs:
          <rdfs:range rdf:resource="#Silo"/>
                      rdf:
          <owl:
          <owl:inverseOf rdf:resource="#Has_Input"/>
                         rdf:

          </owl:
          </owl:ObjectProperty>


2009-11                                          ISSRE 2009                             16
Case Study – OWLtoAspectJ tool




2009-11               ISSRE 2009           17
Case Study – Business rules translated to aspectJ

    package businessRules;

    import furnace.Operator;

      public aspect Oven_Is_Charged_by_Operator {

          public pointcut Operator() :
              call(* *.*Oven(..)) &&
              (!(call(* *.getOven(*)) || call(* *.setOven(*))));

         before():Operator() {
             Object obj = thisJoinPoint.getTarget();
             if (!(obj instanceof Operator)){
                       System.out.print("n          Exception     Rule:
    FornoE_carregado_por_Operador");
             }
          }
    }


2009-11                            ISSRE 2009                          18
Case Study – Business rules validation in run-time




2009-11                  ISSRE 2009                     19
Related works

• AOP and MDA:
   – Crosscut concerns (non-functional requirements) and
     business rules [CALA-INRIA]
   – PSM models generation in LOA (Aspect-oriented Language)
     [CALA-INRIA, LASID-UFBA]
• MDA and OWL:
   – Domain modeling and reuse using ontology [OMG]
   – Bridge between OWL and UML using ODM profile [LORE-
     SFU Surrey]
   – UML formalization using OWL-DL [Cin-UFPE, LASID-UFBA]


2009-11                    ISSRE 2009                     20
Conclusion

• Across of needs to check the domain properties
  defined for dependability of critical systems, was
  created a domain modeling process ontology-based.
• The definition of business rules by an ontology editor
  and validations them using reasoner (Racer), has
  warranty of functional requirements understading.
• Business rules extraction and validation before
  generating the PSMs on PIM level (OWL ontology).
  Improved reuse of business rules easier and can
  avoid implementation code fail because it is
  generates automatically in final application code.
2009-11                  ISSRE 2009                   21
Future works

• The business rules formalization before translates it
  to aspectJ for full warranty dependability them.
• Aspects concorrency evaluation from view point of
  business rules overlap.
• OWLtoAspectJ improve to standardize the violation
  messages and building a rules repository to merge
  rules in software produtc lines.
• Other works in progress in LASID involving formal
  verification and model transformation.

2009-11                 ISSRE 2009                   22
Business Rules Separation and Reuse
   Using MDA, OWL and AspectJ
       Jaguaraci B. Silva and Luciano P. Barreto
            {jaguarac,lportoba}@ufba.br

   Project: Deacouple Business Rules in the MDA
                 Models Building

 Federal University of Bahia (UFBA)
 Department of Computer Science (DCC)
 Distributed Systems Laboratory (LaSiD)

Weitere ähnliche Inhalte

Ähnlich wie Business Rules Separation and Reuse Using MDA, OWL and AspectJ

Building Cogeneration Planning Scheduling Systems using IBM ILOG ODME, CPLEX ...
Building Cogeneration Planning Scheduling Systems using IBM ILOG ODME, CPLEX ...Building Cogeneration Planning Scheduling Systems using IBM ILOG ODME, CPLEX ...
Building Cogeneration Planning Scheduling Systems using IBM ILOG ODME, CPLEX ...Alkis Vazacopoulos
 
RPT Oracle Plugin - Anitha Krishnamurthy
RPT Oracle Plugin - Anitha KrishnamurthyRPT Oracle Plugin - Anitha Krishnamurthy
RPT Oracle Plugin - Anitha KrishnamurthyRoopa Nadkarni
 
6 rpt oracle_plugin-anitha_krishnamurthy
6 rpt oracle_plugin-anitha_krishnamurthy6 rpt oracle_plugin-anitha_krishnamurthy
6 rpt oracle_plugin-anitha_krishnamurthyIBM
 
Angular js
Angular jsAngular js
Angular jsymtech
 
EclipseCon 2013 Learn and share about integrations using Eclipse Lyo, OSLC an...
EclipseCon 2013 Learn and share about integrations using Eclipse Lyo, OSLC an...EclipseCon 2013 Learn and share about integrations using Eclipse Lyo, OSLC an...
EclipseCon 2013 Learn and share about integrations using Eclipse Lyo, OSLC an...Steve Speicher
 
Introduction to the wso2 carbon platform webinar
Introduction to the wso2 carbon platform   webinarIntroduction to the wso2 carbon platform   webinar
Introduction to the wso2 carbon platform webinarWSO2
 
Introduction to the WSO2 Carbon Platform
Introduction to the WSO2 Carbon Platform  Introduction to the WSO2 Carbon Platform
Introduction to the WSO2 Carbon Platform WSO2
 
Eating our Own Dogfood - How Automic Automates
Eating our Own Dogfood - How Automic AutomatesEating our Own Dogfood - How Automic Automates
Eating our Own Dogfood - How Automic AutomatesCA | Automic Software
 
Service-Level Objective for Serverless Applications
Service-Level Objective for Serverless ApplicationsService-Level Objective for Serverless Applications
Service-Level Objective for Serverless Applicationsalekn
 
Simulation Tracking Object Reference Model (STORM)
Simulation Tracking Object Reference Model (STORM)Simulation Tracking Object Reference Model (STORM)
Simulation Tracking Object Reference Model (STORM)Umar Alharaky
 
XPages is Workflow's new best friend
XPages is Workflow's new best friendXPages is Workflow's new best friend
XPages is Workflow's new best friendStephan H. Wissel
 
Rapid Tools(swift_suite) intro
Rapid Tools(swift_suite) introRapid Tools(swift_suite) intro
Rapid Tools(swift_suite) introJulie Jackson
 
Databse & Technology 2 _ Shan Nawaz _ Oracle 11g Top 10 features - not your u...
Databse & Technology 2 _ Shan Nawaz _ Oracle 11g Top 10 features - not your u...Databse & Technology 2 _ Shan Nawaz _ Oracle 11g Top 10 features - not your u...
Databse & Technology 2 _ Shan Nawaz _ Oracle 11g Top 10 features - not your u...InSync2011
 
COBWEB: Towards an Optimised Interoperability Framework for Citizen Science
COBWEB: Towards an Optimised Interoperability Framework for Citizen ScienceCOBWEB: Towards an Optimised Interoperability Framework for Citizen Science
COBWEB: Towards an Optimised Interoperability Framework for Citizen ScienceCOBWEB Project
 
Mahmoud_Elassar_Resume_Aug2015
Mahmoud_Elassar_Resume_Aug2015Mahmoud_Elassar_Resume_Aug2015
Mahmoud_Elassar_Resume_Aug2015mahmoudelassar
 
Release 12 features work arounds and Upgrade
Release 12 features work arounds and UpgradeRelease 12 features work arounds and Upgrade
Release 12 features work arounds and UpgradePrasad Gudipaty M.S., PMP
 

Ähnlich wie Business Rules Separation and Reuse Using MDA, OWL and AspectJ (20)

Building Cogeneration Planning Scheduling Systems using IBM ILOG ODME, CPLEX ...
Building Cogeneration Planning Scheduling Systems using IBM ILOG ODME, CPLEX ...Building Cogeneration Planning Scheduling Systems using IBM ILOG ODME, CPLEX ...
Building Cogeneration Planning Scheduling Systems using IBM ILOG ODME, CPLEX ...
 
Resume
ResumeResume
Resume
 
RPT Oracle Plugin - Anitha Krishnamurthy
RPT Oracle Plugin - Anitha KrishnamurthyRPT Oracle Plugin - Anitha Krishnamurthy
RPT Oracle Plugin - Anitha Krishnamurthy
 
6 rpt oracle_plugin-anitha_krishnamurthy
6 rpt oracle_plugin-anitha_krishnamurthy6 rpt oracle_plugin-anitha_krishnamurthy
6 rpt oracle_plugin-anitha_krishnamurthy
 
Angular js
Angular jsAngular js
Angular js
 
Harikrishna yaddanapudi
Harikrishna yaddanapudiHarikrishna yaddanapudi
Harikrishna yaddanapudi
 
EclipseCon 2013 Learn and share about integrations using Eclipse Lyo, OSLC an...
EclipseCon 2013 Learn and share about integrations using Eclipse Lyo, OSLC an...EclipseCon 2013 Learn and share about integrations using Eclipse Lyo, OSLC an...
EclipseCon 2013 Learn and share about integrations using Eclipse Lyo, OSLC an...
 
Shenouda Gamil (CV)
Shenouda Gamil (CV)Shenouda Gamil (CV)
Shenouda Gamil (CV)
 
Introduction to the wso2 carbon platform webinar
Introduction to the wso2 carbon platform   webinarIntroduction to the wso2 carbon platform   webinar
Introduction to the wso2 carbon platform webinar
 
Introduction to the WSO2 Carbon Platform
Introduction to the WSO2 Carbon Platform  Introduction to the WSO2 Carbon Platform
Introduction to the WSO2 Carbon Platform
 
Eating our Own Dogfood - How Automic Automates
Eating our Own Dogfood - How Automic AutomatesEating our Own Dogfood - How Automic Automates
Eating our Own Dogfood - How Automic Automates
 
CV_ANTONY_JOSEPH1
CV_ANTONY_JOSEPH1CV_ANTONY_JOSEPH1
CV_ANTONY_JOSEPH1
 
Service-Level Objective for Serverless Applications
Service-Level Objective for Serverless ApplicationsService-Level Objective for Serverless Applications
Service-Level Objective for Serverless Applications
 
Simulation Tracking Object Reference Model (STORM)
Simulation Tracking Object Reference Model (STORM)Simulation Tracking Object Reference Model (STORM)
Simulation Tracking Object Reference Model (STORM)
 
XPages is Workflow's new best friend
XPages is Workflow's new best friendXPages is Workflow's new best friend
XPages is Workflow's new best friend
 
Rapid Tools(swift_suite) intro
Rapid Tools(swift_suite) introRapid Tools(swift_suite) intro
Rapid Tools(swift_suite) intro
 
Databse & Technology 2 _ Shan Nawaz _ Oracle 11g Top 10 features - not your u...
Databse & Technology 2 _ Shan Nawaz _ Oracle 11g Top 10 features - not your u...Databse & Technology 2 _ Shan Nawaz _ Oracle 11g Top 10 features - not your u...
Databse & Technology 2 _ Shan Nawaz _ Oracle 11g Top 10 features - not your u...
 
COBWEB: Towards an Optimised Interoperability Framework for Citizen Science
COBWEB: Towards an Optimised Interoperability Framework for Citizen ScienceCOBWEB: Towards an Optimised Interoperability Framework for Citizen Science
COBWEB: Towards an Optimised Interoperability Framework for Citizen Science
 
Mahmoud_Elassar_Resume_Aug2015
Mahmoud_Elassar_Resume_Aug2015Mahmoud_Elassar_Resume_Aug2015
Mahmoud_Elassar_Resume_Aug2015
 
Release 12 features work arounds and Upgrade
Release 12 features work arounds and UpgradeRelease 12 features work arounds and Upgrade
Release 12 features work arounds and Upgrade
 

Mehr von Jaguaraci Silva

Mapa mental desenvolvimento ágil
Mapa mental desenvolvimento ágilMapa mental desenvolvimento ágil
Mapa mental desenvolvimento ágilJaguaraci Silva
 
Mapa Mental sobre Engenharia de Software
Mapa Mental sobre Engenharia de SoftwareMapa Mental sobre Engenharia de Software
Mapa Mental sobre Engenharia de SoftwareJaguaraci Silva
 
Mapa mental envolvendo os conceitos sobre dependabilidade
Mapa mental envolvendo os conceitos sobre dependabilidadeMapa mental envolvendo os conceitos sobre dependabilidade
Mapa mental envolvendo os conceitos sobre dependabilidadeJaguaraci Silva
 
Managing Technical Debt - A Practical Approach Using Continuous Integration a...
Managing Technical Debt - A Practical Approach Using Continuous Integration a...Managing Technical Debt - A Practical Approach Using Continuous Integration a...
Managing Technical Debt - A Practical Approach Using Continuous Integration a...Jaguaraci Silva
 
What agile teams think about agile principles
What agile teams think about agile principlesWhat agile teams think about agile principles
What agile teams think about agile principlesJaguaraci Silva
 
FRAMEWORK FACTO - Governança Tecnológica Corporativa
FRAMEWORK FACTO - Governança Tecnológica CorporativaFRAMEWORK FACTO - Governança Tecnológica Corporativa
FRAMEWORK FACTO - Governança Tecnológica CorporativaJaguaraci Silva
 
FACTO Framework - Introdução Amigável a Governança de TI
FACTO Framework - Introdução Amigável a Governança de TIFACTO Framework - Introdução Amigável a Governança de TI
FACTO Framework - Introdução Amigável a Governança de TIJaguaraci Silva
 
SOA Service-oriented Architecture Fundamentals IBM Certification
SOA Service-oriented Architecture Fundamentals IBM CertificationSOA Service-oriented Architecture Fundamentals IBM Certification
SOA Service-oriented Architecture Fundamentals IBM CertificationJaguaraci Silva
 
Fundamentos Em Business Process Management Modelagem de Processos de Negócio ...
Fundamentos Em Business Process Management Modelagem de Processos de Negócio ...Fundamentos Em Business Process Management Modelagem de Processos de Negócio ...
Fundamentos Em Business Process Management Modelagem de Processos de Negócio ...Jaguaraci Silva
 
Windows Server 2008 R2 Overview
Windows Server 2008 R2 OverviewWindows Server 2008 R2 Overview
Windows Server 2008 R2 OverviewJaguaraci Silva
 
Protocolos De Transporte Para Redes Sem Fio
Protocolos De Transporte Para Redes Sem FioProtocolos De Transporte Para Redes Sem Fio
Protocolos De Transporte Para Redes Sem FioJaguaraci Silva
 
Controle Remoto de Residências
Controle Remoto de ResidênciasControle Remoto de Residências
Controle Remoto de ResidênciasJaguaraci Silva
 
Utilizando RUP e Modelagem de processo para especificar aplicações Web 2.0
Utilizando RUP e Modelagem de processo para especificar aplicações Web 2.0Utilizando RUP e Modelagem de processo para especificar aplicações Web 2.0
Utilizando RUP e Modelagem de processo para especificar aplicações Web 2.0Jaguaraci Silva
 
Virtualização de Cluster na plataforma Microsoft.
Virtualização de Cluster na plataforma Microsoft.Virtualização de Cluster na plataforma Microsoft.
Virtualização de Cluster na plataforma Microsoft.Jaguaraci Silva
 
Técnicas para implementar aspectos de confiança em Web services
Técnicas para implementar aspectos de confiança em Web servicesTécnicas para implementar aspectos de confiança em Web services
Técnicas para implementar aspectos de confiança em Web servicesJaguaraci Silva
 
Usando dispositivos móveis no apoio á gerência de configuração
Usando dispositivos móveis no apoio á gerência de configuraçãoUsando dispositivos móveis no apoio á gerência de configuração
Usando dispositivos móveis no apoio á gerência de configuraçãoJaguaraci Silva
 
Protocolos De Transporte Para Redes Sem Fio
Protocolos De Transporte Para Redes Sem FioProtocolos De Transporte Para Redes Sem Fio
Protocolos De Transporte Para Redes Sem FioJaguaraci Silva
 
Modelagem de Processo CMMI N3
Modelagem de Processo CMMI N3Modelagem de Processo CMMI N3
Modelagem de Processo CMMI N3Jaguaraci Silva
 
Manual ou Metodologia para Modelagem de Processos Usando Business Process Man...
Manual ou Metodologia para Modelagem de Processos Usando Business Process Man...Manual ou Metodologia para Modelagem de Processos Usando Business Process Man...
Manual ou Metodologia para Modelagem de Processos Usando Business Process Man...Jaguaraci Silva
 

Mehr von Jaguaraci Silva (20)

Oracle soa suite 11 g
Oracle soa suite 11 gOracle soa suite 11 g
Oracle soa suite 11 g
 
Mapa mental desenvolvimento ágil
Mapa mental desenvolvimento ágilMapa mental desenvolvimento ágil
Mapa mental desenvolvimento ágil
 
Mapa Mental sobre Engenharia de Software
Mapa Mental sobre Engenharia de SoftwareMapa Mental sobre Engenharia de Software
Mapa Mental sobre Engenharia de Software
 
Mapa mental envolvendo os conceitos sobre dependabilidade
Mapa mental envolvendo os conceitos sobre dependabilidadeMapa mental envolvendo os conceitos sobre dependabilidade
Mapa mental envolvendo os conceitos sobre dependabilidade
 
Managing Technical Debt - A Practical Approach Using Continuous Integration a...
Managing Technical Debt - A Practical Approach Using Continuous Integration a...Managing Technical Debt - A Practical Approach Using Continuous Integration a...
Managing Technical Debt - A Practical Approach Using Continuous Integration a...
 
What agile teams think about agile principles
What agile teams think about agile principlesWhat agile teams think about agile principles
What agile teams think about agile principles
 
FRAMEWORK FACTO - Governança Tecnológica Corporativa
FRAMEWORK FACTO - Governança Tecnológica CorporativaFRAMEWORK FACTO - Governança Tecnológica Corporativa
FRAMEWORK FACTO - Governança Tecnológica Corporativa
 
FACTO Framework - Introdução Amigável a Governança de TI
FACTO Framework - Introdução Amigável a Governança de TIFACTO Framework - Introdução Amigável a Governança de TI
FACTO Framework - Introdução Amigável a Governança de TI
 
SOA Service-oriented Architecture Fundamentals IBM Certification
SOA Service-oriented Architecture Fundamentals IBM CertificationSOA Service-oriented Architecture Fundamentals IBM Certification
SOA Service-oriented Architecture Fundamentals IBM Certification
 
Fundamentos Em Business Process Management Modelagem de Processos de Negócio ...
Fundamentos Em Business Process Management Modelagem de Processos de Negócio ...Fundamentos Em Business Process Management Modelagem de Processos de Negócio ...
Fundamentos Em Business Process Management Modelagem de Processos de Negócio ...
 
Windows Server 2008 R2 Overview
Windows Server 2008 R2 OverviewWindows Server 2008 R2 Overview
Windows Server 2008 R2 Overview
 
Protocolos De Transporte Para Redes Sem Fio
Protocolos De Transporte Para Redes Sem FioProtocolos De Transporte Para Redes Sem Fio
Protocolos De Transporte Para Redes Sem Fio
 
Controle Remoto de Residências
Controle Remoto de ResidênciasControle Remoto de Residências
Controle Remoto de Residências
 
Utilizando RUP e Modelagem de processo para especificar aplicações Web 2.0
Utilizando RUP e Modelagem de processo para especificar aplicações Web 2.0Utilizando RUP e Modelagem de processo para especificar aplicações Web 2.0
Utilizando RUP e Modelagem de processo para especificar aplicações Web 2.0
 
Virtualização de Cluster na plataforma Microsoft.
Virtualização de Cluster na plataforma Microsoft.Virtualização de Cluster na plataforma Microsoft.
Virtualização de Cluster na plataforma Microsoft.
 
Técnicas para implementar aspectos de confiança em Web services
Técnicas para implementar aspectos de confiança em Web servicesTécnicas para implementar aspectos de confiança em Web services
Técnicas para implementar aspectos de confiança em Web services
 
Usando dispositivos móveis no apoio á gerência de configuração
Usando dispositivos móveis no apoio á gerência de configuraçãoUsando dispositivos móveis no apoio á gerência de configuração
Usando dispositivos móveis no apoio á gerência de configuração
 
Protocolos De Transporte Para Redes Sem Fio
Protocolos De Transporte Para Redes Sem FioProtocolos De Transporte Para Redes Sem Fio
Protocolos De Transporte Para Redes Sem Fio
 
Modelagem de Processo CMMI N3
Modelagem de Processo CMMI N3Modelagem de Processo CMMI N3
Modelagem de Processo CMMI N3
 
Manual ou Metodologia para Modelagem de Processos Usando Business Process Man...
Manual ou Metodologia para Modelagem de Processos Usando Business Process Man...Manual ou Metodologia para Modelagem de Processos Usando Business Process Man...
Manual ou Metodologia para Modelagem de Processos Usando Business Process Man...
 

Kürzlich hochgeladen

How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 

Kürzlich hochgeladen (20)

How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 

Business Rules Separation and Reuse Using MDA, OWL and AspectJ

  • 1. Business Rules Separation and Reuse Using MDA, OWL and AspectJ Jaguaraci B. Silva and Luciano P. Barreto {jaguarac,lportoba}@ufba.br Project: Deacouple Business Rules in the MDA Models Building Federal University of Bahia (UFBA) Department of Computer Science (DCC) Distributed Systems Laboratory (LaSiD)
  • 2. Motivation • To ensure business rules/domain properties does not violate the specified properties in the application domain. • Allows developers to both describe and corroborate domain properties at run-time. • Increase dependability because of MDA growth up in several applications context. • The business rules could not typically have been cared by the implementation code produced automatically. 2009-11 ISSRE 2009 2
  • 3. Objectives • Business rules separation, allows secure and automatic way to insert final application code generated by independent models (PIM). • The business rules are defined on ontology domain and are transformed in aspectJ. The aspects are merged and compiled in a specific model (PSM). • OWLToAspectJ: a tool that automatically translates ontology business rules (OWL:Restrictions) in aspectJ. 2009-11 ISSRE 2009 3
  • 5. Process Overview (1) An ontology about application domain is conceived using a ontology tool (Protégé) ODM-based (Ontology Definition Metamodel) . (2) The domain ontology generated into a platform independent model (PIM) then is converted to UML language using ODM-UML profile bridge. (3) The PIM business rules will be transformed in a PSM model across of OWLtoAspectJ tool. Diverse PSMs models can be generated, being at less one: – for business rules – for other application PSM wished (e.g. Java SE, Java EE, RMI, Corba). (4) Finally, the code application combines the business rules and application PSM using weaving process (Aspect-oriented Programming). 2009-11 ISSRE 2009 5
  • 6. Contributions • In making an approach to emerging technologies (MDA, OWL and AOP), was built a tool specifically for it (OWLtoAspectJ). • In this boarding, was add a set of activities to orient the development process using MDA, OWL and AOP. • Our approach uses OWL-DL and a reasoner tool (Racer) instead of OCL. It helps to verify the domain properties in a formal way for critical systems. The UML language does not support it actually. 2009-11 ISSRE 2009 6
  • 7. Case Study – Furnace Management Application 2009-11 ISSRE 2009 7
  • 8. Case Study – Overview of Industrial Process • Reengineering of industrial furnace management application of Ferroalloys (e.g. Ferrochrome). • For each alloys iron exist a recipe that has inputs (e.g. carbon, chromium, silicon). Theses inputs are put on in the industrial ovens in according to recipe made by production analyst. • Sensors sends the plan data for a programmable logic controller (PLC) system managed. 2009-11 ISSRE 2009 8
  • 9. Case Study – Domain Engineering Process • Conceptual modeling of application domain – Functional requirements and business rules analysis – UML for knowledge representation – Domain modeling using ontology – Verification of domain properties 1. Domain modeling • Definition of concepts, axioms, properties, relationship between concepts 2. Verification of domain properties • Business rules definition using PAL (Protégé Axiomatic Language) • Instance creations and business rules satisfatibility using reasoner for knowledge validation 2009-11 ISSRE 2009 9
  • 10. Case Study – Functional Requirements Analisys 2009-11 ISSRE 2009 10
  • 11. Case Study – Knowledge Representation in UML 2009-11 ISSRE 2009 11
  • 12. Case Study – Translation business rules to PAL Business rules PAL 1- An oven should only produce one ∀Product.Is_made_in_Oven exactly 1 product by time. 2- During charge of ovens them should =Oven.Makes_a_Product exactly 1 produce exactly one product, should have inputs =Oven.Has_a_Recipe exactly 1 that are part of one specific recipe to one kind of product. ∀Oven.Has_a_Recipe only Recipe 3– The oven is charge by the operator. ∀Oven.Is_Charged_by_Operator only Operator 4 – An recipe has at less one input. ∀Recipe.Has_Input some Input 2009-11 ISSRE 2009 12
  • 13. Case Study – Verification of Domain (Instance) 2009-11 ISSRE 2009 13
  • 14. Case Study – Business Rules Validation 2009-11 ISSRE 2009 14
  • 15. Case Study – PSM Building • Generation of application domain from ontology to OWL – Classes, properties, relationship between classes, axioms • Building PSM model to Java platform – UML backend (Protégé plugin for XMI) – Generate from PIM UML model to application Java code importing domain model XMI using UML tool • Building PSM model to business rules – Separation and generation automatically of business rules from conceptual domain in OWL-DL format 2009-11 ISSRE 2009 15
  • 16. Case Study – Business rules in OWL format <owl: <owl:Restriction> <owl: <owl:onProperty> <owl: <owl:ObjectProperty rdf:ID=“Is_Stored_in_the_Silo"/> rdf: </owl: </owl:onProperty> <owl:maxCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#int"> 1 <owl: rdf:datatype="http://www. org/2001 2001/XMLSchema#int"> </owl: </owl:maxCardinality> </owl: </owl:Restriction> <owl: <owl:ObjectProperty rdf:about="#Is_Stored_in_the_Silo"> rdf: <rdfs: <rdfs:domain rdf:resource="#Input"/> rdf: <rdfs: <rdfs:range rdf:resource="#Silo"/> rdf: <owl: <owl:inverseOf rdf:resource="#Has_Input"/> rdf: </owl: </owl:ObjectProperty> 2009-11 ISSRE 2009 16
  • 17. Case Study – OWLtoAspectJ tool 2009-11 ISSRE 2009 17
  • 18. Case Study – Business rules translated to aspectJ package businessRules; import furnace.Operator; public aspect Oven_Is_Charged_by_Operator { public pointcut Operator() : call(* *.*Oven(..)) && (!(call(* *.getOven(*)) || call(* *.setOven(*)))); before():Operator() { Object obj = thisJoinPoint.getTarget(); if (!(obj instanceof Operator)){ System.out.print("n Exception Rule: FornoE_carregado_por_Operador"); } } } 2009-11 ISSRE 2009 18
  • 19. Case Study – Business rules validation in run-time 2009-11 ISSRE 2009 19
  • 20. Related works • AOP and MDA: – Crosscut concerns (non-functional requirements) and business rules [CALA-INRIA] – PSM models generation in LOA (Aspect-oriented Language) [CALA-INRIA, LASID-UFBA] • MDA and OWL: – Domain modeling and reuse using ontology [OMG] – Bridge between OWL and UML using ODM profile [LORE- SFU Surrey] – UML formalization using OWL-DL [Cin-UFPE, LASID-UFBA] 2009-11 ISSRE 2009 20
  • 21. Conclusion • Across of needs to check the domain properties defined for dependability of critical systems, was created a domain modeling process ontology-based. • The definition of business rules by an ontology editor and validations them using reasoner (Racer), has warranty of functional requirements understading. • Business rules extraction and validation before generating the PSMs on PIM level (OWL ontology). Improved reuse of business rules easier and can avoid implementation code fail because it is generates automatically in final application code. 2009-11 ISSRE 2009 21
  • 22. Future works • The business rules formalization before translates it to aspectJ for full warranty dependability them. • Aspects concorrency evaluation from view point of business rules overlap. • OWLtoAspectJ improve to standardize the violation messages and building a rules repository to merge rules in software produtc lines. • Other works in progress in LASID involving formal verification and model transformation. 2009-11 ISSRE 2009 22
  • 23. Business Rules Separation and Reuse Using MDA, OWL and AspectJ Jaguaraci B. Silva and Luciano P. Barreto {jaguarac,lportoba}@ufba.br Project: Deacouple Business Rules in the MDA Models Building Federal University of Bahia (UFBA) Department of Computer Science (DCC) Distributed Systems Laboratory (LaSiD)