Add terminology to README
authorSangwan Kwon <sangwan.kwon@samsung.com>
Thu, 27 Feb 2020 07:01:33 +0000 (16:01 +0900)
committer권상완/Security 2Lab(SR)/Engineer/삼성전자 <sangwan.kwon@samsung.com>
Fri, 28 Feb 2020 04:02:44 +0000 (13:02 +0900)
Signed-off-by: Sangwan Kwon <sangwan.kwon@samsung.com>
README.md

index 77f29fd..c323eab 100644 (file)
--- a/README.md
+++ b/README.md
@@ -18,25 +18,51 @@ For this we must achieve two things:
 
 We believe that ViST makes security software usable and universial.
 
+## Terminology
+### Virtual Table
+SQL Query is an interface that allows access and manipulate table resources.
+SQLite provides two types of table.
+- (Real) Table: Provide interface to handle database file.
+- [Virtual Table](https://sqlite.org/vtab.html): 
+Provide interface to invoke the callback methods of object(virtual table).  
+
+We can call any routines with query via virtual table.  
+
+**We make virtual tables about device policy at ViST v1.**
+
+### Type-safe Query 
+> In computer science, [type safety](https://en.wikipedia.org/wiki/Type_safety)
+> is the extent to
+> which a programming language
+> discourages or prevents type errors.
+
+Type-safe query is what checked for type error at compile time.
+
+Basically query statement is not type-safe.
+Most of opensource projects
+what generate query like
+[JPA(Java)](https://github.com/spring-projects/spring-data-jpa),
+[sqlpp11(C++)](https://github.com/rbock/sqlpp11)
+and [sqlite_orm(C++)](https://github.com/fnc12/sqlite_orm)
+do not guarantee to generate type-safe query.
+But [QueryDSL(Java)](https://github.com/querydsl/querydsl)
+guarantees to generate type-safe query.
+
+**We makes query-builder to generate type-safe query.**  
+
+Refer [this](https://github.sec.samsung.net/RS7-SECIOTSW/tizen-osquery/tree/master/src/vist/query-builder)
+to compare ours and other opensources.
+
 # Difference with osquery
 Osquery views operating system as table 
 from the perspective of the system administrator. 
-It provides osqueryd(daemon),  osqueryi(interactive shell).  
+It provides osqueryd(daemon), osqueryi(interactive shell).  
 
 We view operating system as table 
 from the perspective of the system programmar.  
 Our purpose is to provide them more compact and 
 more efficient interface from this different perspective.
 
-# Query and Virtiual Table 
-SQL Query is an interface that allows access and manipulate table resources. 
-SQLite provides two types of table.
-- (Real) Table: Provide interface to handle database file.
-- [Virtual Table](https://sqlite.org/vtab.html): 
-Provide interface to invoke the callback methods of object(virtual table).
-
-We can call any routines with query via virtual table.
-
 # ViST, Virtual Security Table
 ViST(Virtual Security Table) is a security monitoring framework using SQL query.
 - Provides APIs for monitoring and controlling security resources.