Teaching the simulator design in Java Zaharije Radivojević, Miloš Cvetanović 11th Workshop “Software Engineering Education and Reverse Engineering” Ohrid,

Slides:



Advertisements
Similar presentations
Network II.5 simulator ..
Advertisements

A Workflow Engine with Multi-Level Parallelism Supports Qifeng Huang and Yan Huang School of Computer Science Cardiff University
Program Analysis and Tuning The German High Performance Computing Centre for Climate and Earth System Research Panagiotis Adamidis.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 12Slide 1 Software Design l Objectives To explain how a software design may be represented.
WHAT IS AN OPERATING SYSTEM? An interface between users and hardware - an environment "architecture ” Allows convenient usage; hides the tedious stuff.
ARCH-05 Application Prophecy UML 101 Peter Varhol Principal Product Manager.
Object-Oriented Analysis and Design LECTURE 3: REQUIREMENTS DISCIPLINE.
Real-Time Systems Scheduling Tool Developed by Daniel Ghiringhelli Advisor: Professor Jiacun Wang December 19, 2005.
Nevena Ackovska/Magdalena Kostoska Faculty of Computer Science and Engineering (FCSE) UKIM, Skopje, Macedonia 11 th DAAD Workshop on “Software Engineering.
The Concept of Computer Architecture
Practical Approach to Teaching Software Testing Sashko Ristov 11th Workshop on “Software Engineering Education and Reverse Engineering” – August 22-27,
11th Workshop "Software Engineering Education and Reverse Engineering" Ohrid, Macedonia August 2011 Selected student software projects in the field.
Implementation Of The Discrete Event Simulator Based On Distributed Processing Zaharije Radivojević 1, Ljubomir Samarđić, Miloš Cvetanović 1 1 Elektrotehnički.
Mahapatra-Texas A&M-Fall'001 cosynthesis Introduction to cosynthesis Rabi Mahapatra CPSC498.
1: Operating Systems Overview
Addressing software engineering issues in student software projects across different curricula Dušanka Bošković Computing and Informatics Bachelor Programme.
Information Processing Lecture 1. Overview of Week 1 Introduction to the Module Course Materials and Methods The Elements of a Computer Some History Activities.
Programming Languages Structure
1 Fast Communication for Multi – Core SOPC Technion – Israel Institute of Technology Department of Electrical Engineering High Speed Digital Systems Lab.
Slide 1 Instructor: Dr. Hong Jiang Teaching Assistant: Mr. Sheng Zhang Department of Computer Science & Engineering University of Nebraska-Lincoln Classroom:
Course Instructor: Aisha Azeem
Implementation of Distributed Air Traffic Control Simulator Ranko Radovanović, Miloš Cvetanović, Zaharije Radivojević School of Electrical Engineering,
Introduction to Computer Architecture SCHOOL OF ELECTRICAL AND COMPUTER ENGINEERING SUMMER 2015 RAMYAR SAEEDI.
INFLUENCE OF UNDERGRADUATE COURSE SOFTWARE DESIGN AND ARCHITECTURE TO POSTGRADUATE COURSE ARCHITECTURE, DESIGN AND PATTERNS Magdalena Kostoska Nevena Ackovska.
What is Software Architecture?
1 Presenter: Ming-Shiun Yang Sah, A., Balakrishnan, M., Panda, P.R. Design, Automation & Test in Europe Conference & Exhibition, DATE ‘09. A Generic.
2005/05/25 Unified Modeling Lanauage 1 Introduction to Unified Modeling Language (UML) – Part One Ku-Yaw Chang Assistant Professor.
Detecting software clones in binaries Zaharije Radivojević, Saša Stojanović, Miloš Cvetanović School of Electrical Engineering, Belgrade University 14th.
LOGO OPERATING SYSTEM Dalia AL-Dabbagh
 What is an operating system? What is an operating system?  Where does the OS fit in? Where does the OS fit in?  Services provided by an OS Services.
