Title: iKen Studio
1An IIT Bombay Research Project Spin-off
2iKen Studio Live
- 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
3Contents
- iKen Studio Features
- Generic Applications of iKen Studio
- System Development Interfaces
- Core Engines
- Presentation Interfaces
- Database Management Interfaces
- System Parameters and configuration
- System Controls
- 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
4iKen Studio Core Engine and Interfaces
5iKen Studio Features
- Completely Web-based
- Access, management and configuration through Web
- No desktop installation and management
- Minimal coding
- 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
- Database integration
- 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
6iKen 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 - AI Techniques
- 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 - Security features
- 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
7Generic Applications using iKen Studio
8Generic ApplicationsKnowledge Automation
- 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
9Generic ApplicationsKnowledge-based Websites and
Intranets
- 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
- Smart Intranets
10Generic Applications Decision Support
- 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
11Generic Applications Automated Help-desks and
Support
- Reuse maintenance, support etc. experience
- Self-service Interfaces
- Intelligent help and troubleshooting
12Generic Applications Monitoring and Reporting
- Monitor and report fraudulent, suspicious and
abnormal activities - Generate alerts and early warning signals
13Generic ApplicationsInformation Search and
Retrieval
- Flexible and guided quick information retrieval
from databases - Set individuals retrieval criteria and
requirements - Retrieval based on context and conceptual
similarity
14Applications Demo ScreenshotsProduct Selectors
15Applications ScreenshotsAdvisory Applications
16Applications ScreenshotsAdvisory Apps
17Applications ScreenshotsIntelligent Exams
18Applications ScreenshotsIntelligent Matching
19Applications ScreenshotsDecision Support
20Applications ScreenshotsMonitoring
21Applications ScreenshotsKnowledge Automation
22Applications ScreenshotsPersonalization
23iKen StudioLayered Architecture
iKen Studio
24System Development Interfaces
25Core Engines Expert System Engine (Rule Engine)
- Rule-based Reasoning
- 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. - Supports
- 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.
26Core Engines Expert System Engine (Rule Engine)
- 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. - Use of JavaScript for WHEN NEEDED and WHEN ADDED
methods. Expert system variables can directly be
accessed directly in JavaScript for client-side
as well as server-side functionality. This helps
to implement procedural component to be
implemented using scripting languages that are
relatively easier and widely used. - 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
27Core 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 QA 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.
28Presentation Interfaces Form and Report Designer
- Create DHTML web pages for Input and Output
- Support all major HTML controls, tags, fonts,
colors etc - JavaScript code is automatically inserted into
forms and reports for validation, formatting 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
29Presentation Interfaces Example Form Preview
30Presentation Interfaces Example Runtime Form
31Presentation Interfaces Example Session Report
Preview
32Presentation Interfaces Example Runtime Session
Report
33Presentation Interfaces Example Default Reports
34Domain VocabularyGlobal 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.
35Data ServicesDatabase 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.
36Data ServicesDynamic 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.
37Data ServicesDatabase 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
38Data ServicesDatabase 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.
39Data 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.
40Data ServicesSQL-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
41Data Services Example Rule Filter
42System 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
43System 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
44System 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.
45iKen Studio Project
46iKen Studio Project Example
47iKen StudioGeneric Solution Architecture
48iKen 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
49iKen Studio App and Web Services
External App
External App
External App
iKen Studio Web Services (accessing objects
through their IDs)
Databases
Databases
Project Objects (External App Paramslt-gtiKen
Studio App Var Mapping) Expert Systems, CBRs,
UDFS, Session, Rule Filters, Databases
Models Config.Files
Databases
iKen Studio Core Framework
50Web Services Examples
51Accessing iKen Studio and Apps
52Accessing Web Services Adaptive Framework using
iKen Studio
Web Service UDF_ExecuteWithList
List of function parameters and values
iKen Studio Web Services
Notifying download
http//www.iKenStudio.com/iKenStudio.asmx/UDF_Exec
uteUsingList?P_FunctionIDMovieMart.AddTransaction
p_ArgumentList1,21925,212,B,Sanjay20Dutt,KY
seq. U_ID,C_ID,H_ID,D_Type,Keyword,Key_Type
returns status OK1
Name of Internal UDF defined in iKen Studio
List of values passed to UDF MovieMart.AddTransact
ion
Generating Global User Profile
http//www.iKenStudio.com/iKenStudio.asmx/UDF_Exec
uteUsingList?p_FunctionIDMovieMart.GenerateGlobal
UserProfilep_ArgumentList1
returns status OK1
Generating Local User Profile
http//www.iKenStudio.com/iKenStudio.asmx/UDF_Exec
uteUsingList?p_FunctionIDMovieMart.GenerateUserPr
ofilep_ArgumentList1,212
returns status OK1
Calculating Best Recommended
WebService ExpertSystem_RunWithDatap_GoalVariable
MovieMart.iPushGoalp_xmlDataltCasegtltCDgtltNgtMovieM
art.Actionlt/NgtltVgtNextPushlt/Vgtlt/CDgtltCDgtltNgtMovieMart
.User_IDlt/NgtltVgt1lt/Vgtlt/CDgtlt/Casegtp_OutputVariableL
istMovieMart.NextPushCID_HID,SystemInterface.Sol
ution_Matching
ltstringgtltCase No"1"gtltCDgtltNgtMovieMart.NextPushCID_
HIDlt/NgtltVgt 22298212,23424212,24696212,2498821
2,24348212,24362140,24157212,22490212,2339921
2,24685212,22027212,23583212,24008212,2447721
2,24943212,22083140,22233140,22501140,2458214
0,24691212lt/Vgtlt/CDgtltCDgtltNgtSystemInterface.Soluti
on_Matchinglt/NgtltVgt64.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
lt/Vgtlt/CDgtlt/Casegtlt/stringgt
53Case studies demonstrating iKen Studio
capabilities and integration models
54Accessing iKen Studioe.g. iKen Studio App
embedded in portal
55Comparing with other Expert System Tools/Shells
56Comparing with other Expert System Tools/Shells
57Comparing with other CBR Tools/Shells
58Business 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
Client Browser
Client Browser
Client Browser
BI Applications
Domain Knowledge, Rule-Filters, Rules (business,
decision support and customization) and Models
Data retrieval, mapping and transformation
(on-the-fly)
Database
Database
Database
59For Case Studies and Demo Applications
- Log-on
- To
- www.ikenstudio.com
60