226 research outputs found

    Overview on Agent-Based Social Modelling and the Use of Formal Languages

    Get PDF
    The use of agent-based modelling and simulation techniques in the social sciences has flourished in the recent decades. The main reason is that the object of study in these disciplines, human society present or past, is difficult to analyse through classical analytical techniques. Population dynamics and structures are inherently complex. Thus, other methodological techniques need to be found to more adequately study this field. In this context, agent-based modelling is encouraging the introduction of computer simulations to examine behavioural patterns in complex systems. Simulation provides a tool to artificially examine societies where a big number of actors with decision capacity coexist and interact. However, formal modelling in these areas has not traditionally been used compared to other fields of science, in particular in their use of formal languages during the modelling process. In this chapter, the authors aim to revise the most relevant aspects on modelling in social sciences and to discuss the use formal languages by social scientists

    Circuit Design

    Get PDF
    Circuit Design = Science + Art! Designers need a skilled "gut feeling" about circuits and related analytical techniques, plus creativity, to solve all problems and to adhere to the specifications, the written and the unwritten ones. You must anticipate a large number of influences, like temperature effects, supply voltages changes, offset voltages, layout parasitics, and numerous kinds of technology variations to end up with a circuit that works. This is challenging for analog, custom-digital, mixed-signal or RF circuits, and often researching new design methods in relevant journals, conference proceedings and design tools unfortunately gives the impression that just a "wild bunch" of "advanced techniques" exist. On the other hand, state-of-the-art tools nowadays indeed offer a good cockpit to steer the design flow, which include clever statistical methods and optimization techniques.Actually, this almost presents a second breakthrough, like the introduction of circuit simulators 40 years ago! Users can now conveniently analyse all the problems (discover, quantify, verify), and even exploit them, for example for optimization purposes. Most designers are caught up on everyday problems, so we fit that "wild bunch" into a systematic approach for variation-aware design, a designer's field guide and more. That is where this book can help! Circuit Design: Anticipate, Analyze, Exploit Variations starts with best-practise manual methods and links them tightly to up-to-date automation algorithms. We provide many tractable examples and explain key techniques you have to know. We then enable you to select and setup suitable methods for each design task - knowing their prerequisites, advantages and, as too often overlooked, their limitations as well. The good thing with computers is that you yourself can often verify amazing things with little effort, and you can use software not only to your direct advantage in solving a specific problem, but also for becoming a better skilled, more experienced engineer. Unfortunately, EDA design environments are not good at all to learn about advanced numerics. So with this book we also provide two apps for learning about statistic and optimization directly with circuit-related examples, and in real-time so without the long simulation times. This helps to develop a healthy statistical gut feeling for circuit design. The book is written for engineers, students in engineering and CAD / methodology experts. Readers should have some background in standard design techniques like entering a design in a schematic capture and simulating it, and also know about major technology aspects

    Automated verification of reactive and concurrent programs by calculation

    Get PDF
    Reactive programs combine traditional sequential programming constructs with primitives to allow communication with other concurrent agents. They are ubiquitous in modern applications, ranging from components systems and web services, to cyber-physical systems and autonomous robots. In this paper, we present an algebraic verification strategy for concurrent reactive programs, with a large or infinite state space. We define novel operators to characterise interactions and state updates, and an associated equational theory. With this we can calculate a reactive program's denotational semantics, and thereby facilitate automated proof. Of note is our reasoning support for iterative programs with reactive invariants, based on Kleene algebra, and for parallel composition. We illustrate our strategy by verifying a reactive buffer. Our laws and strategy are mechanised in Isabelle/UTP, our implementation of Hoare and He's Unifying Theories of Programming (UTP) framework, to provide soundness guarantees and practical verification support

    Capturing and exploiting abstract views of states in OO verification

    Get PDF
    In this thesis, we study several implementation, specification and verification techniques for Object-Oriented (OO) programs. Our focus is on capturing conceptual structures in OO states in abstractions, and then exploiting such an abstract view of the state in specification and implementation approaches in a way that allows for formal verification. Generally, an OO state consists of many objects that reference each other in possibly complicated ways. At the same time, at any one point in the execution of the program, we can often reason about what is happening using an abstract view of the state that is much less complicated. To further improve the quality of implementations, better techniques must be developed for 1) specification of the abstract views that are used by the client and the programmer, and 2) the verification that an implementation satisfies its specification. This thesis contributes to that effort. We distinguish between client-level and programmer-level specification. A client-level specification acts as a contract between the client and the implementer. A programmer-level specification allows to reason formally about the implementation. We consider two specification formalisms that differ in the basic abstract view that is used: Algebraic Specification and OO Specification. We consider both client-level and programmer-level specifications based on algebraic specification. We contribute a novel syntax and semantics for the former, and we contribute an implementation approach for OO implementations based on the latter. We show that the implementation approach is suitable for problem-independent verification. We propose the programmer-level OO specification constructs inc and coop. The inc construct allows method specification to make explicit that a certain enumeration of invariants does not have to hold when that method is executed. The coop construct allows a field specification to make explicit that a certain enumeration of invariants might be invalidated when the field is updated. This allows for the specification and verification of OO designs in which in the process of updating one object, other objects with which it together implements a common purpose must be updated as well. We then generalize the inc and coop constructs by removing a restriction to enumerations of invariants. For instance, this is needed in the well-known Observer Pattern, where a Subject can have an arbitrary and dynamically changing number of Observers. A more general interpretation of invariants and accompanying proof system are provided as well. We contribute a programmer-level OO specification technique to capture layers in OO architectures, and we exploit these layers by providing a more liberal semantics of class invariants. We also provide a verification technique for the semantics. Layers are an abstraction at the architectural level in OO implementations that designate certain object structures in the design as sub-structures that are shared by other structures. An object in a higher layer is not relevant to the purpose of an object in the sub-structure. Given this intuition, an object in a higher layer is not part of the abstract view from an object in a lower layer. Therefore, the invariant of a higher layer object does not have to hold when a method of a lower-layer object is executing. Finally, we contribute a verification technique for pure methods and model fields, which are existing specification techniques for capturing an abstract view of the state in OO specifications. A method that is pure can be used as a function in predicates in class specifications. The function is axiomatized using the pre- and postcondition that are specified for the method. A model field abstracts part of the concrete state of an object into an abstract value. This too introduces an additional axiom in the underlying reasoning. The technique contributed establishes that such additional axioms do no introduce inconsistencies into the formal reasoning. It comes with heuristics that that make it amenable to automatic verification

    Circuit Design

    Get PDF
    Circuit Design = Science + Art! Designers need a skilled "gut feeling" about circuits and related analytical techniques, plus creativity, to solve all problems and to adhere to the specifications, the written and the unwritten ones. You must anticipate a large number of influences, like temperature effects, supply voltages changes, offset voltages, layout parasitics, and numerous kinds of technology variations to end up with a circuit that works. This is challenging for analog, custom-digital, mixed-signal or RF circuits, and often researching new design methods in relevant journals, conference proceedings and design tools unfortunately gives the impression that just a "wild bunch" of "advanced techniques" exist. On the other hand, state-of-the-art tools nowadays indeed offer a good cockpit to steer the design flow, which include clever statistical methods and optimization techniques.Actually, this almost presents a second breakthrough, like the introduction of circuit simulators 40 years ago! Users can now conveniently analyse all the problems (discover, quantify, verify), and even exploit them, for example for optimization purposes. Most designers are caught up on everyday problems, so we fit that "wild bunch" into a systematic approach for variation-aware design, a designer's field guide and more. That is where this book can help! Circuit Design: Anticipate, Analyze, Exploit Variations starts with best-practise manual methods and links them tightly to up-to-date automation algorithms. We provide many tractable examples and explain key techniques you have to know. We then enable you to select and setup suitable methods for each design task - knowing their prerequisites, advantages and, as too often overlooked, their limitations as well. The good thing with computers is that you yourself can often verify amazing things with little effort, and you can use software not only to your direct advantage in solving a specific problem, but also for becoming a better skilled, more experienced engineer. Unfortunately, EDA design environments are not good at all to learn about advanced numerics. So with this book we also provide two apps for learning about statistic and optimization directly with circuit-related examples, and in real-time so without the long simulation times. This helps to develop a healthy statistical gut feeling for circuit design. The book is written for engineers, students in engineering and CAD / methodology experts. Readers should have some background in standard design techniques like entering a design in a schematic capture and simulating it, and also know about major technology aspects

    Exploring `Designer Context' in Engineering Design: The Relationship Between Self, Environment, and Design Methods

    Full text link
    Engineering design methods support engineers’ decision-making throughout a design process in order to improve design outcomes. The selection and implementation of suitable design methods are therefore critical to project success. Prior engineering design research has focused on designers' professional experiences or the problem context for guiding method choices. Perhaps due to disciplinary norms of objectivity, individual characteristics outside of an engineer's professional expertise are not seen as influential on design outcomes. In contrast, theories from other design disciplines define aspects of a designer's experience outside of their professional self as central to design practice. This dissertation seeks to reconcile these two paradigms by exploring whether `designer context' factors, that are often not discussed in engineering design but are found in other design fields (i.e. - organizational culture, gender, race) can impact design outcomes via method selection and implementation. Results from practitioner interviews on designer context and prototyping methods, as well as an empirical study of a novel design method, suggest that a broad range of designer context factors can influence design method selection and implementation, ultimately impacting the efficiency and efficacy of a design process. Therefore, if engineering designers were to consider their holistic designer context and its influence on their work, as occurs in other design fields, better engineering outcomes could be achieved. An exploratory study consisting of qualitative interviews formalized designer context and illustrated how these contextual factors impacted methods used by practitioners in the medical device industry. This study provides an initial foundation of designer context factors for exploration in future research and practice. These factors were categorized into the Design Environment, or the external factors surrounding a designer when they are designing, and the Designer's Self, or the internal factors related to a designer. Interviews with design practitioners from small-to-medium sized enterprises in Rwanda and Kenya revealed specific resource constraints impacting the implementation of prototyping methods. Many of the identified constraints were related to the practitioners’ context. Limited access to quality materials or fabricators, often due to difficulties navigating a decentralized market, added time and cost to the process. Practitioners reported trying to develop simple, functional, and physical prototypes with increasing fidelity through a highly iterative process. However, these constraints negatively impacted the chosen prototyping method, suggesting that alternative methods could be beneficial. In an empirical study, our team proposed and implemented a new method for considering multiple stakeholder preferences, the Stakeholder Agreement Metric (SAM) framework, to support the design of a hand tool to reduce injuries for informal electronic-waste (e-waste) recyclers in rural Thailand. This method was compared to the Analytical Hierarchy Process (AHP), an existing method that supports similar decisions. Results showed that the SAM framework outperformed AHP in this informal setting due to the failed completion of AHP by participants. The study highlights how designer context not only influenced the implementation of design methods but also their development. This dissertation expands the boundaries of what factors should be considered influential on design processes and their outcomes. Across all three studies, designer context was shown to influence method selection and implementation. The findings suggest that contextual factors affect design methods in practice and should be included in future research to enable the selection and implementation of more suitable and effective design methods.PHDMechanical EngineeringUniversity of Michigan, Horace H. Rackham School of Graduate Studieshttp://deepblue.lib.umich.edu/bitstream/2027.42/163100/1/suzchou_1.pd

    Going to scale with Community-Led Total Sanitation: reflections on experience, issues and ways forward

    Get PDF
    Perhaps as many as 2 billion people living in rural areas are adversely affected by open defecation (OD). Those who suffer most from lack of toilets, privacy and hygiene are women, adolescent girls, children and infants. Sanitation and hygiene in rural areas have major potential for enhancing human wellbeing and contributing to the MDGs. Approaches through hardware subsidies to individual households have been ineffective. Community-Led Total Sanitation (CLTS) is a revolutionary approach in which communities are facilitated to conduct their own appraisal and analysis of open defecation (OD) and take their own action to become ODF (open defecation-free). In six of the countries where CLTS has been spread – Bangladesh, India, Indonesia, Pakistan, Ethiopia and Kenya – approaches differ organisationally with contrasting combinations of NGOs, projects and governments. Practical elements in strategies for going to scale have included: training and facilitating; starting in favourable conditions; conducting campaigns and encouraging competition; recruiting and committing teams and full-time facilitators and trainers; organising workshops and cross-visits; supporting and sponsoring Natural Leaders and community consultants; inspiring and empowering children, youth and schools; making use of the market and promoting access to hardware; verifying and certifying ODF status; and finding and supporting champions at all levels. To spread CLTS well requires continuous learning, adaptation and innovation. It faces challenges. Paradigmatically, it requires major institutional, professional and personal shifts. Opposition at senior levels, pressures to disburse large budgets, demands to go to scale rapidly, and programmes to subsidise hardware for individual rural households, have been and remain threats and obstacles. Issues for review, reflection and research include: diversity, definition and principles; synergies with complementary approaches; scale, speed and quality; creative diversity; and physical, social and policy sustainability. In seeking constructive ways forward, four key themes or thrusts are: methodological development and action learning; creative innovation and critical awareness; learning and action alliances and networks, with fast learning across communities, districts and countries; and seeking to seed self-spreading or light touch movements. A key to good spread is finding, supporting and multiplying champions, at all levels, and then their vision, commitment and courage

    Design of asynchronous microprocessor for power proportionality

    Get PDF
    PhD ThesisMicroprocessors continue to get exponentially cheaper for end users following Moore’s law, while the costs involved in their design keep growing, also at an exponential rate. The reason is the ever increasing complexity of processors, which modern EDA tools struggle to keep up with. This makes further scaling for performance subject to a high risk in the reliability of the system. To keep this risk low, yet improve the performance, CPU designers try to optimise various parts of the processor. Instruction Set Architecture (ISA) is a significant part of the whole processor design flow, whose optimal design for a particular combination of available hardware resources and software requirements is crucial for building processors with high performance and efficient energy utilisation. This is a challenging task involving a lot of heuristics and high-level design decisions. Another issue impacting CPU reliability is continuous scaling for power consumption. For the last decades CPU designers have been mainly focused on improving performance, but “keeping energy and power consumption in mind”. The consequence of this was a development of energy-efficient systems, where energy was considered as a resource whose consumption should be optimised. As CMOS technology was progressing, with feature size decreasing and power delivered to circuit components becoming less stable, the energy resource turned from an optimisation criterion into a constraint, sometimes a critical one. At this point power proportionality becomes one of the most important aspects in system design. Developing methods and techniques which will address the problem of designing a power-proportional microprocessor, capable to adapt to varying operating conditions (such as low or even unstable voltage levels) and application requirements in the runtime, is one of today’s grand challenges. In this thesis this challenge is addressed by proposing a new design flow for the development of an ISA for microprocessors, which can be altered to suit a particular hardware platform or a specific operating mode. This flow uses an expressive and powerful formalism for the specification of processor instruction sets called the Conditional Partial Order Graph (CPOG). The CPOG model captures large sets of behavioural scenarios for a microarchitectural level in a computationally efficient form amenable to formal transformations for synthesis, verification and automated derivation of asynchronous hardware for the CPU microcontrol. The feasibility of the methodology, novel design flow and a number of optimisation techniques was proven in a full size asynchronous Intel 8051 microprocessor and its demonstrator silicon. The chip showed the ability to work in a wide range of operating voltage and environmental conditions. Depending on application requirements and power budget our ASIC supports several operating modes: one optimised for energy consumption and the other one for performance. This was achieved by extending a traditional datapath structure with an auxiliary control layer for adaptable and fault tolerant operation. These and other optimisations resulted in a reconfigurable and adaptable implementation, which was proven by measurements, analysis and evaluation of the chip.EPSR

    Sustainability in design: now! Challenges and opportunities for design research, education and practice in the XXI century

    Get PDF
    Copyright @ 2010 Greenleaf PublicationsLeNS project funded by the Asia Link Programme, EuropeAid, European Commission
    • 

    corecore