User:Melanieflandes/sandbox/API Calculus

API Calculus is a program that solves calculus problems using operating systems within a device that solves calculus problems. In 1989 the PI- Calculus was created by Robin Milner and was very successful throughout the years. The PI Calculus is an extension of the extension of the process algebra CCS, a tool that has algebraic languages that are specific to processing and formulating statements. The PI Calculus provides a formal theory for modeling systems and reasoning about their behaviors. In the PI Calculus their are two specific variables such as name and processes. But it was not until 2002 when Shahram Rahimi decided to create an upgraded version of the PI- Calculus and call it the API Calculus. Milner claimed the detailed characteristics of the API Calculus to be its' "Communication Ability, Capacity for Cooperation, Capacity for Reasoning and Learning, Adaptive Behavior and Trustworthiness." The main purpose of creating this mobile advancement is to better network and communicate with other operators while completing a task. Unfortunately, the API Calculus is not perfect and has faced a problem with its security system. The language has seven features that was created within the device that the PI Calculus does not have. Since this program is so advanced by the way the software was created and the different abilities that offered in the program, it is required to be converted to other programming languages so it can be used on various devices and other computing languages. Although the API Calculus is currently being used by various other programming languages, modifications are still being done since the security on the API Calculus is causing problems to users.

What Does It Do?
The API Calculus is the main demonstration for modeling migration, intelligence, natural grouping and security in agent-based systems. This calculus programming language is usually used in various other program languages such as Java. In Java, a famous programming language used by various corporations such as IBM, TCS, and Google, the API Calculus is commonly used to solve equations and programs involving calculus.

Features
The API Calculus has a wide variety of features those similar to the PI Calculus but has new and improved features such as:
 * accepts processes to be passed over communication links
 * natural grouping of mobile processes is addressed
 * features calculus dictionary
 * includes milieu - a level of abstraction that is between a single mobile agents (combination of computer software and data that is able to transfer from one computer to another independently and still able to work on the most recent computer that data was transferred to) and the device as a whole. It is a very restricted environment that involves zero or many agents or other milieus that work closely together to solve computer based problems.
 * ability of grouping together hosts ( a physical node - connection point - or software program ) and processes ( computer program that is running ) that are similar
 * contains different programming languages
 * knowledge units

Verification Strategy
The software language used throughout the API Calculus program is translated into two other different languages. It is first translated from API Calculus syntax to ATEL/ATL, then to MOCHA. The outcome of the translating module is like the step previously mentioned. Transferring API syntax to ATEL/ATL requires coding transformation knowledge to successfully transfer.
 * 1) Input Module( receives API Calculus model )
 * 2) Translating Model ( converts API syntax to ATEL/ATL syntax )
 * 3) Model Verification ( MOCHA )
 * 4) Display Mode

Syntax
The API program has its own syntax that it follows in order to make the program run smoothly. The program is broken down into four main categories such as terms, processes, knowledge units, and milieu. The terms can be names, terms, facts, rules or functions that are assigned to variable names of the program. The process is the list of expressions used within the program to solve a calculus problem or equation. The knowledge units or commonly known as parameters are the facts and rules that can be used in order to solve the program. Lastly, the milieu is the ability to transfer computer data and information from one computer to another independently.

Flaws
The only flaw that the API Calculus has is the ability to not support a security system on mobile devices such as laptops. The problem is that is any outside source tries to enter the milieu is not allowed to enter because the API Calculus requires proof that is can be a trusted source.