17 research outputs found

    Topics in Programming Languages, a Philosophical Analysis through the case of Prolog

    Get PDF
    [EN]Programming languages seldom find proper anchorage in philosophy of logic, language and science. is more, philosophy of language seems to be restricted to natural languages and linguistics, and even philosophy of logic is rarely framed into programming languages topics. The logic programming paradigm and Prolog are, thus, the most adequate paradigm and programming language to work on this subject, combining natural language processing and linguistics, logic programming and constriction methodology on both algorithms and procedures, on an overall philosophizing declarative status. Not only this, but the dimension of the Fifth Generation Computer system related to strong Al wherein Prolog took a major role. and its historical frame in the very crucial dialectic between procedural and declarative paradigms, structuralist and empiricist biases, serves, in exemplar form, to treat straight ahead philosophy of logic, language and science in the contemporaneous age as well. In recounting Prolog's philosophical, mechanical and algorithmic harbingers, the opportunity is open to various routes. We herein shall exemplify some: - the mechanical-computational background explored by Pascal, Leibniz, Boole, Jacquard, Babbage, Konrad Zuse, until reaching to the ACE (Alan Turing) and EDVAC (von Neumann), offering the backbone in computer architecture, and the work of Turing, Church, Gödel, Kleene, von Neumann, Shannon, and others on computability, in parallel lines, throughly studied in detail, permit us to interpret ahead the evolving realm of programming languages. The proper line from lambda-calculus, to the Algol-family, the declarative and procedural split with the C language and Prolog, and the ensuing branching and programming languages explosion and further delimitation, are thereupon inspected as to relate them with the proper syntax, semantics and philosophical élan of logic programming and Prolog

    Formal definition of programming languages: with an application to the definition of algol 60 (2nd ed.)

    Get PDF

    Calculus for decision systems

    Get PDF
    The conceptualization of the term system has become highly dependent on the application domain. What a physicist means by the term system might be different than what a sociologist means by the same term. In 1956, Bertalanffy [1] defined a system as a set of units with relationships among them . This and many other definitions of system share the idea of a system as a black box that has parts or elements interacting between each other. This means that at some level of abstraction all systems are similar, what eventually differentiates one system from another is the set of underlining equations which describe how these parts interact within the system. ^ In this dissertation we develop a framework that allows us to characterize systems from an interaction level, i.e., a framework that gives us the capability to capture how/when the elements of the system interact. This framework is a process algebra called Calculus for Decision Systems (CDS). This calculus provides means to create mathematical expressions that capture how the systems interact and react to different stimuli. It also provides the ability to formulate procedures to analyze these interactions and to further derive other interesting insights of the system. ^ After defining the syntax and reduction rules of the CDS, we develop a notion of behavioral equivalence for decision systems. This equivalence, called bisimulation, allows us to compare decision systems from the behavioral standpoint. We apply our results to games in extensive form, some physical systems, and cyber-physical systems. ^ Using the CDS for the study of games in extensive form we were able to define the concept of subgame perfect equilibrium for a two-person game with perfect information. Then, we investigate the behavior of two games played in parallel by one of the players. We also explore different couplings between games, and compare - using bisimulation - the behavior of two games that are the result of two different couplings. The results showed that, with some probability, the behavior of playing a game as first player, or second player, could be irrelevant. ^ Decision systems can be comprised by multiple decision makers. We show that in the case where two decision makers interact, we can use extensive games to represent the conflict resolution. For the case where there are more than two decision makers, we presented how to characterize the interactions between elements within an organizational structure. Organizational structures can be perceived as multiple players interacting in a game. In the context of organizational structures, we use the CDS as an information sharing mechanism to transfer the inputs and outputs from one extensive game to another. We show the suitability of our calculus for the analysis of organizational structures, and point out some potential research extensions for the analysis of organizational structures. ^ The other general area we investigate using the CDS is cyber-physical systems. Cyber-physical systems or CPS is a class of systems that are characterized by a tight relationship between systems (or processes) in the areas of computing, communication and physics. We use the CDS to describe the interaction between elements in some simple mechanical system, as well as a particular case of the generalized railroad crossing (GRC) problem, which is a typical case of CPS. We show two approaches to the solution of the GRC problem. ^ This dissertation does not intend to develop new methods to solve game theoretical problems or equations of motion of a physical system, it aims to be a seminal work towards the creation of a general framework to study systems and equivalence of systems from a formal standpoint, and to increase the applications of formal methods to real-world problems

    Design and development of protocol log analyzer for cellular modem

    Get PDF
    Abstract. Telecommunications protocols and cellular modems are used in devices to facilitate wireless communication. Cellular modems produce log files, which have to be analyzed by engineers when issues occur. Performing the analysis for large logs manually can be very time consuming, thus different approaches for trying to automate or simplify the process exist. This thesis presents design and development for a cellular modem log analysis tool. The tool is designed to take into account peculiarities of telecommunications protocols and cellular modems, especially of 5G New Radio Radio Resource Control protocol. A notation for defining analysis rules used by the tool is presented to be used alongside the tool. The developed tool is a proof-of-concept, with focus being on how the tool performs the analysis and how the notation can be used to define the wanted analysis rules. The features of the notation include defining expected content of protocol messages and order of log message sequences. The tool performs well with artificial modem logs, though some flaws in the notation are recognized. In the future, the tool and the notation should be updated with support for real cellular modem logs and evaluated in field use cases by cellular modem engineers.Matkapuhelinmodeemien lokitiedostojen analysointityökalun suunnittelu ja toteutus. Tiivistelmä. Tietoliikenneprotokollia ja matkapuhelinmodeemeja käytetään laitteissa langattoman tiedonsiirron mahdollistamiseksi. Matkapuhelinmodeemit tuottavat lokitiedostoja, joita insinöörien täytyy analysoida ongelmatilanteissa. Suurten lokitiedostojen analysointi manuaalisesti on työlästä, joten on olemassa keinoja prosessin automatisointiin tai yksinkertaistamiseen. Tämä työ esittelee suunnitelman ja toteutuksen matkapuhelinmodeemin lokitiedostojen analysointityökalulle. Työkalun suunnittelussa on otettu huomioon tietoliikenneprotokollien, erityisesti 5G New Radion radioresurssien hallintaprotokollan (RRC), ja matkapuhelinmodeemien erikoisuudet. Merkintäsäännöstö, jolla voidaan määritellä analyysisäännöt, esitellään työkalulle. Kehitetty työkalu on karkea prototyyppi. Kehityksessä keskitytään työkalun analyysiominaisuuksiin ja mahdollisuuksiin käyttää merkintäsäännöstöä määrittämään halutut analyysisäännöt. Merkintäsäännöstön ominaisuuksiin kuuluu odotettujen lokiviestien sisällön ja järjestyksen määrittely. Työkalu suoriutuu keinotekoisien modeemilokitiedostojen kanssa hyvin, mutta joitain vikoja merkintäsäännöstöstä havaittiin. Tulevaisuuden kehitystä ajatellen työkalu kannattaisi päivittää toimimaan aitojen matkapuhelinmodeemien lokitiedostojen kanssa, että sen kykyä suoriutua aidoista käyttötilanteista voitaisiin arvioida
    corecore