10 likes | 155 Views
Business people (business infrastructure/architecture designer). Generation. Business Rules Document. Architecture Editor. Local business rules and UML Model. Agent System. Adaptive info. Adaptive info. Business Rule Editor. (requirements). (behaviours). Global business rules.
E N D
Business people (business infrastructure/architecture designer) Generation Business Rules Document Architecture Editor Local business rules and UML Model Agent System Adaptive info Adaptive info Business Rule Editor (requirements) (behaviours) Global business rules Metadata Editor Agent beliefs Business people (business decision maker) End users ►Our approach is to generate agent systems and let them execute business rules specified in editors by business people ► Code is not changed. Rather, various editors are used to easily change behaviours ► New behaviours are effected immediately by the running agent system ► The ultimate goal is to achieve Two-Way Adaptivity. Agents will be self-learning, self-reasoning, and self-adaptive. Their knowledge is not only from business world’s demand, but also from their beliefs from the actual execution environment Introduction Metadata Editor Architecture Editor • ►Issues: • Software maintenance between 40 and 90% of total life cycle costs • Expensive and difficult to adapt software systems • New requirements are difficult to predict • Changes involve rebuild and reinstall cost • ► Research Aims: • Make changes to requirements easy and reflected in deployed software immediately ►New business terms can be registered through the Metadata Editor in XML format. E.g. “credit” as a new attribute of “customer” is registered in the above editor and its XML definition is updated as the following: Local rules are defined through the Architecture Editor and the selected one in the diagram can be described as the following: • On an event of receiving an incoming “call for proposal” message from Retailer agent • If the condition of the rule is satisfied, that is, isOrderAttractive () is true • Then perform an action, that is, generate a business proposal for the order, including price for the order, order dispatch time, etc. and send these as a “propose” message to Retailer agent • Update its beliefs, that is, the customer placing the order is interested in the products listed in the order. Motivation ►Adaptive Object Model (AOM) uses metadata to describe the actual business model ► Allows new objects/attributes/methods to be added at runtime with low cost ► Problems: • No global view of the business model -difficult to control • Architects and developers have separate systems – no unified view • - <object> • <name>customer</name> • -<attributes> • <attribute>name</attribute> • <attribute>age</attribute> • <attribute>address</attribute> • <attribute>occupation</attribute> • <attribute>organization</attribute> • <attribute>type</attribute> • <attribute>interest</attribute> • <attribute>discount</attribute> • <attribute>talent</attribute> • <attribute>credit</attribute> • </attributes> • <behaviour/> • </object> Business Rules Editor ►After this, new global Business Rules on new business terms can be defined through the Business Rules Editor ► Without rebuilding the system, agents can start to speak these new vocabularies immediately during their sending and receiving messages and this can reflect new business concepts/strategies Conclusion ► Agents can be used in combination with XML Business Rules to achieve adaptivity ► Three editors have been developed to capture business knowledge at three levels ► Agent systems running on Jade platform can be generated with the Architecture Editor ► The agent behaviours are governed by Business Rules which adapt according to editors so the generated agent systems are adaptive ►A typical global Business Rule generated with the Business Rules Editor has the following form: Solution • ►Softwareagents may be more appropriate than objects • ► Agents can use Business Rules as executable requirements • ► Business Rules can evolve with changes of business strategies • -<rule> • <id>1</id> • <condition>customer.name == Liang Xiao </condition> • <action>customer.discount = 0.2 </action> • <priority>2</priority> • </rule>