Object-Oriented Programming and Laboratory of Simulation Development

Size: px
Start display at page:

Download "Object-Oriented Programming and Laboratory of Simulation Development"

Transcription

1 Object-Oriented Programming and Laboratory of Simulation Development Marco Valente LEM, Pisa and University of L Aquila January, 2008

2 Outline Goal: show major features of LSD and their methodological motivations

3 Outline Goal: show major features of LSD and their methodological motivations Definition of a simulation model: a normal form

4 Outline Goal: show major features of LSD and their methodological motivations Definition of a simulation model: a normal form LSD definition of simulation models

5 Outline Goal: show major features of LSD and their methodological motivations Definition of a simulation model: a normal form LSD definition of simulation models Presentation of LSD examples

6 Outline Goal: show major features of LSD and their methodological motivations Definition of a simulation model: a normal form LSD definition of simulation models Presentation of LSD examples Methodological remarks

7 Outline Goal: show major features of LSD and their methodological motivations Definition of a simulation model: a normal form LSD definition of simulation models Presentation of LSD examples Methodological remarks Technical comments

8 Definition of simulation models A simulation models is defined independently from the medium containing it. A model must theoretically generate the same results using any programming language.

9 Definition of simulation models A simulation models is defined independently from the medium containing it. A model must theoretically generate the same results using any programming language. Simulation run: sequence(s) of values across simulation time steps. {X 1, X 2,..., X t,..., X T }

10 Definition of simulation models A simulation models is defined independently from the medium containing it. A model must theoretically generate the same results using any programming language. Simulation run: sequence(s) of values across simulation time steps. {X 1, X 2,..., X t,..., X T } Simulation model: generic definition of how X t is computed: X t = f(x t k, Y t,α)

11 Definition of simulation models Notice that we choose to refer to time driven simulation models, as opposed to event driven models. The two styles of modelling are equivalent, since one can be turned into the other.

12 Definition of simulation models The following definition of a simulation is meant to satisfy two requirements: 1 Univocal. There must not be ambiguity, leaving room for implementations potentially generating different results. 2 User friendly. It must be as close as possible to (one of) the way(s) people usually refer to models in natural languages.

13 Definition of simulation models The elements required in a simulations models must be chosen within the following classes: 1 Variables. Symbols associated to a single value at each time step, computed according to a specified equation.

14 Definition of simulation models The elements required in a simulations models must be chosen within the following classes: 1 Variables. Symbols associated to a single value at each time step, computed according to a specified equation. 2 Parameters. Symbols associated to values not changing of their own accord.

15 Definition of simulation models The elements required in a simulations models must be chosen within the following classes: 1 Variables. Symbols associated to a single value at each time step, computed according to a specified equation. 2 Parameters. Symbols associated to values not changing of their own accord. 3 Functions. Symbols providing values computed by an equation on request by other equations (independently from the time).

16 Definition of simulation models The elements required in a simulations models must be chosen within the following classes: 1 Variables. Symbols associated to a single value at each time step, computed according to a specified equation. 2 Parameters. Symbols associated to values not changing of their own accord. 3 Functions. Symbols providing values computed by an equation on request by other equations (independently from the time). 4 Objects. A structure to generate multiple copies of the elements above.

17 Definition of simulation models A simulation model needs to specify also the initialization, values required to start a simulation run: Variables. If a variable is used with a lag, it is necessary to provide the past values used at the earlier steps of a run.

18 Definition of simulation models A simulation model needs to specify also the initialization, values required to start a simulation run: Variables. If a variable is used with a lag, it is necessary to provide the past values used at the earlier steps of a run. Parameters. Values for the model s constants.

19 Definition of simulation models A simulation model needs to specify also the initialization, values required to start a simulation run: Variables. If a variable is used with a lag, it is necessary to provide the past values used at the earlier steps of a run. Parameters. Values for the model s constants. Functions. If the function s values are used with a delay, it is necessary to provide earliest values.

20 Definition of simulation models A simulation model needs to specify also the initialization, values required to start a simulation run: Variables. If a variable is used with a lag, it is necessary to provide the past values used at the earlier steps of a run. Parameters. Values for the model s constants. Functions. If the function s values are used with a delay, it is necessary to provide earliest values. Objects. Number of copies of each object, each containing a single copy of the elements contained.

21 Definition of simulation models A simulation model needs to specify also the initialization, values required to start a simulation run: Variables. If a variable is used with a lag, it is necessary to provide the past values used at the earlier steps of a run. Parameters. Values for the model s constants. Functions. If the function s values are used with a delay, it is necessary to provide earliest values. Objects. Number of copies of each object, each containing a single copy of the elements contained. Simulation settings. Parameters determining the external environment (e.g. last time step, random number generators, statistics to collect, etc.).

22 Definition of simulation models Note that the objects form the structure of the model. Object-based representations are equivalent to a matrix-based representation. Vectorbased Object-based Object 1 Object 2... Object N X X 1 X 2... X N Y Y 1 Y 2... Y N α α 1 α 2... α N

23 Definition of simulation models Note that the objects form the structure of the model. Object-based representations are equivalent to a matrix-based representation. Vectorbased Object-based Object 1 Object 2... Object N X X 1 X 2... X N Y Y 1 Y 2... Y N α α 1 α 2... α N Object-based representations are also far more flexible, easily expressing, for example, the equivalent of nested matrices and matrices with different number of rows in each column.

24 Definition of simulation models Let s give some terminology: Model structure: the set of objects and the elements there contained. Possibly, objects may form a hierarchical structure: Market containing Firms, each containing Department, etc.

25 Definition of simulation models Let s give some terminology: Model structure: the set of objects and the elements there contained. Possibly, objects may form a hierarchical structure: Market containing Firms, each containing Department, etc. Model configuration: the model structure enriched with the number of objects and the initial values for the elements requiring them. Includes also sim. settings.

26 Definition of simulation models Let s give some terminology: Model structure: the set of objects and the elements there contained. Possibly, objects may form a hierarchical structure: Market containing Firms, each containing Department, etc. Model configuration: the model structure enriched with the number of objects and the initial values for the elements requiring them. Includes also sim. settings. Model s equations: equations computing the values for variables and functions, expressed in a generic way: operations to be executed to compute the value for the i th copy of the element at time t.

27 LSD goals LSD s aims is to allow users to provide only a simulation model s configuration and equations and to generate automatically any further code required for a professional simulation program.

28 LSD goals LSD s aims is to allow users to provide only a simulation model s configuration and equations and to generate automatically any further code required for a professional simulation program. LSD users define independently the different parts of the model, and the system assembles them in a program generating fast and flexible simulation runs, or detailed error messages.

29 LSD goals LSD s aims is to allow users to provide only a simulation model s configuration and equations and to generate automatically any further code required for a professional simulation program. LSD users define independently the different parts of the model, and the system assembles them in a program generating fast and flexible simulation runs, or detailed error messages. Crucially, LSD considers the development of a model as a gradual process. Its modular structure allows easily to revise an existing model.

30 LSD s equations major features Coding a LSD models can be done only by writing the code for the model s equations. The closest metaphor to a LSD model is a system of discrete equations, one for each variable.

31 LSD s equations major features Coding a LSD models can be done only by writing the code for the model s equations. The closest metaphor to a LSD model is a system of discrete equations, one for each variable. The equations of a LSD models are defined as independent chunks of code, with references to the model made only via the labels of required elements.

