User:Simula-ict/sandbox

= AdSiF (Agent driven Simulation Framework) = AdSiF is an ontology-based declarative scripting language for simulation and intelligent agent development. AdSiF provides a programming environment for modeling, simulation, and programming agents, which merges agent-based, object-oriented, aspect-oriented, and logic programming into a single paradigm. The power of this paradigm stems from its ontological background and the paradigms it embraces and integrates into a single paradigm called state-oriented programming. AdSiF commits to describe what exists and to model the agent reasoning abilities, which thereby drives model behaviors. Basically, AdSiF provides a knowledge-base and a depth first search mechanism for reasoning. It is possible to model different search mechanism for reasoning, but depth first search is a default search mechanism for first order reasoning. The knowledge base consists of facts and predicates. The reasoning mechanism is combined with a dual-world representation, it is defined as an inner representation of a simulated environment, and it is constructed from time-stamped sensory data (or beliefs) obtained from that environment even when these data consist of errors. This mechanism allows the models to make decisions using the historical data of the models and its own states.

AdSiF’s ontological Commitments
The concept of Ontology is defined as below in Stanford Encyclopedia of Philosophy ; "Ontology, as etymology suggests, is the study of being, of what there is. The ontologist asks: What entities or kinds of entity exist? Are there abstract entities, such as sets or numbers, in addition to concrete entities, such as people and puddles and protons? Are there properties or universals in addition to (or instead of) the particular entities that, as we say, instantiate them? Questions such as these have divided philosophers down the ages, and divide them no less to this day." An ontology's language is itself making an ontological commitment; it takes a view upon what things are important in the world and it is these that can be represented. To be able to define a complete simulation conceptual model, the whole process starts at the ontology point. A simulation language has to define an entity (the thing or existence). Defining an existence is directly related with the ontology. From this point of view, AdSiF's ontological commitment is defined as; "Entities live in a certain environment and have their own properties distinguishing them from each other and atomic action in charge of managing properties (OOP perspective) they have, creating the interactions that change the environment they are in and are shared with other entities as a communication element. The entities implement their atomic actions in sequentially and in a reasonable semantic called behavior and behaviors are executed in parallel and/or sequential. Each atomic action is wrapped by a state that constructs behaviors (SOP perspective). In other words, an entity acts only and only in a state. Entities interact with each other by event transactions and constitute relations between each other. An interaction has autonomy, reactivity, and goal (AgOP perspective). There are definite relations between entities and each relation gives specific roles to its parties and a relation is a way to define the related entity. By a taxonomic view, behavior categories of an entity represent different behavioral aspects of the entity (AOP perspective). An entity has beliefs and facts about the environment and about the other entities that they share the environment, as a fact dual world envision it is in and may have a set of goals to succeed and a reasoning mechanism with a set of decision-making algorithms Logic Programming (LP perspective). "

Programming Paradigm of AdSiF
AdSiF’s programming paradigm is State oriented Programming paradigm and it fuses multi paradigms in this paradigm. The paradigms it covers are Object Oriented Paradigm (OOP), Logic programming (LP), and Aspect oriented paradigm (AOP). States, behaviors, behavior lists (containers) are fundamental components of state oriented programming. States are the most atomic element of State-Oriented Programming. As a building block of behaviors, a state is defined as a definite mode in which a simulation model is, and it represents a posture of an entity. A definite atomic condition that a state represents has a real-world counterpart with its duration, and a description of the definite description, i.e., sleeping, shaking hands, stepping, firing or even doing nothing. A behavior is defined as a hierarchical state automaton and it represents a valid sentence, and its real-world counterpart is a complete behavior of the model to which it belongs, such as walking, eating, and fighting. A behavior is constituted by a series of states, temporal relations, drive conditions, trigger event-entry state couples and events attached.