Lab49 Semantic Web London meetup on July 17th.
Survol is Primhill Computer's Software Intelligence tool to analyse and investigate running applications and legacy information systems in-situ. It is based on RDF and CIM.
Low Rate Young Call Girls in Sector 63 Mamura Noida ✔️☆9289244007✔️☆ Female E...
Exploring legacy ware with rdf and survol.17 july 2018
1. Exploring LegacyWare with RDF
and Survol
How Semantic Web helps Software Archeology
18/07/2018 Semantic Web London / Primhill Computers 1
2. Legacy software is growing.
• Massive code base: Millions of LOCs
• Non-existent / obsolete / false documentation
• Long history: 20 years +. Still growing
• More interconnections between systems
• Multiple hardware, languages, architectures, interfaces
Companies cannot rebuild their Information System from scratch: They
just clone it piece by piece; It grows, organically.
18/07/2018 Semantic Web London / Primhill Computers 2
3. Understanding legacy software: Solutions
• Documentation.
• Static analysis tools.
• Consultants, reading the code
• Models: UML
• Reverse engineering tools: Rational Rose
18/07/2018 Semantic Web London / Primhill Computers 3
4. No easy way to reverse-engineer IT systems
There is no methodology to investigate an Information System:
• Methodologies only work for simple systems
• Reverse-engineering tools have no understanding of the application
• Systems are constantly evolving: Only in-vivo investigation can
accurately describe a system when it is updated.
• No semantic definition, no model: The only common language
between machine and users, are IT objects.
18/07/2018 Semantic Web London / Primhill Computers 4
5. Self-updated maps of IT systems
• Tim Berners-Lee: «I have a dream for the Web in which computers
become capable of analysing all the data on the web». Semantic Web
models navigation on semantic resources. A machines network, eb, as
opposed to static documentation, is constantly up-to-date.
• These semantic resources are modelled by CIM: Common Information
Model. CIM is the abstract ontology.
• RDF: Resource Description Framework provides the mechanism and
the knowledge representation.
18/07/2018 Semantic Web London / Primhill Computers 5
6. CIM / Common Information Model ?
A DMTF open standard defining how IT elements are represented as a common set of objects and
relationships. Implemented by WBEM (Web-Based Enterprise Management), it provides queries on
machine and software state.
Class CIM_Process : CIM_LogicalElement {
string Name;
datetime CreationDate;
uint32 Priority;
string Handle;
}
• WMI (Windows™ Management Instrumentation)
• OpenLMI for Linux
18/07/2018 Semantic Web London / Primhill Computers 6
7. RDF + CIM = Information System dynamic models
• CIM is an object-based industrial definition of IT resources,
standardised by DMTF (Distributed Management Task Force).
• RDF provides the semantic model:
Subject.Predicate = Object (Subject,Predicate,Object)
RDF triples and URIs aggregate data from and link to heterogeneous
information sources.
18/07/2018 Semantic Web London / Primhill Computers 7
8. Survol: Browsing IT resources
• Models IT resources with CIM model and RDF implementation:
CIM_Process, CIM_DataFile, CIM_ComputerSystem … (Dozens !)
• Model enrichment with simple Python scripts
• HTML, Json, RDF, SVG, Javascript/D3 output
• Python 2/3, Windows/Linux. IE, Firefox, Chrome.
• Dozens of toolbox scripts for interrogating a running machine, all
wrapped in CIM/RDF framework: netstat, ps, ldd, nmap, ping, strace,
ltrace, gdb, depends, smbclient, tcpdump, etc… now usable by
anyone, results visible by anyone.
18/07/2018 Semantic Web London / Primhill Computers 8
9. Browsing IT resources on a local machine
• Process tree
• Python module dependencies
• Shared libraries and their symbols
• Process memory parsing
• Kernel module dependencies
• Installed software
• COM components
18/07/2018 Semantic Web London / Primhill Computers 9
10. PyCharm on Windows (D3)
18/07/2018 Semantic Web London / Primhill Computers 10
11. Oracle on Linux (SVG)
18/07/2018 Semantic Web London / Primhill Computers 11
14. Browsing distributed applications
• Sockets between processes: By drag’n’dropping RDF uris, one can
display processes of several machines, in the same browser.
• Remote Oracle database: socket connection, tables
18/07/2018 Semantic Web London / Primhill Computers 14
15. SSH socket from Win10 to RedHat
18/07/2018 Semantic Web London / Primhill Computers 15
18. Future directions
• Plug an RDF inference engine: Protégé, Jena
• Store RDF triples in a distributed database, for reporting and analysis.
• More scripts for investigating new resources types: APIs, software,
databases etc… WQL queries.
• Process mining, i.e. the analysis of business processes based on event
logs; This concept also applies to the many technical log files on a
running system.
• Jupyter Notebook integration
• SPARQL integration
• WSGI hosting for real-time events capture
18/07/2018 Semantic Web London / Primhill Computers 18