Operating System Review September 10, 2012Introduction to Computer Security ©2004 Matt Bishop Slide #1-1.
ICOM 5995: Performance Instrumentation and Visualization for High Performance Computer Systems Lecture 7 October 16, 2002 Nayda G. Santiago.
(1) ECE 8823: GPU Architectures Sudhakar Yalamanchili School of Electrical and Computer Engineering Georgia Institute of Technology NVIDIA Keplar.
Making FPGAs a Cost-Effective Computing Architecture Tom VanCourt Yongfeng Gu Martin Herbordt Boston University BOSTON UNIVERSITY.
Multimedia Teaching Tool SimArch V1.0 Faculty of Electronic Engineering University of Nis Serbia.
Teaching Database Courses Using Educational System ADVICE Miloš Cvetanović, Zaharije Radivojević School of Electrical Engineering, Belgrade University.
Computer Architecture. “The design of a computer system. It sets the standard for all devices that connect to it and all the software that runs on it.
Chapter 1 What is Programming? Lecture Slides to Accompany An Introduction to Computer Science Using Java (2nd Edition) by S.N. Kamin, D. Mickunas, E.
Lecture 0. Course Introduction Prof. Taeweon Suh Computer Science Education Korea University ECM585 Special Topics in Computer Design.
SimArch: Work in Progress Multimedia Teaching Tool Faculty of Electronic Engineering University of Nis Serbia.
Introduction to Grid Computing to students attending Concurrent and Distributed Programming courses Zaharije Radivojević School of Electrical Engineering.
Outline  Over view  Design  Performance  Advantages and disadvantages  Examples  Conclusion  Bibliography.
Performance Characterization and Architecture Exploration of PicoRadio Data Link Layer Mei Xu and Rahul Shah EE249 Project Fall 2001 Mentor: Roberto Passerone.
High Performance Embedded Computing © 2007 Elsevier Chapter 7, part 3: Hardware/Software Co-Design High Performance Embedded Computing Wayne Wolf.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
Week 04 Object Oriented Analysis and Designing. What is a model? A model is quicker and easier to build A model can be used in simulations, to learn more.
6/29/1999PDPTA'991 Performance Prediction for Large Scale Parallel Systems Yuhong Wen and Geoffrey C. Fox Northeast Parallel Architecture Center (NPAC)
Boris Milašinović Faculty of Electrical Engineering and Computing University of Zagreb, Croatia 15th Workshop on "Software Engineering Education and Reverse.
Object Oriented Analysis and Design 1 Chapter 9 From Design to Implementation  Implementation Model  Forward, Reverse, and Round-Trip Engineering  Mapping.
Review of Parnas’ Criteria for Decomposing Systems into Modules Zheng Wang, Yuan Zhang Michigan State University 04/19/2002.
Three small projects for an „Advanced Programming in Java” course Ioan Jurca „Politehnica” University of Timisoara Romania.
Review of the numeration systems The hardware/software representation of the computer and the coverage of that representation by this course. What is the.
Using software metrics for estimating code similarities in binaries Saša Stojanović, Miloš Cvetanović, Zaharije Radivojević School of Electrical Engineering,
INTRODUCTION TO COMPUTER ENGINEERING (ECE 001) Dr. Ahmed Bayoumi Dr. Shady Yehia Elmashad 1.
Boro Jakimovski Faculty of Computer Science and Engineering University Sa. Cyril and Methodius in Skopje 11th Workshop on.
Lecture 0. Course Introduction Prof. Taeweon Suh Computer Science Education Korea University COM515 Advanced Computer Architecture.
Introduction to UML and Rational Rose UML - Unified Modeling Language Rational Rose 98 - a GUI tool to systematically develop software through the following.
VIRTUAL NETWORK PIPELINE PROCESSOR Design and Implementation Department of Communication System Engineering Presented by: Mark Yufit Rami Siadous.
Computer Architecture Organization and Architecture
Hongbin Li 11/13/2014 A Debugger of Parallel Mutli- Agent Spatial Simulation.
Written by : Oren Frenkel Intel Confidential ® C CD SDS.
Examples Data Driven, Event Driven Typical Architecture Building Ogre
Introduction To Computer Engineering (ECE 001)
Computational Science - Computer Science
Unified Modeling Language
Introduction to cosynthesis Rabi Mahapatra CSCE617
T Computer Architecture, Autumn 2005
Programming Languages
Building Graphical User Interface with Swing a short introduction
Teaching Functional Verification – Course Organization
Presentation transcript:

Teaching the simulator design in Java Zaharije Radivojević, Miloš Cvetanović 11th Workshop “Software Engineering Education and Reverse Engineering” Ohrid, Macedonia August 2011