32 LSD s equations major features Coding a LSD models can be done only by writing the code for the model s equations. The closest metaphor to a LSD model is a system of discrete equations, one for each variable. The equations of a LSD models are defined as independent chunks of code, with references to the model made only via the labels of required elements. At run time the Lsd Simulation Manager re-arranges the equations calling them as necessary to perform the necessary computation.

33 LSD s equations major features LSD is endowed with an automatic scheduling. The modeller needs not to consider when a particular equation is executed within a time step. The LSM automatically (and constantly) re-arranges the order as implied by the equations. For example, consider the following model : X t = F X (Y t ) Y t = F Y (X t 1 ) The system interprets the equations so that Y must be updated before X. Changing order of execution entails simply to change the number of lags within the equations code.

34 LSD s equations major features In general a model contains many copies of each element, say many Market s may contain each many Firm s etc. In a simulation run it must be ensured that each copy of a variable makes use of the correct copies of the elements required in its equations. As, for example, Q i = f(k i, p j ).

35 LSD s equations major features In general a model contains many copies of each element, say many Market s may contain each many Firm s etc. In a simulation run it must be ensured that each copy of a variable makes use of the correct copies of the elements required in its equations. As, for example, Q i = f(k i, p j ). LSD is an object-based language, and therefore it is impossible (besides impractical) to use indexes. By default, LSD finds on its own the correct copy of the elements to use in an equation, using a automatic tagging system to retrieve required elements.

36 LSD s equations major features Note that both features make completely effortless the modification of a model, the extension adding new elements, and the re-use of its parts.

37 LSD s equations major features Note that both features make completely effortless the modification of a model, the extension adding new elements, and the re-use of its parts. In practice, a LSD model is made of individual modules (the equations) which are related only by the labels of the elements required for the computation.

38 LSD s equations major features The language for expressing the equations can be considered as composed by multiple layers.

39 LSD s equations major features The language for expressing the equations can be considered as composed by multiple layers. Lacking any specific indication the system makes use of the internal scheduler and retriever. This system covers most of the cases and makes the code extremely simple and readable.

40 LSD s equations major features The language for expressing the equations can be considered as composed by multiple layers. Lacking any specific indication the system makes use of the internal scheduler and retriever. This system covers most of the cases and makes the code extremely simple and readable. A second layer entails the use of specific LSD commands overruling the default behaviour to express frequently used operations. E.g. pick at random one of the elements in this set.

41 LSD s equations major features The language for expressing the equations can be considered as composed by multiple layers. Lacking any specific indication the system makes use of the internal scheduler and retriever. This system covers most of the cases and makes the code extremely simple and readable. A second layer entails the use of specific LSD commands overruling the default behaviour to express frequently used operations. E.g. pick at random one of the elements in this set. Finally, LSD is built on standard C++ so that any command or external library compatible with GNU C++ can be used within the model.

42 LSD technical components LSD is distributed with a companion program called Lsd Model Manager which performs the following tasks: 1 Organize the projects and manage the required files.

43 LSD technical components LSD is distributed with a companion program called Lsd Model Manager which performs the following tasks: 1 Organize the projects and manage the required files. 2 Assist in the writing of the equations.

44 LSD technical components LSD is distributed with a companion program called Lsd Model Manager which performs the following tasks: 1 Organize the projects and manage the required files. 2 Assist in the writing of the equations. 3 Manage the compilation process.

45 LSD technical components LSD is distributed with a companion program called Lsd Model Manager which performs the following tasks: 1 Organize the projects and manage the required files. 2 Assist in the writing of the equations. 3 Manage the compilation process. 4 Provide indications on grammar errors in the equations code.

46 LSD technical components Lsd Model Manager - LMM Model Equation file "fun_mymodel.cpp" Fix errors Failure Grammar Error Messages Lsd system code src\lsdmain.cpp src\object.cpp... src\variable.cpp Compilation Success

47 LSD technical components On success LMM generates an executable called LSD Model Program embodying the equations of the model and offering every operation concerning the model: 1 Define, save and load model configurations.

48 LSD technical components On success LMM generates an executable called LSD Model Program embodying the equations of the model and offering every operation concerning the model: 1 Define, save and load model configurations. 2 Run single or multiple simulations.

49 LSD technical components On success LMM generates an executable called LSD Model Program embodying the equations of the model and offering every operation concerning the model: 1 Define, save and load model configurations. 2 Run single or multiple simulations. 3 Analyse the results, at run-time and at the end of the simulation.

50 LSD technical components On success LMM generates an executable called LSD Model Program embodying the equations of the model and offering every operation concerning the model: 1 Define, save and load model configurations. 2 Run single or multiple simulations. 3 Analyse the results, at run-time and at the end of the simulation. 4 Investigate the model state before, during or after a run.

51 LSD technical components On success LMM generates an executable called LSD Model Program embodying the equations of the model and offering every operation concerning the model: 1 Define, save and load model configurations. 2 Run single or multiple simulations. 3 Analyse the results, at run-time and at the end of the simulation. 4 Investigate the model state before, during or after a run. 5 Catch and report on errors at run time, keeping data produced until the stop.

52 LSD technical components On success LMM generates an executable called LSD Model Program embodying the equations of the model and offering every operation concerning the model: 1 Define, save and load model configurations. 2 Run single or multiple simulations. 3 Analyse the results, at run-time and at the end of the simulation. 4 Investigate the model state before, during or after a run. 5 Catch and report on errors at run time, keeping data produced until the stop. 6 Document a model with its own interfaces, or exporting reports in HTML or Latex format

53 LSD technical components Lsd Model Program Define and Save Load Help Model Configuration - Model Structure (Objects, Variables and Parameters) - Initial values - Sim. settings - Running options Run Simulation Create Report Success Model Report User-friendly hypertextual documentation Failure Logical Error Messages Saved data series - Analysis of Results - Export data - Export graphs

54 LSD usage Using existing configurations Analysing results Setting initial values Setting the number of objects Defining model s element Debugging models Multiple runs Help pages Documentation

55 Examples: Random walk A random walk model may be implemented with the following equations: X t RandomEvent t = X t 1 + RandomEvent t = UNIFORM(minX, maxx) Different model structures can be used to exploit the equations above

56 Example: Replicator Dynamics A discrete version of this model may be apparently be expressed as: Num i t ( ) = Numt 1 i 1 + α fitnessi AvFitness t AvFitness t AvFitness t = N i=1 fitnessi Num i t N j=1 Numj t

57 Example: Replicator Dynamics A discrete version of this model may be apparently be expressed as: Num i t ( ) = Numt 1 i 1 + α fitnessi AvFitness t AvFitness t AvFitness t = N i=1 fitnessi Num i t N j=1 Numj t... but it cannot work

58 Example: Replicator Dynamics The logical error must be fixed inserting a lag in the equations Num i t ( ) = Numt 1 i 1 + α fitnessi AvFitness t AvFitness t AvFitness t = N i=1 fitnessi Num i t-1 N j=1 Numj t-1

59 Example: Smallwood and Conlisk, 1979 The model represents consumers using a product that can break down with a given probability. If the product breaks down, a new one is purchased randomly with probabilities proportional to market shares. Prob(i) = msα i j msα j Varying the parameter α we can observe a large variety of results.

60 Using simulations Simulation programs can be used for many purposes. Simulation models for research, particularly in social sciences can (should?) be used for answering questions like: How did phenomena like Ω emerged from a system like Σ?

