A SaaS (Software as Service) Delivery Platform ( www.iKenStudio.com )
An online development environment to develop web-based enterprise applications, decision support systems, knowledge-based websites and BI (Business Intelligence) applications backed by expert system, case-based reasoning and Hybrid AI technologies.
It is a research spin-off of IIT Bombay
iKen Studio Live
iKen Studio Features
Generic Applications of iKen Studio
System Development Interfaces
Database Management Interfaces
System Parameters and configuration
Comparing iKen Studio with other Expert System/CBR Tools/Shells
Business Intelligence using iKen Studio
iKen Studio Projects
iKen Studio Web Services
Accessing iKen Studio and Apps
Case Studies and Demos
iKen Studio: Core Engine and Interfaces
Access, management and configuration through Web
No desktop installation and management
Generate automatic DHTML scripts and HTML web pages
No explicit database programming required
Various development interfaces
Use of simple language for writing rules
Support large number of operators, functions and data types
Existing C/C++ APIs can be used
Support popular databases: MS-SQL Server, MYSQL, MS-Access, Excel, Text, etc.
Simultaneously connects and accesses data from multiple databases
In-built extraction, mapping and transformation engine
Data access and manipulation through flexible external dynamic queries
iKen Studio Features
iKen Studio Features
XML and Web services
All components and interfaces use XML
SQL-XML and XML-SQL transformation
Access to APIs and intelligent systems through web services
Powerful expert system engine supporting large number of data types including matrix, trend, XML etc. and various SQL, matrix, list, chart, session management, report etc. functions
Use of scripting language for implementing procedural logic
Powerful CBR engine supporting structured and conversational CBR applications
Applications can be developed using hybrids of expert system and CBR
Role-based access to various development interfaces
Role and user based access to applications, databases and data
Encryption to prevent unauthorised changes
System tracks changes made by the users and save change history for later investigation
Generic Applications using iKen Studio
Manage dynamic business rule
Retain and reuse in-house expertise
Maintain and assure regulatory compliance
Enforce decision rules: make them consistent and objective
Make transaction and reporting systems intelligent by incorporating knowledge
Generic Applications Knowledge Automation
Move from information delivery to knowledge delivery
Automate and deliver expertise on-line: virtual consultant
Save experts’ time and serve large user/customer base 24x7 days
Understand user, customers and employees well. Recommend them the right products, deliver customized advice and information
Lightweight, less crowded user interfaces
Intelligent product advisory and selection
Generic Applications Knowledge-based Websites and Intranets
Advanced decision support system using rule-based, case-based systems and analytical methods
Data Analysis, detect Inconsistencies
Reuse experience: like dealing with customers
Analyse, match profiles and predict behaviour
Identify up-selling and cross-selling opportunities
Generic Applications Decision Support
Generic Applications Automated Help-desks and Support
Reuse maintenance, support etc. experience
Intelligent help and troubleshooting
Generic Applications Monitoring and Reporting
Monitor and report fraudulent, suspicious and abnormal activities
Generate alerts and early warning signals
Generic Applications Information Search and Retrieval
Flexible and guided quick information retrieval from databases
Set individual’s retrieval criteria and requirements
Retrieval based on context and conceptual similarity
Applications: Demo Screenshots Product Selectors
Applications: Screenshots Advisory Applications
Applications: Screenshots Advisory Apps
Applications: Screenshots Intelligent Exams
Applications: Screenshots Intelligent Matching
Applications: Screenshots Decision Support
Applications: Screenshots Monitoring
Applications: Screenshots Knowledge Automation
Applications: Screenshots Personalization
iKen Studio Layered Architecture iKen Studio SQL-XML Mapping and Transformation Engine Variable Database Mapping Interface SQL Builder & Rule Filter Dynamic Query Interface Access Rights Management Data Access layer Rule-based Expert System Engine Case-Based Reasoning Engine Rule Manager CBR Configuration Interface Intelligent Systems Layer Session Management Domain Vocabulary Interfaces Common Session Data (XML) Session layer Report Designer Form Designer XML-HTML Transformation Engine Presentation Transformation Layer File Upload Database Database Database Client Browser Client Browser Client Browser Web Services API HTTP Access Other business Systems
System Development Interfaces Data Services XML<-> SQL Transformation System Interfaces Domain Vocabulary Intelligent Techniques (Core Engines) Presentation Services (Input/Output)
Core Engines Expert System Engine (Rule Engine)
Web-based, XML-based Expert Systems can easily be developed and deployed.
Easy to use and understand IF...THEN...ELSE rule format
Supports rules for multiple expert systems, which are logically separated into application groups.
Rules are stored in intermediate format at run time rather than interpreted each time. Rules are checked for various syntax and semantic errors. Rule Manager facilitates interactive environment to manage the rules.
Backward as well as forward reasoning
Various data types: number, real, text, date, list, dynamic list, trend, matrix, boolean, document, URL, etc
Various mathematical, string, list, date, matrix, trend, graph, database, session management and report functions.
Special operators and functions like INCLUDE, IS BETTER THAN, SCORE_OF, PROFILE_OF etc. to reduce number of explicit rules eg : expressions like :
Customer.Education IS BETTER THAN Diploma ,
STATUS_OF Customer.Age IS Young
Customer.Income Documents INCLUDE [PAN,Form16] etc .
User defined functions can be created to be invoked in expert system rules
Supports many databases simultaneously, no explicit database programming is required: like opening database connections, executing SQL command, opening record-sets, populating data etc. The database interfaces manage extraction, mapping and transformation of data. The data in response to SQL queries is populated into session data and vise-a-versa at run time.
System can run in Debug mode to dump the data and know process status at run-time.
An expert system can be invoked through URL and Web services
System Interfaces like Form Designer and Report Designers are used to create HTML input templates and sessions reports to enter, validate data and get formatted output in HTML format.
Existing C/C++ APIs can be used by wrapping them in DLL files
Expert system engine can work as host system for accessing and controlling case-based reasoning systems or to develop hybrid systems
Core Engines Expert System Engine (Rule Engine)
Core Engines Case based reasoning engine
Domain independent Web-based CBR systems can be developed. The engine is tightly connected to expert system engine. Expert system engine can act as host. Expert system can be used to enter query or problem case (through Q&A or Forms). Run-time format of case format is XML, cases are stored in the database/s.
No restructuring of database contents, existing contents can easily used and converted to cases on the fly (by mapping SQL-XML)
Supports for all phases (Retrieve, Reuse, Revise and Retain) of CBR
Uses combination of rule-base, SQL and nearest neighbour method for retrieval.
Powerful rule-based engine for adaptation of cases.
It can address structural as well as conversational CBR thereby supporting wide-range of applications from intelligent help desk to complex decision support.
The engine supports taxonomy, hierarchy of CBRs and logical grouping of features.
It supports large number of similarity functions and custom functions can be added.
It can be configured to set similarities from databases based on criteria or procedural logic (query results), also to learn and adjust similarities automatically from the past transactions or examples.
Presentation Interfaces Form and Report Designer
Create DHTML web pages for Input and Output
Support all major HTML controls, tags, fonts, colors etc
Form designer interface: used for designing and building inputs forms
Report designer interface: used for designing and building report templates. The system populates and calculates appropriate values at run-time when invoked or displayed.
Studio supports default report templates with lot of client side functionality and navigation aids
Support two basic types of reports:
Session Report : to display session data at run-time
Query Report : to display dataset in multiple rows e.g. result of SQL query
Domain Vocabulary Global Variables, Menus, Range Conversions and Lookup Table
It facilitates to maintain global dictionary of domain terms (parameters/variables and their descriptions)
These variables are used in various intelligent systems like in expert system, forms, reports, etc.
Supports various variable types based on usage in the system
Interface facilitates to enter detailed variable description like HTML formatting, validation criteria, WHEN NEEDED and WHEN ADDED scripts, linked intelligent systems and so on. Web pages are automatically for input type variables based on HTML formatting parameters selected.
Various data types are supported
Menu objects hold the information about various possible options (list of values) a variable can take.
Symbolic values and numeric values (including) can be converted into numeric and qualitative respectively using range-list objects. These can be used to transform values. It helps to reduce the writing of explicit rules to convert values at run-time in expert system.
Lookup table interface is used store table of values in memory at run-time instead of fetching them from database each time. Especially if taxonomy or abstract features for generalization is to be stored in memory instead fetching them each time from databases. e.g. to fetch Education Level, Education Discipline, etc. from Degree.
Data Services Database Connection
This interface is used for setting up database connections. It can also be used to add, remove, and update database connections.
The system maintains the list of database connections as an application object. Each connection has a logical ID
Supports databases: SQL Server, Oracle, MS-Access, MS-Excel, MySQL, Text Files etc.
System supports OLEDB or ODBC connection type
One of the databases (core db) in the system is treated as core database. The core database is used by the system to store the user list, session tracking, database access queries etc.
Data Services Dynamic Queries
Dynamic query facilitates retrieval of data at run-time by just using their IDs and filters (by populating filter values at run-time)
Queries can be predefined to bring datasets for lists, dynamic lists, collaborative filtering, content filtering, clustering etc.
These queries save lot of explicit coding inside Rule-base.
Data Services Database Variable Linking
Mapping between variables and database fields can be set to exchange the data between database and system.
Data can be transformed on the fly after retrieval and before updates to database/s.
Mapping can be set for read or update access.
Variable linking can be done for fields from different databases.
Mapping and transformation is applied to all queries sent to database/s.
It helps to populate data into variables automatically and vice-a-versa without explicit data population in rule etc.
Because of mapping, cursors can be simulated and used in expert system coding
Data Services Database Access Configuration
Query objects hold the information about database links to various components of the systems. Database access can not be done unless query objects are defined.
Query object can have multiple queries with respect to role, goal, intelligent system, etc.
Access to data can be controlled based role, application, read or write, etc.
Data Services SQL-XML Mapping and Transformation Engine
Responses from SQL calls are converted into XML and XML data is converted to SQL requests
Fields are mapped to variables and data is transformed at the time of retrieval from database/s and vice-a-versa.
Engine can fetch data from multiple databases or update to many databases simultaneously.
Various access rights can be set to access data based on user, role as well as type of intelligent system accessing data.
Frequently required data can be stored in look-up tables, this data is populated in every record based in key-field value return from the SQL call
Table data can be converted into multi-valued fields for analysis through option of child query.
Data Services SQL-Builder and Rule Filter
A SQL interface to build SQL queries interactively
Data from multiple queries can be in integrated or merged from different databases
Data retrieved from queries further filtered using logical rules involving complex criteria making it database independent. Large number of date, string, trend analysis, list, math functions available to be included in rule filter
Filters are saved with logical names
Data Services Example: Rule Filter
System Interfaces Load Application and File Upload
Interface to load required applications in the project
Backup and restoration of selected applications at client location
Shows application load status and errors while loading and building applications
Files can be uploaded to server from client location
System Interfaces Access Rights and Roles
Access rights to roles, users can be defined.
It allows to set different options to roles. Each role includes access to system interfaces, applications, databases and variable groups.
An user can have multiple roles
System Interfaces System Parameters & Configuration
Various project level parameters can be set which are applicable to all applications in that project
Applications and linked variable groups can be defined with some applications can be loaded as default applications when iKen Studio starts
These include: parameters for connecting to SMTP server, use navigation button names, virtual directory path, script files path, default formats, max number of rules, max number of tokens in expression etc.
iKen Studio Project
iKen Studio Project: Example
iKen Studio Generic Solution Architecture
iKen Studio Web-Services
Web Services are designed to
access iKen Studio components, applications and live sessions
configure iKen Studio projects at run-time
synchronize data transfer between external applications and iKen Studio application databases
All of the objects of application such as expert systems, CBRs, rule-filters, user-defined functions, session, databases are accessed using unique ID. Which helps to implement business logic in iKen Studio and executing functionality just using object ID and data in XML format and limited number of webs services.
Supports XML and text data transfers
External parameters can be mapped to iKen Studio application variables to facilitate data exchange between external applications and iKen Studio applications
iKen Studio App and Web Services iKen Studio Core Framework Project: Objects (External App Params<->iKen Studio App Var Mapping) Expert Systems, CBRs, UDFS, Session, Rule Filters, Databases… iKen Studio Web Services (accessing objects through their IDs) Models & Config.Files Databases Databases Databases External App External App External App
Web Services: Examples
Accessing iKen Studio and Apps Interactive Mode: iKen Studio based applications can be invoked through URL and run interactively. It can embedded in other applications through iFrame. e.g. http://www.ikenstudio.com/Anil/Main.aspx?Goal=Transaction.Scan&Action=RunSystem Through URL iKen Studio based applications can be invoked through URL. Initial parameters can be passed to the application using URL get method e.g. http:// www.ikenstudio.com/Anil/Main.aspx?Goal = Transaction.Scan&Action = RunUsingURL&Trans_ID =15 Web Services: Applications can be accessed and run through Web Services e.g. APIs Applications can also be invoked by including iKen Studio DLL with live instances.
Accessing Web Services: Adaptive Framework using iKen Studio <string><Case No="1"><CD><N>MovieMart.NextPushCID_HID</N><V> [22298:212,23424:212,24696:212,24988:212,24348:212,24362:140,24157:212,22490:212,23399:212,24685:212,22027:212,23583:212,24008:212,24477:212,24943:212,22083:140,22233:140,22501:140,24582:140,24691:212]</V></CD><CD><N>SystemInterface.Solution_Matching</N><V>|64.29 64.29 64.29 64.29 59.04 56.78 56.38 55.6 55.2 55.2 54.83 54.83 54.83 54.83 54.83 54.8 54.8 54.8 54.8 54.6 54.3 53.85 53.55 53.08 53.08 53.08 52.55 52.33 52.33 |</V></CD></Case></string> http://www.iKenStudio.com /iKenStudio.asmx/UDF_ExecuteUsingList?p_FunctionID=MovieMart.GenerateGlobalUserProfile&p_ArgumentList=1 http://www.iKenStudio.com /iKenStudio.asmx/UDF_ExecuteUsingList?p_FunctionID=MovieMart.GenerateUserProfile&p_ArgumentList=[1,212] Generating Global User Profile Generating Local User Profile http://www.iKenStudio.com / iKenStudio.asmx / UDF_ExecuteUsingList ? P_FunctionID =MovieMart.AddTransaction& p_ArgumentList =[1,21925,212,B,Sanjay%20Dutt,KY] seq. [U_ID,C_ID,H_ID,D_Type,Keyword,Key_Type] Notifying download iKen Studio Web Services Web Service UDF_ExecuteWithList List of function parameters and values Name of Internal UDF defined in iKen Studio List of values passed to UDF MovieMart.AddTransaction returns status OK:1 returns status OK:1 returns status OK:1 WebService ExpertSystem_RunWithData p_GoalVariable =MovieMart.iPushGoal p_xmlData =<Case><CD><N>MovieMart.Action</N><V>NextPush</V></CD><CD><N>MovieMart.User_ID</N><V>1</V></CD></Case> p_OutputVariableList =[MovieMart.NextPushCID_HID,SystemInterface.Solution_Matching] Calculating Best Recommended
Case studies: demonstrating iKen Studio capabilities and integration models WAP Contents, Meta-Content, Business and User Rules and Knowledge iKen Studio Intelligence Middleware (Adaptive Framework: Personalization and Recommendation) WAP Server Mobile VAS iKen Studio as Intelligence Middleware for Mobile VAS WAP Customer DB iKen Studio (SaaS) Intelligence and Decision Support Back-end (AI-based Rating Model) WAP Server Online Credit Rating On Mobile iKen Studio as AI-end for Intelligence and Credit Rating Customer DB and Conversion iKen Studio (SaaS) Rule-based Engine (Decision rules and reporting specific to Investor, Servicer and Insurer) Mortgage Financial Portal (Intelligent Conversion and Reporting) iKen Studio as a one of the component of overall mortgage portal
Accessing iKen Studio e.g. iKen Studio App embedded in portal
Comparing with other Expert System Tools/Shells Other expert system tools iKen Studio These provides standard expert system functionality. For other extensions, client has to customize explicitly or pay for additional add-ons to the software vendor Lot of extensions and customizations done to address specific kind of applications like personalization, recommendation, intelligent exams, surveys etc. Concentrate on expert system development interfaces rather than components to generate reports, forms, XML support etc. It is complete high productive development environment which includes form generators, report designers, SQL builder etc. These tools are not offered in SaaS mode. A completely web-based expert system shell environment to be offered in SaaS model. Most of the tools have desktop development and web-based deployment. Which makes development environment distributed. Completely web-based development framework, brings advantages of web-based systems such as centralised system development and deployment, scalability, access from anywhere etc.
Comparing with other CBR Tools/Shells Similarities has to be defined explicitly. Has built-in mechanism for learning similarities from the transactions etc. Other CBR tools iKen Studio Case management and indexing mechanism is explicitly part of CBR shell Coupled with databases, it relies on database indexing mechanism (for retrieval) which is powerful instead of having explicitly implemented in CBR tool. May have to define case structure and cases explicitly. Because of SQL-XML mapping and transforming engine, existing database contents are treated as cases without explicit case presentations etc. Most of the CBR shells are limited to retrieval (and reuse) phase only. Applications requiring all R-4 (Retrieve, Reuse, Revise, Retain) cycles can be developed. Only CBR engine (expert system is not part of it) which sometimes limits type of applications that can be developed and addressed CBR engine is integrated with expert system engine, thereby facilitating development of hybrid CBR systems supported by expert system
Business Intelligence Using iKen Studio
Effective and powerful combination of human intelligence (business rules and logic through rule-based expert systems and filters) and domain knowledge-aided machine intelligence (content filtering, intelligent matching, knowledge-based clustering and collaborative filtering using CBR technology)
On-the-fly intelligence using lazy learning
Self-learning and adaptive intelligence
Intelligence can be programmed, customized and configured. It can integrated into existing operational systems using web services or APIs.
No need to restructure existing database for BI applications
Can be programmed to support micro-level intelligence (what an individual user or customer does, likes etc.) and macro-level intelligence (what specific group of users or customers do, like etc.)
Can address classification, clustering, associations and sequence problems effectively
KM and decision support components can be implemented
Data retrieval, mapping and transformation (on-the-fly) Domain Knowledge, Rule-Filters, Rules ( business, decision support and customization ) and Models BI Applications Database Database Database Client Browser Client Browser Client Browser