11th Workshop SEE and RE 2/18 Agenda Course description Simulator design Simulation algorithms Project description Conclusions

11th Workshop SEE and RE 3/18 Computer Architecture and Organization 2 Type: Mandatory course Starts: 6 semester (of 8 semesters for bachelor studies) Class hours: Format: –Midterm 20 –Laboratory 20 –Project 40 –Final 20

11th Workshop SEE and RE 4/18 Relation to other courses SemesterSoftwareHardware 4OOP JavaComputer architecture 5Computer architecture and orgranization1 6System programmingComputer architecture and orgranization2 7Design patterns 8Software engineeringVLSI design 8Computer performances

11th Workshop SEE and RE 5/18 Course Syllabus Part 1: Processor design – 9 weeks –Processor structure –Processor architecture –Processing unit –Control unit Part 2: Simulator design – 5 weeks –Simulators survey –Simulator characteristics –Visual simulation –Simulator testing

11th Workshop SEE and RE 6/18 Simulators survey System Hierarchical Representation Component Design Component Scripting Component Parameterization Physical Characteristics Visual Presentation Parallel Execution Simulation Control ANTNo BC CPU SimYesNo IC DigLC2YesNo YesNoIC DLXviewYesNo YesNoIC EDCOMPYesNo YesNoIC HASENoYes NoYesNoIC HASE-DineroNo YesNoIC JCachesimNo YesNoBC JHDLYes NoIC LogisimNoYesNo YesNoIC M5Yes NoYes NoYesBC RMYesNo YesNoIC RSIMNo BC SIMCANo YesBC SimFlexNo YesNo YesBC SimicsNoYesNoYes NoYesBC SimOSNo BC SimpleScalarNo BC VSDSYes No YesNoIC

11th Workshop SEE and RE 7/18 Simulator characteristics

11th Workshop SEE and RE 8/18 Logic components Principles of logical simulations Usage of building blocks Component internal structure modeling Modeling: –Signals –Delays –Connections Creating component libraries Component re-usage

11th Workshop SEE and RE 9/18 Simulation execution Delay modeling Event driven simulation Time driven simulation Parallel simulations Simulation algorithms Optimization of simulation algorithms

11th Workshop SEE and RE 10/18 Simulation algorithms - 1 public void run() { init(); while (!end) { lastMsg = queue.getMsg(); localTime = lastMsg.getEnd(); work(lastMsg); } Single thread algorithm

11th Workshop SEE and RE 11/18 Simulation algorithms - 2 public void run() { init(); while (!end) { Message m = queue.getMsg(); if (!isTimeInTheRange(m)) { queue.putMsg(m); synchronize(); m = queue.getMsg(); } lastMsg = m; localTime = lastMsg.getEnd(); work(lastMsg); } Multithread algorithm-pessimistic

11th Workshop SEE and RE 12/18 Simulation algorithms - 3 public void run() { init(); while (!end) { Message m = queue.getMsg(); if(localTime > m.getEnd()){ restart(m.getEnd()); continue; } lastMsg = m; localTime = lastMsg.getEnd(); if (lastMsg.ok()) { work(lastMsg); pastMsg.putMsg(lastMsg); } Multithread algorithm-optimistic

11th Workshop SEE and RE 13/18 Visual simulation Components’ graphical interface Component positioning Communication between logical component and graphical interface Usage of MVC and Observer patterns Loading/saving components

11th Workshop SEE and RE 14/18 Visual simulation

11th Workshop SEE and RE 15/18 Practical work Part 1: Hardware project –Processor architecture and organization design Part 2: Software project –Simulator architecture 4 students teams Bachelor students (129 students in 34 teams) Review audit Functional testing

11th Workshop SEE and RE 16/18 Results Grades: (5 fail – 10 excellent)

11th Workshop SEE and RE 17/18 Results Remarks: –Combining hardware and software projects –Creating practical and visual software –Working in teams –Learning new technologies –Grade independently hardware and software parts

11th Workshop SEE and RE 18/18 Conclusion Students received practical experience using OOP and Java Methods for describing logical behavior of hardware Understanding of simulation algorithms that are necessary for other courses Combining patterns in order to support visual presentation of elements Hard to understand simulation and physics layer 81% of students passed

Thank you! Radivojevic Zaharije