Lokahi Simplifies The Integration of Blockchain and Ledger Technologies
Lokahi is a new breed of tool that uses a customizable and easy to learn visual language to design software. The application was built to simplify Blockchain, IoT, and Web Services integrations but can also be used to simplify a broad range of system development requirements. Lokahi does not require someone to know how to program in a language such as Java, Python, etc. as it has mathematically based instruction sets that can be interpreted by decoders on blockchain, IoT devices, and web servers. The instruction sets are not compiled or interpreted code, since code contains bugs even after long testing cycles.
Lokahi supports a visual language that allows users to build out complex requirements by dragging and dropping components on a workboard. The work is almost entirely done with the mouse and requires almost no typing. The visual language uses custom and stock components to represent data and logic flows.
Lokahi has full support for collaboration and has built in support for agile methodologies. This is ideal for development of complex systems where domain knowledge is spread across more than one domain and system experts. Transfer of knowledge from business to technical teams is often fraught with the potential for errors through miscommunication. Lokahi addresses this danger by allowing requirements to be entered into the tool by the person most familiar with the requirements. Ferdon’s team of engineers can collaborate with the onsite team to add custom capabilities to the domain language.
Lokahi uses meta-modeling to create an assembly line for the creation of building blocks, making it possible to scale the rapid development of custom domain languages through a process of component development and refinement. Thus existing building blocks are used to build higher level building blocks that abstract away more of the technology and align more with business requirements.
Ferdon supports its customers by using Lokahi for Rapid Application Development (RAD) of custom domain components. These components can then be remotely added to augment the customers domain language. Turnaround times for assembling custom domain components is usually a matter of a few days.
Because Lokahi does not generate code, programmer error doesn’t exist. Errors of mistakes in logic can still occur but are much less frequent because we are not double and triple handling requirements with programmers and software testers. Lokahi’s execution language was designed around formal methods including automatic theorem proving and model checking. Lokahi uses the same kinds of formal verification processes used in development of mission critical applications such as software used in an airport control room or software built for medical devices. Deep analysis are continuously performed on the design during development and reports can be generated and reviewed that highlight design flaws.
Lokahi allows entire sub-systems that may include blockchain, IoT and web services to be designed in one place. The subsystems can be simulated to provide deep insights into how the application would function. Simulation can be done in minutes allowing the several variations of a solution to be tried at a low cost. Problems that are identified and isolated during simulation can be fixed quickly and at low cost. Long develop, deploy, and test cycles are no longer needed.
Lokahi design is at the logical layer. Deployment plans allow the same logical design to be deployed to various blockchain technologies, IoT devices and web servers. This means that the same design could be deployed across several systems running different hardware, or different flavors of blockchain or instance. Technology changes down the road are painless and often only require a redeployment.
Lokahi is often used to model logic for combination of blockchain smart contracts, IoT devices, and web services. These components can be configured with security credentials that pin the components to specific hardware devices and to specific versions of other components. This is useful when designing for multi-party applications where the parties don’t completely trust each other. For instance an IoT device that registered the arrival of packages on a blockchain might be used for billing purposes. In this case both parties could approve the design of the system and the components would then be deployed to an immutable status so neither party could modify any part of the system without all parties knowing.