61 Using simulations Simulation programs can be used for many purposes. Simulation models for research, particularly in social sciences can (should?) be used for answering questions like: How did phenomena like Ω emerged from a system like Σ? For a simulation model to be useful for research, we need therefore to ensure that the phenomenon under study is represented in the simulation results. However, this is not sufficient. We need also to explain how the simulated phenomenon was generated from our assumptions, the equations and configuration of the model.

62 Using simulations A consequence of this approach is that mere representation of a phenomenon, replicating somewhat realistic empirical evidence, may not be necessary, and in any case is not sufficient.

63 Using simulations A consequence of this approach is that mere representation of a phenomenon, replicating somewhat realistic empirical evidence, may not be necessary, and in any case is not sufficient. Empirical evidence on social phenomena is necessarily approximated, scarce, and ever changing. Even a perfect fitting of existing data does not ensure that the same, or even similar events, will ever occur again.

64 Using simulations A consequence of this approach is that mere representation of a phenomenon, replicating somewhat realistic empirical evidence, may not be necessary, and in any case is not sufficient. Empirical evidence on social phenomena is necessarily approximated, scarce, and ever changing. Even a perfect fitting of existing data does not ensure that the same, or even similar events, will ever occur again. Researchers need to focus on invariances, reliable regularities, that simply do not exist empirically as data sets. Even when some robust quantitative facts can be found, they are so vague and high level that many generating mechanisms may be devised.

65 Using simulations Many invariances exists in social phenomena, but they can be perceived not as quantitative data, but as forces, tendencies pressing toward predictable directions.

66 Using simulations Many invariances exists in social phenomena, but they can be perceived not as quantitative data, but as forces, tendencies pressing toward predictable directions. Therefore, the goal of a research project in systems like economic ones consists mainly in identifying some of the forces acting on the system, discarding the possibility to generate a replica.

67 Using simulations Initial State Transformation Final State Reality Real entities Aggregative explanations Temporal explanations Real entities Abstraction Validation Model Aggregative explanations Temporal explanations Symbols Symbols

68 Using simulations Simulations can therefore be used to replicate and investigate the effects on partial systems of a sub-set of the forces existing on the real world. Though replication of empirical may be a tool in the investigation, it is not a paramount yardstick for evaluation of model effectiveness. Another protocol needs to be used.

69 Hunting for explanations Consider research as the attempt to test and improve explanations: A µ B where µ is an explanatory mechanism and A and B two states of the world.

70 Hunting for explanations Explanations can be considered a form of knowledge, and scientific research as the attempt to increase scientific knowledge. There are only three ways to improve knowledge, meant as explanations.

71 Properties A µ B Knowledge refinement: An existing explanation, proved correct on a number of cases, may accommodate a counter example by refining the definition of states where it applies or the explanatory mechanism, or both. A µ B

72 Properties A µ B Knowledge refinement: An existing explanation, proved correct on a number of cases, may accommodate a counter example by refining the definition of states where it applies or the explanatory mechanism, or both. A µ B µ ; A B with A = A A and B = B B

73 Properties A µ B Knowledge deepening: Knowledge is never ultimately specified. You can always request a further specification of how µ is actually working, investigating intermediate steps and their explanations, potentially diving into search of infinitely small details: A µ B

74 Properties A µ B Knowledge deepening: Knowledge is never ultimately specified. You can always request a further specification of how µ is actually working, investigating intermediate steps and their explanations, potentially diving into search of infinitely small details: A µ A µ B

75 Properties A µ B Knowledge extensions: Knowledge can be extended to form chains of causes, or explanations, in which the final state of an explanation is used as the initial state of the next: A µ B

76 Properties A µ B Knowledge extensions: Knowledge can be extended to form chains of causes, or explanations, in which the final state of an explanation is used as the initial state of the next: µ 1 A 1 A µ B µ 1 B +1

77 Properties of knowledge as A µ B Though the explanatory mechanism can take any form, there are only three conceptual classes of components of explanations:

78 Properties of knowledge as A µ B Though the explanatory mechanism can take any form, there are only three conceptual classes of components of explanations: Temporal/Tranformational: the explanation consists in the passing of time during which the elements comprising the state of the world A can be expected to produce B.

79 Properties of knowledge as A µ B Though the explanatory mechanism can take any form, there are only three conceptual classes of components of explanations: Temporal/Tranformational: the explanation consists in the passing of time during which the elements comprising the state of the world A can be expected to produce B. Aggregative: elements at a certain level of aggregation explain the properties of elements at a different levels.

80 Properties of knowledge as A µ B Though the explanatory mechanism can take any form, there are only three conceptual classes of components of explanations: Temporal/Tranformational: the explanation consists in the passing of time during which the elements comprising the state of the world A can be expected to produce B. Aggregative: elements at a certain level of aggregation explain the properties of elements at a different levels. Logical inferences: inferential rules, look-up tables, or any explicit coding system allow to associate one entity or event to another. Most relevant explanations in the real world are a combination of explanations from all classes, though they need to be logically kept distinct.

81 Explanations and simulations Simulation models can implement any conceivable form of explanation. In this sense, they can reproduce any mechanism we may have in mind, provided it is consistent.

82 Explanations and simulations Simulation models can implement any conceivable form of explanation. In this sense, they can reproduce any mechanism we may have in mind, provided it is consistent. The most interesting use of simulations is when the system we wrote A generates as result a system resembling some of the real world aspects B. The goal is to find out how our system generates the result.

83 Explanations and simulations Simulation models can implement any conceivable form of explanation. In this sense, they can reproduce any mechanism we may have in mind, provided it is consistent. The most interesting use of simulations is when the system we wrote A generates as result a system resembling some of the real world aspects B. The goal is to find out how our system generates the result. A research project should consist in identifying a problem and finding a good explanation for it.

84 Technical aspects Simulation programs must permit users not only to generate the results efficiently and observe them. Crucially, it must allow to understand the generative mechanism, since this is the only type of results we may gain.

85 Technical aspects Simulation programs must permit users not only to generate the results efficiently and observe them. Crucially, it must allow to understand the generative mechanism, since this is the only type of results we may gain. However, programming languages are not designed for inspecting their internal working, and separate the role of programmer and of user, hiding its own internal working for obvious reasons of efficiency and security.

86 Technical aspects Languages tend to show an inverse relation between simplicity of use and power. LSD breaks this trade-off by offering C++ power accessible by means of a natural way to represent models.

87 Technical aspects Languages tend to show an inverse relation between simplicity of use and power. LSD breaks this trade-off by offering C++ power accessible by means of a natural way to represent models. Crucially, LSD generates automatically all the interfaces to access the state of the model at any stage and detail required to fully generate and understand the mechanisms produced.

88 People say that... In the following we list some of the most frequently points raised in the debate on the use of simulations, and report on the answers derived by the approach proposed above.

89 People say that... Sim. models produce all and only whatever you code into them.

90 People say that... Sim. models produce all and only whatever you code into them. True, but computers help to understand exactly the implications of the assumptions. Think, for example, of models of weather forecasting. The basic physics is trivial, but the aggregate effect is impossible to derive by analytical means, and computers help to fill the gap between the hypotheses (e.g. basic physics) and their implications (forecasting).

91 People say that... Random models/models with many parameters must be adequately tested for the robustness of results.

92 People say that... Random models/models with many parameters must be adequately tested for the robustness of results. False. Robustness in respect of randomness or initial conditions are relevant to assess universal properties of systems. OSD systems, as real economic systems, may potentially assume a huge number of states, but almost all of them will never be realized. We need to explain phenomena, and possibly the most relevant ones are the very rare. Simulation models can frequently be understood by studying the exceptions, as much as doctors understand how the human body works by studying sick patients.

93 People say that... Better one theorem than a hundred simulations.

94 People say that... Better one theorem than a hundred simulations. True. Mathematics is a wonder of compactness, representing many (infinite) cases by one single line of symbols. Moreover, mathematical representations allow to deduce many non-obvious properties. However, non-linear aggregations and dynamics are poorly managed by mathematical tools, while computers can easily do both: simulations can replicate (though inelegantly) results embodied in theorems, but, in general, theorems cannot contain the knowledge provided by models.

95 People say that... Your model does not consider X, which is relevant for phenomenon Y.

96 People say that... Your model does not consider X, which is relevant for phenomenon Y. True. Any model is necessarily limited and partial. Models for open systems in particular neglect aspects that, by definition, are relevant for every phenomenon. A model must be always considered under strong ceteris paribus conditions, and the explanations produced are conditional to other explanations reinforcing or hindering the ones considered.

97 People say that... Programming simulations is difficult, don t want to waste my time learning how to program.

98 People say that... Programming simulations is difficult, don t want to waste my time learning how to program. False. Writing programs is difficult, writing simulations model is not, at least if you adopt a cautious approach. Most of simulation models code is made of trivial, IF-THEN-ELSE statements and simple arithmetic operations. Arranging the model s code in a computer program is very difficult, particularly because you need sophisticated interfaces to investigate model s behaviour. However, endowing a model with the necessary interfaces is a technical problem, that technicians can help to solve.

99 People say that... Are your results confirmed empirical observations?

100 People say that... Are your results confirmed empirical observations? Futile. Data replication is useless without understanding their meaning. And having such knowledge you don t need to replicate any data. Worse, there are always a large number of different ways to replicate a data set, only some of which may make sense.

101 People say that... Then, for you empirical analysis is useless...

102 People say that... Then, for you empirical analysis is useless... False. Statistical analysis, descriptive or inferential, provides the crucial information on what is going on in such complex entities like economic system. We need constantly to take into account that quantitative measures are a very fuzzy shadow of the systems that produced them.

Agent-based Modeling using L S D

Agent-based Modeling using L S D Agent-based Modeling using L S D Marco VALENTE 1,2,3 1 LEM, S. Anna School of Advanced Studies, Pisa 2 University of L Aquila 3 University of Sussex, SPRU ABM: a definition Agent-based models are based

More information

Laboratory for Simulation Develpment - LSD

Laboratory for Simulation Develpment - LSD Laboratory for Simulation Develpment - LSD Marco Valente LEM, Pisa and Università dell Aquila valente@ec.univaq.it Abstract LSD is one of many programming languages designed to develop agent-based models.

More information

Introduction Simulation Models LSD Simulation programs References. Introduction to Lsd.

Introduction Simulation Models LSD Simulation programs References. Introduction to Lsd. Introduction to Lsd Marco Valente 1 Tommaso Ciarli 2 André Lorentz 2 1 University of L Aquila & LEM, S Anna School, Pisa marco.valente@univaq.it 2 Max Planck Institute of Economics, Germany ciarli@econ.mpg.de

More information

Lesson 1 1. Simulation 0

Lesson 1 1. Simulation 0 Lesson 1 1 Simulation 0 Let s implement in Lsd the model X t = X t 1 + m. We will implement the following steps: 1. Use LMM to create a new model, call it Simulation 0. 2. Write the C++/Lsd code for the

More information

A Content Based Image Retrieval System Based on Color Features

A Content Based Image Retrieval System Based on Color Features A Content Based Image Retrieval System Based on Features Irena Valova, University of Rousse Angel Kanchev, Department of Computer Systems and Technologies, Rousse, Bulgaria, Irena@ecs.ru.acad.bg Boris

More information

Introduction to Relational Databases. Introduction to Relational Databases cont: Introduction to Relational Databases cont: Relational Data structure

Introduction to Relational Databases. Introduction to Relational Databases cont: Introduction to Relational Databases cont: Relational Data structure Databases databases Terminology of relational model Properties of database relations. Relational Keys. Meaning of entity integrity and referential integrity. Purpose and advantages of views. The relational

More information

Introduction to Programming Languages and Compilers. CS164 11:00-12:30 TT 10 Evans. UPRM ICOM 4029 (Adapted from: Prof. Necula UCB CS 164)

Introduction to Programming Languages and Compilers. CS164 11:00-12:30 TT 10 Evans. UPRM ICOM 4029 (Adapted from: Prof. Necula UCB CS 164) Introduction to Programming Languages and Compilers CS164 11:00-12:30 TT 10 Evans 1 ICOM 4036 - Outline Prontuario Course Outline Brief History of PLs Programming Language Design Criteria Programming Language

More information

1DL321: Kompilatorteknik I (Compiler Design 1) Introduction to Programming Language Design and to Compilation

1DL321: Kompilatorteknik I (Compiler Design 1) Introduction to Programming Language Design and to Compilation 1DL321: Kompilatorteknik I (Compiler Design 1) Introduction to Programming Language Design and to Compilation Administrivia Lecturer: Kostis Sagonas (kostis@it.uu.se) Course home page: http://www.it.uu.se/edu/course/homepage/komp/h18

More information

Compiler Design 1. Introduction to Programming Language Design and to Compilation

Compiler Design 1. Introduction to Programming Language Design and to Compilation Compiler Design 1 Introduction to Programming Language Design and to Compilation Administrivia Lecturer: Kostis Sagonas (Hus 1, 352) Course home page: http://user.it.uu.se/~kostis/teaching/kt1-11 If you

More information

MONIKA HEINER.

MONIKA HEINER. LESSON 1 testing, intro 1 / 25 SOFTWARE TESTING - STATE OF THE ART, METHODS, AND LIMITATIONS MONIKA HEINER monika.heiner@b-tu.de http://www.informatik.tu-cottbus.de PRELIMINARIES testing, intro 2 / 25

More information

Syntactic Measures of Complexity

Syntactic Measures of Complexity A thesis submitted to the University of Manchester for the degree of Doctor of Philosophy in the Faculty of Arts 1999 Bruce Edmonds Department of Philosophy Table of Contents Table of Contents - page 2

More information

Scientific Computing: An Introductory Survey

Scientific Computing: An Introductory Survey Scientific Computing: An Introductory Survey Chapter 13 Random Numbers and Stochastic Simulation Prof. Michael T. Heath Department of Computer Science University of Illinois at Urbana-Champaign Copyright

More information

Spemmet - A Tool for Modeling Software Processes with SPEM

Spemmet - A Tool for Modeling Software Processes with SPEM Spemmet - A Tool for Modeling Software Processes with SPEM Tuomas Mäkilä tuomas.makila@it.utu.fi Antero Järvi antero.jarvi@it.utu.fi Abstract: The software development process has many unique attributes

More information

CONTRIBUTION TO THE INVESTIGATION OF STOPPING SIGHT DISTANCE IN THREE-DIMENSIONAL SPACE

CONTRIBUTION TO THE INVESTIGATION OF STOPPING SIGHT DISTANCE IN THREE-DIMENSIONAL SPACE National Technical University of Athens School of Civil Engineering Department of Transportation Planning and Engineering Doctoral Dissertation CONTRIBUTION TO THE INVESTIGATION OF STOPPING SIGHT DISTANCE

More information

1DL321: Kompilatorteknik I (Compiler Design 1) Introduction to Programming Language Design and to Compilation

1DL321: Kompilatorteknik I (Compiler Design 1) Introduction to Programming Language Design and to Compilation 1DL321: Kompilatorteknik I (Compiler Design 1) Introduction to Programming Language Design and to Compilation Administrivia Lecturer: Kostis Sagonas (kostis@it.uu.se) Course home page (of previous year):

More information

HONORS ACTIVITY #2 EXPONENTIAL GROWTH & DEVELOPING A MODEL

HONORS ACTIVITY #2 EXPONENTIAL GROWTH & DEVELOPING A MODEL Name HONORS ACTIVITY #2 EXPONENTIAL GROWTH & DEVELOPING A MODEL SECTION I: A SIMPLE MODEL FOR POPULATION GROWTH Goal: This activity introduces the concept of a model using the example of a simple population

More information

1DL321: Kompilatorteknik I (Compiler Design 1)

1DL321: Kompilatorteknik I (Compiler Design 1) Administrivia 1DL321: Kompilatorteknik I (Compiler Design 1) Introduction to Programming Language Design and to Compilation Lecturer: Kostis Sagonas (kostis@it.uu.se) Course home page: http://www.it.uu.se/edu/course/homepage/komp/ht16

More information

An Evolution of Mathematical Tools

An Evolution of Mathematical Tools An Evolution of Mathematical Tools From Conceptualization to Formalization Here's what we do when we build a formal model (or do a computation): 0. Identify a collection of objects/events in the real world.

More information

E-Companion: On Styles in Product Design: An Analysis of US. Design Patents

E-Companion: On Styles in Product Design: An Analysis of US. Design Patents E-Companion: On Styles in Product Design: An Analysis of US Design Patents 1 PART A: FORMALIZING THE DEFINITION OF STYLES A.1 Styles as categories of designs of similar form Our task involves categorizing

More information

So, coming back to this picture where three levels of memory are shown namely cache, primary memory or main memory and back up memory.

So, coming back to this picture where three levels of memory are shown namely cache, primary memory or main memory and back up memory. Computer Architecture Prof. Anshul Kumar Department of Computer Science and Engineering Indian Institute of Technology, Delhi Lecture - 31 Memory Hierarchy: Virtual Memory In the memory hierarchy, after

More information

You ve already read basics of simulation now I will be taking up method of simulation, that is Random Number Generation

You ve already read basics of simulation now I will be taking up method of simulation, that is Random Number Generation Unit 5 SIMULATION THEORY Lesson 39 Learning objective: To learn random number generation. Methods of simulation. Monte Carlo method of simulation You ve already read basics of simulation now I will be

More information

Chapter Twelve. Systems Design and Development

Chapter Twelve. Systems Design and Development Chapter Twelve Systems Design and Development After reading this chapter, you should be able to: Describe the process of designing, programming, and debugging a computer program Explain why there are many

More information

TERMINOLOGY MANAGEMENT DURING TRANSLATION PROJECTS: PROFESSIONAL TESTIMONY

TERMINOLOGY MANAGEMENT DURING TRANSLATION PROJECTS: PROFESSIONAL TESTIMONY LINGUACULTURE, 1, 2010 TERMINOLOGY MANAGEMENT DURING TRANSLATION PROJECTS: PROFESSIONAL TESTIMONY Nancy Matis Abstract This article briefly presents an overview of the author's experience regarding the

More information

CE4031 and CZ4031 Database System Principles

CE4031 and CZ4031 Database System Principles CE431 and CZ431 Database System Principles Course CE/CZ431 Course Database System Principles CE/CZ21 Algorithms; CZ27 Introduction to Databases CZ433 Advanced Data Management (not offered currently) Lectures

More information

Resilience Design Patterns: A Structured Approach to Resilience at Extreme Scale

Resilience Design Patterns: A Structured Approach to Resilience at Extreme Scale Resilience Design Patterns: A Structured Approach to Resilience at Extreme Scale Saurabh Hukerikar Christian Engelmann Computer Science Research Group Computer Science & Mathematics Division Oak Ridge

More information

Machine Structure Oriented Control Code Logic

Machine Structure Oriented Control Code Logic Machine Structure Oriented Control Code Logic J.A. Bergstra 1,2 and C.A. Middelburg 1,3 1 Programming Research Group, University of Amsterdam, P.O. Box 41882, 1009 DB Amsterdam, the Netherlands 2 Department

More information

Treewidth and graph minors

Treewidth and graph minors Treewidth and graph minors Lectures 9 and 10, December 29, 2011, January 5, 2012 We shall touch upon the theory of Graph Minors by Robertson and Seymour. This theory gives a very general condition under

More information

Algorithms and Flowcharts

Algorithms and Flowcharts UNIT 2 Chapter 1 Algorithms and Flowcharts After studying this lesson, the students will be able to understand the need of Algorithm and Flowcharts; solve problems by using algorithms and flowcharts; get

More information

Notes on Turing s Theorem and Computability

Notes on Turing s Theorem and Computability Notes on Turing s Theorem and Computability Walter Neumann About 60 years ago there was a revolution in mathematics and philosophy. First Gödel and then Turing showed that there are impossible problems

More information

Topics in Software Testing

Topics in Software Testing Dependable Software Systems Topics in Software Testing Material drawn from [Beizer, Sommerville] Software Testing Software testing is a critical element of software quality assurance and represents the

More information

Alan J. Perlis - Epigrams on Programming

Alan J. Perlis - Epigrams on Programming Programming Languages (CS302 2007S) Alan J. Perlis - Epigrams on Programming Comments on: Perlis, Alan J. (1982). Epigrams on Programming. ACM SIGPLAN Notices 17(9), September 1982, pp. 7-13. 1. One man

More information

formulation Model Real world data interpretation results Explanations

formulation Model Real world data interpretation results Explanations Mathematical Modeling Lecture Notes David C. Dobson January 7, 2003 1 Mathematical Modeling 2 1 Introduction to modeling Roughly deæned, mathematical modeling is the process of constructing mathematical

More information

Algorithms writing WRITING FOR COMPUTER SCIENCE ALGORITHMS XUE, LEI

Algorithms writing WRITING FOR COMPUTER SCIENCE ALGORITHMS XUE, LEI Algorithms writing WRITING FOR COMPUTER SCIENCE ALGORITHMS XUE, LEI Why is the algorithm so important? Algorithm is always the core contribution in many papers in computer science; These algorithms are

More information

Distributed Systems Programming (F21DS1) Formal Verification

Distributed Systems Programming (F21DS1) Formal Verification Distributed Systems Programming (F21DS1) Formal Verification Andrew Ireland Department of Computer Science School of Mathematical and Computer Sciences Heriot-Watt University Edinburgh Overview Focus on

More information

Chapter 3. Bootstrap. 3.1 Introduction. 3.2 The general idea

Chapter 3. Bootstrap. 3.1 Introduction. 3.2 The general idea Chapter 3 Bootstrap 3.1 Introduction The estimation of parameters in probability distributions is a basic problem in statistics that one tends to encounter already during the very first course on the subject.

More information

FDA 483 The Definitive Guide to Responding to FDA 483 and Warning Letters

FDA 483 The Definitive Guide to Responding to FDA 483 and Warning Letters FDA 483! The Definitive Guide to Responding to FDA 483 and Warning Letters Jon Speer Founder & VP of QA/RA greenlight.guru Table of Contents 1 Introduction 2 What Is an FDA 483 Observation? 3 Know Who

More information

CHAPTER 9 DESIGN ENGINEERING. Overview

CHAPTER 9 DESIGN ENGINEERING. Overview CHAPTER 9 DESIGN ENGINEERING Overview A software design is a meaningful engineering representation of some software product that is to be built. Designers must strive to acquire a repertoire of alternative

More information

! Use of formal notations. ! in software system descriptions. ! for a broad range of effects. ! and varying levels of use. !

! Use of formal notations. ! in software system descriptions. ! for a broad range of effects. ! and varying levels of use. ! What Are Formal Methods? David S. Rosenblum ICS 221 Winter 2001! Use of formal notations! first-order logic, state machines, etc.! in software system descriptions! system models, constraints, specifications,

More information

CE4031 and CZ4031 Database System Principles

CE4031 and CZ4031 Database System Principles CE4031 and CZ4031 Database System Principles Academic AY1819 Semester 1 CE/CZ4031 Database System Principles s CE/CZ2001 Algorithms; CZ2007 Introduction to Databases CZ4033 Advanced Data Management (not

More information

Robustness of Centrality Measures for Small-World Networks Containing Systematic Error

Robustness of Centrality Measures for Small-World Networks Containing Systematic Error Robustness of Centrality Measures for Small-World Networks Containing Systematic Error Amanda Lannie Analytical Systems Branch, Air Force Research Laboratory, NY, USA Abstract Social network analysis is

More information

ANALYTICS DRIVEN DATA MODEL IN DIGITAL SERVICES

ANALYTICS DRIVEN DATA MODEL IN DIGITAL SERVICES ANALYTICS DRIVEN DATA MODEL IN DIGITAL SERVICES Ng Wai Keat 1 1 Axiata Analytics Centre, Axiata Group, Malaysia *Corresponding E-mail : waikeat.ng@axiata.com Abstract Data models are generally applied

More information

Benchmarking of Different Programming Languages

Benchmarking of Different Programming Languages Benchmarking of Different Programming Languages Avinash Joshi Labs -Innovation and Development Mu Sigma Business Solutions Pvt Ltd Abstract This paper details the procedure followed in choosing the programming

More information

Testing. Prof. Clarkson Fall Today s music: Wrecking Ball by Miley Cyrus

Testing. Prof. Clarkson Fall Today s music: Wrecking Ball by Miley Cyrus Testing Prof. Clarkson Fall 2017 Today s music: Wrecking Ball by Miley Cyrus Review Previously in 3110: Modules Specification (functions, modules) Today: Validation Testing Black box Glass box Randomized

More information

MULTIMEDIA TECHNOLOGIES FOR THE USE OF INTERPRETERS AND TRANSLATORS. By Angela Carabelli SSLMIT, Trieste

MULTIMEDIA TECHNOLOGIES FOR THE USE OF INTERPRETERS AND TRANSLATORS. By Angela Carabelli SSLMIT, Trieste MULTIMEDIA TECHNOLOGIES FOR THE USE OF INTERPRETERS AND TRANSLATORS By SSLMIT, Trieste The availability of teaching materials for training interpreters and translators has always been an issue of unquestionable

More information

Next-Event Simulation

Next-Event Simulation Next-Event Simulation Lawrence M. Leemis and Stephen K. Park, Discrete-Event Simulation - A First Course, Prentice Hall, 2006 Hui Chen Computer Science Virginia State University Petersburg, Virginia March

More information

Lecture: Simulation. of Manufacturing Systems. Sivakumar AI. Simulation. SMA6304 M2 ---Factory Planning and scheduling. Simulation - A Predictive Tool

Lecture: Simulation. of Manufacturing Systems. Sivakumar AI. Simulation. SMA6304 M2 ---Factory Planning and scheduling. Simulation - A Predictive Tool SMA6304 M2 ---Factory Planning and scheduling Lecture Discrete Event of Manufacturing Systems Simulation Sivakumar AI Lecture: 12 copyright 2002 Sivakumar 1 Simulation Simulation - A Predictive Tool Next

More information

Logic and Computation

Logic and Computation Logic and Computation From Conceptualization to Formalization Here's what we do when we build a formal model (or do a computation): 0. Identify a collection of objects/events in the real world. This is

More information

Tutorial 1 Answers. Question 1

Tutorial 1 Answers. Question 1 Tutorial 1 Answers Question 1 Complexity Software in it what is has to do, is often essentially complex. We can think of software which is accidentally complex such as a large scale e-commerce system (simple

More information

Modeling Programming Languages Formally

Modeling Programming Languages Formally Modeling Programming Languages Formally CPSC 509: Programming Language Principles Ronald Garcia 8 January 2014 (Time Stamp: 20:42, Tuesday 16 th October, 2018) This course focuses on the design and analysis

More information

Lecture 9 - Matrix Multiplication Equivalences and Spectral Graph Theory 1

Lecture 9 - Matrix Multiplication Equivalences and Spectral Graph Theory 1 CME 305: Discrete Mathematics and Algorithms Instructor: Professor Aaron Sidford (sidford@stanfordedu) February 6, 2018 Lecture 9 - Matrix Multiplication Equivalences and Spectral Graph Theory 1 In the

More information

Fundamentals of Programming Languages. PL quality factors Lecture 01 sl. dr. ing. Ciprian-Bogdan Chirila

Fundamentals of Programming Languages. PL quality factors Lecture 01 sl. dr. ing. Ciprian-Bogdan Chirila Fundamentals of Programming Languages PL quality factors Lecture 01 sl. dr. ing. Ciprian-Bogdan Chirila Lecture and lab Ciprian-Bogdan Chirila PhD Senior lecturer PhD UPT + Univ. Nice Sophia Antipolis,

More information

Handout 9: Imperative Programs and State

Handout 9: Imperative Programs and State 06-02552 Princ. of Progr. Languages (and Extended ) The University of Birmingham Spring Semester 2016-17 School of Computer Science c Uday Reddy2016-17 Handout 9: Imperative Programs and State Imperative

More information

CHAPTER 6 MODIFIED FUZZY TECHNIQUES BASED IMAGE SEGMENTATION

CHAPTER 6 MODIFIED FUZZY TECHNIQUES BASED IMAGE SEGMENTATION CHAPTER 6 MODIFIED FUZZY TECHNIQUES BASED IMAGE SEGMENTATION 6.1 INTRODUCTION Fuzzy logic based computational techniques are becoming increasingly important in the medical image analysis arena. The significant

More information

INCREMENTAL SOFTWARE CONSTRUCTION WITH REFINEMENT DIAGRAMS

INCREMENTAL SOFTWARE CONSTRUCTION WITH REFINEMENT DIAGRAMS INCREMENTAL SOFTWARE CONSTRUCTION WITH REFINEMENT DIAGRAMS Ralph-Johan Back Abo Akademi University July 6, 2006 Home page: www.abo.fi/~backrj Research / Current research / Incremental Software Construction

More information

GoldSim: Using Simulation to Move Beyond the Limitations of Spreadsheet Models

GoldSim: Using Simulation to Move Beyond the Limitations of Spreadsheet Models GoldSim: Using Simulation to Move Beyond the Limitations of Spreadsheet Models White Paper Abstract While spreadsheets are appropriate for many types of applications, due to a number of inherent limitations

More information

Decomposition into modules

Decomposition into modules Programming Languages Seminar Program Structure and readability Lefel Yaniv Hagay Pollak 1 Decomposition into modules On the criteria to be used in decomposing systems into modules by D.L.Parnas.(1972)

More information

14.1 Encoding for different models of computation

14.1 Encoding for different models of computation Lecture 14 Decidable languages In the previous lecture we discussed some examples of encoding schemes, through which various objects can be represented by strings over a given alphabet. We will begin this

More information

Complexity. Object Orientated Analysis and Design. Benjamin Kenwright

Complexity. Object Orientated Analysis and Design. Benjamin Kenwright Complexity Object Orientated Analysis and Design Benjamin Kenwright Outline Review Object Orientated Programming Concepts (e.g., encapsulation, data abstraction,..) What do we mean by Complexity? How do

More information

Supplementary Notes on Abstract Syntax

Supplementary Notes on Abstract Syntax Supplementary Notes on Abstract Syntax 15-312: Foundations of Programming Languages Frank Pfenning Lecture 3 September 3, 2002 Grammars, as we have discussed them so far, define a formal language as a

More information

Chapter 4. The Relational Model

Chapter 4. The Relational Model Chapter 4 The Relational Model Chapter 4 - Objectives Terminology of relational model. How tables are used to represent data. Connection between mathematical relations and relations in the relational model.

More information

On the Design and Implementation of a Generalized Process for Business Statistics

On the Design and Implementation of a Generalized Process for Business Statistics On the Design and Implementation of a Generalized Process for Business Statistics M. Bruno, D. Infante, G. Ruocco, M. Scannapieco 1. INTRODUCTION Since the second half of 2014, Istat has been involved

More information

Fast Automated Estimation of Variance in Discrete Quantitative Stochastic Simulation

Fast Automated Estimation of Variance in Discrete Quantitative Stochastic Simulation Fast Automated Estimation of Variance in Discrete Quantitative Stochastic Simulation November 2010 Nelson Shaw njd50@uclive.ac.nz Department of Computer Science and Software Engineering University of Canterbury,

More information

A VALIDATION OF THE EFFECTIVENESS OF INNER DEPENDENCE IN AN ANP MODEL

A VALIDATION OF THE EFFECTIVENESS OF INNER DEPENDENCE IN AN ANP MODEL A VALIDATION OF THE EFFECTIVENESS OF INNER DEPENDENCE IN AN ANP MODEL Rozann Saaty Creative Decisions Foundation Pittsburgh, PA 15213 Email: rozann@creativedecisions.net ABSTRACT Validation is important

More information

FUZZY INFERENCE SYSTEMS

FUZZY INFERENCE SYSTEMS CHAPTER-IV FUZZY INFERENCE SYSTEMS Fuzzy inference is the process of formulating the mapping from a given input to an output using fuzzy logic. The mapping then provides a basis from which decisions can

More information

1 Motivation for Improving Matrix Multiplication

1 Motivation for Improving Matrix Multiplication CS170 Spring 2007 Lecture 7 Feb 6 1 Motivation for Improving Matrix Multiplication Now we will just consider the best way to implement the usual algorithm for matrix multiplication, the one that take 2n

More information

Guideline for Determining the TOE

Guideline for Determining the TOE Guideline for Determining the TOE in Certification Applications that Do Not Use PPs Version 2.0 This "Guideline for Determining the TOE" describes what kinds of matters to note when determining the scope

More information

Documentation Nick Parlante, 1996.Free for non-commerical use.

Documentation Nick Parlante, 1996.Free for non-commerical use. Documentation Nick Parlante, 1996.Free for non-commerical use. A program expresses an algorithm to the computer. A program is clear or "readable" if it also does a good job of communicating the algorithm

More information

Chapter S:II. II. Search Space Representation

Chapter S:II. II. Search Space Representation Chapter S:II II. Search Space Representation Systematic Search Encoding of Problems State-Space Representation Problem-Reduction Representation Choosing a Representation S:II-1 Search Space Representation

More information

SOME TYPES AND USES OF DATA MODELS

SOME TYPES AND USES OF DATA MODELS 3 SOME TYPES AND USES OF DATA MODELS CHAPTER OUTLINE 3.1 Different Types of Data Models 23 3.1.1 Physical Data Model 24 3.1.2 Logical Data Model 24 3.1.3 Conceptual Data Model 25 3.1.4 Canonical Data Model

More information

Superficial the concepts

Superficial the concepts Superficial the concepts Superficial is a fresh approach to the design and coding of interactive applications, in particular those with graphical user interfaces (GUIs). Superficial provides a conceptual

More information

The design of a programming language for provably correct programs: success and failure

The design of a programming language for provably correct programs: success and failure The design of a programming language for provably correct programs: success and failure Don Sannella Laboratory for Foundations of Computer Science School of Informatics, University of Edinburgh http://homepages.inf.ed.ac.uk/dts

More information

Framework for replica selection in fault-tolerant distributed systems

Framework for replica selection in fault-tolerant distributed systems Framework for replica selection in fault-tolerant distributed systems Daniel Popescu Computer Science Department University of Southern California Los Angeles, CA 90089-0781 {dpopescu}@usc.edu Abstract.

More information

AXIOMS OF AN IMPERATIVE LANGUAGE PARTIAL CORRECTNESS WEAK AND STRONG CONDITIONS. THE AXIOM FOR nop

AXIOMS OF AN IMPERATIVE LANGUAGE PARTIAL CORRECTNESS WEAK AND STRONG CONDITIONS. THE AXIOM FOR nop AXIOMS OF AN IMPERATIVE LANGUAGE We will use the same language, with the same abstract syntax that we used for operational semantics. However, we will only be concerned with the commands, since the language

More information

3.7 Denotational Semantics

3.7 Denotational Semantics 3.7 Denotational Semantics Denotational semantics, also known as fixed-point semantics, associates to each programming language construct a well-defined and rigorously understood mathematical object. These

More information

a b c d a b c d e 5 e 7

a b c d a b c d e 5 e 7 COMPSCI 230 Homework 9 Due on April 5, 2016 Work on this assignment either alone or in pairs. You may work with different partners on different assignments, but you can only have up to one partner for

More information

In examining performance Interested in several things Exact times if computable Bounded times if exact not computable Can be measured

In examining performance Interested in several things Exact times if computable Bounded times if exact not computable Can be measured System Performance Analysis Introduction Performance Means many things to many people Important in any design Critical in real time systems 1 ns can mean the difference between system Doing job expected

More information

Applying Machine Learning to Real Problems: Why is it Difficult? How Research Can Help?

Applying Machine Learning to Real Problems: Why is it Difficult? How Research Can Help? Applying Machine Learning to Real Problems: Why is it Difficult? How Research Can Help? Olivier Bousquet, Google, Zürich, obousquet@google.com June 4th, 2007 Outline 1 Introduction 2 Features 3 Minimax

More information

2.1 Architectural Support for Integration in Distributed Reactive Systems

2.1 Architectural Support for Integration in Distributed Reactive Systems Integration in Distributed Reactive Systems Maarten Boasson Quaerendo Invenietis bv Universiteit van Amsterdam The Netherlands maarten@quaerendo.com Abstract Due to the many possible interactions with

More information

DEGENERACY AND THE FUNDAMENTAL THEOREM

DEGENERACY AND THE FUNDAMENTAL THEOREM DEGENERACY AND THE FUNDAMENTAL THEOREM The Standard Simplex Method in Matrix Notation: we start with the standard form of the linear program in matrix notation: (SLP) m n we assume (SLP) is feasible, and

More information

Divisibility Rules and Their Explanations

Divisibility Rules and Their Explanations Divisibility Rules and Their Explanations Increase Your Number Sense These divisibility rules apply to determining the divisibility of a positive integer (1, 2, 3, ) by another positive integer or 0 (although

More information

Contemporary Design. Traditional Hardware Design. Traditional Hardware Design. HDL Based Hardware Design User Inputs. Requirements.

Contemporary Design. Traditional Hardware Design. Traditional Hardware Design. HDL Based Hardware Design User Inputs. Requirements. Contemporary Design We have been talking about design process Let s now take next steps into examining in some detail Increasing complexities of contemporary systems Demand the use of increasingly powerful

More information

Object-Oriented Analysis and Design Prof. Partha Pratim Das Department of Computer Science and Engineering Indian Institute of Technology-Kharagpur

Object-Oriented Analysis and Design Prof. Partha Pratim Das Department of Computer Science and Engineering Indian Institute of Technology-Kharagpur Object-Oriented Analysis and Design Prof. Partha Pratim Das Department of Computer Science and Engineering Indian Institute of Technology-Kharagpur Lecture 06 Object-Oriented Analysis and Design Welcome

More information

Designing and documenting the behavior of software

Designing and documenting the behavior of software Chapter 8 Designing and documenting the behavior of software Authors: Gürcan Güleşir, Lodewijk Bergmans, Mehmet Akşit Abstract The development and maintenance of today s software systems is an increasingly

More information

CSCI 270: Introduction to Algorithms and Theory of Computing Fall 2017 Prof: Leonard Adleman Scribe: Joseph Bebel

CSCI 270: Introduction to Algorithms and Theory of Computing Fall 2017 Prof: Leonard Adleman Scribe: Joseph Bebel CSCI 270: Introduction to Algorithms and Theory of Computing Fall 2017 Prof: Leonard Adleman Scribe: Joseph Bebel We will now discuss computer programs, a concrete manifestation of what we ve been calling

More information

Hardware versus software

Hardware versus software Logic 1 Hardware versus software 2 In hardware such as chip design or architecture, designs are usually proven to be correct using proof tools In software, a program is very rarely proved correct Why?

More information

Chapter 9. Software Testing

Chapter 9. Software Testing Chapter 9. Software Testing Table of Contents Objectives... 1 Introduction to software testing... 1 The testers... 2 The developers... 2 An independent testing team... 2 The customer... 2 Principles of

More information

The Basics of Graphical Models

The Basics of Graphical Models The Basics of Graphical Models David M. Blei Columbia University September 30, 2016 1 Introduction (These notes follow Chapter 2 of An Introduction to Probabilistic Graphical Models by Michael Jordan.

More information

CS-XXX: Graduate Programming Languages. Lecture 9 Simply Typed Lambda Calculus. Dan Grossman 2012

CS-XXX: Graduate Programming Languages. Lecture 9 Simply Typed Lambda Calculus. Dan Grossman 2012 CS-XXX: Graduate Programming Languages Lecture 9 Simply Typed Lambda Calculus Dan Grossman 2012 Types Major new topic worthy of several lectures: Type systems Continue to use (CBV) Lambda Caluclus as our

More information

A Systems Approach to Dimensional Modeling in Data Marts. Joseph M. Firestone, Ph.D. White Paper No. One. March 12, 1997

A Systems Approach to Dimensional Modeling in Data Marts. Joseph M. Firestone, Ph.D. White Paper No. One. March 12, 1997 1 of 8 5/24/02 4:43 PM A Systems Approach to Dimensional Modeling in Data Marts By Joseph M. Firestone, Ph.D. White Paper No. One March 12, 1997 OLAP s Purposes And Dimensional Data Modeling Dimensional

More information

Global Optimization. Lecture Outline. Global flow analysis. Global constant propagation. Liveness analysis. Local Optimization. Global Optimization

Global Optimization. Lecture Outline. Global flow analysis. Global constant propagation. Liveness analysis. Local Optimization. Global Optimization Lecture Outline Global Optimization Global flow analysis Global constant propagation Liveness analysis Compiler Design I (2011) 2 Local Optimization Recall the simple basic-block optimizations Constant

More information

Modeling of Complex Social. MATH 800 Fall 2011

Modeling of Complex Social. MATH 800 Fall 2011 Modeling of Complex Social Systems MATH 800 Fall 2011 Complex SocialSystems A systemis a set of elements and relationships A complex system is a system whose behavior cannot be easily or intuitively predicted

More information

PRINCIPLES OF COMPILER DESIGN UNIT I INTRODUCTION TO COMPILERS

PRINCIPLES OF COMPILER DESIGN UNIT I INTRODUCTION TO COMPILERS Objective PRINCIPLES OF COMPILER DESIGN UNIT I INTRODUCTION TO COMPILERS Explain what is meant by compiler. Explain how the compiler works. Describe various analysis of the source program. Describe the

More information

How to Exploit Abstract User Interfaces in MARIA

How to Exploit Abstract User Interfaces in MARIA How to Exploit Abstract User Interfaces in MARIA Fabio Paternò, Carmen Santoro, Lucio Davide Spano CNR-ISTI, HIIS Laboratory Via Moruzzi 1, 56124 Pisa, Italy {fabio.paterno, carmen.santoro, lucio.davide.spano}@isti.cnr.it

More information

1) Give decision trees to represent the following Boolean functions:

1) Give decision trees to represent the following Boolean functions: 1) Give decision trees to represent the following Boolean functions: 1) A B 2) A [B C] 3) A XOR B 4) [A B] [C Dl Answer: 1) A B 2) A [B C] 1 3) A XOR B = (A B) ( A B) 4) [A B] [C D] 2 2) Consider the following

More information

Data Objectives. The same process can be applied to determine how much simplification is appropriate when describing a geochemical system.

Data Objectives. The same process can be applied to determine how much simplification is appropriate when describing a geochemical system. Data Objectives Objectives you identify at the outset of an experiment or scientific study to help determine the nature, amount, and quality of the data you (or someone else) need to collect to answer

More information

Definition: A data structure is a way of organizing data in a computer so that it can be used efficiently.

Definition: A data structure is a way of organizing data in a computer so that it can be used efficiently. The Science of Computing I Lesson 4: Introduction to Data Structures Living with Cyber Pillar: Data Structures The need for data structures The algorithms we design to solve problems rarely do so without

More information

Microscopic Traffic Simulation

Microscopic Traffic Simulation Microscopic Traffic Simulation Lecture Notes in Transportation Systems Engineering Prof. Tom V. Mathew Contents Overview 2 Traffic Simulation Models 2 2. Need for simulation.................................

More information

TISA Methodology Threat Intelligence Scoring and Analysis

TISA Methodology Threat Intelligence Scoring and Analysis TISA Methodology Threat Intelligence Scoring and Analysis Contents Introduction 2 Defining the Problem 2 The Use of Machine Learning for Intelligence Analysis 3 TISA Text Analysis and Feature Extraction

More information

- What we actually mean by documents (the FRBR hierarchy) - What are the components of documents

- What we actually mean by documents (the FRBR hierarchy) - What are the components of documents Purpose of these slides Introduction to XML for parliamentary documents (and all other kinds of documents, actually) Prof. Fabio Vitali University of Bologna Part 1 Introduce the principal aspects of electronic

More information

DESIGN AS RISK MINIMIZATION

DESIGN AS RISK MINIMIZATION THOMAS LATOZA SWE 621 FALL 2018 DESIGN AS RISK MINIMIZATION IN CLASS EXERCISE As you come in and take a seat What were the most important risks you faced in a recent software project? WHAT IS A RISK? WHAT

More information