Jaroslav Šnajberk, Tomáš Potužák, Richard Lipka Department of Computer Science and Engineering Faculty of Applied Sciences University of West Bohemia,

Slides:



Advertisements
Similar presentations
Construction process lasts until coding and testing is completed consists of design and implementation reasons for this phase –analysis model is not sufficiently.
Advertisements

Component Oriented Programming 1 Chapter 2 Theory of Components.
Software Architecture Frameworks A Family of Implementations Nikunj Mehta Computer Science Department University of Southern California Los Angeles, CA.
1 JAC : Aspect Oriented Programming in Java An article review by Yuval Nir and Limor Lahiani.
An Introduction to Programming and Object Oriented Design using Java 2 nd Edition. May 2004 Jaime Niño Frederick Hosch Chapter 0 : Introduction to Object.
G O B E Y O N D C O N V E N T I O N WORF: Developing DB2 UDB based Web Services on a Websphere Application Server Kris Van Thillo, ABIS Training & Consulting.
Introduction To System Analysis and Design
Persistent State Service 1 CORBA Component  Component model  Container programming model  Component implementation framework  Component packaging and.
28/1/2001 Seminar in Databases in the Internet Environment Introduction to J ava S erver P ages technology by Naomi Chen.
Introduction to Java Programming
Presented by IBM developer Works ibm.com/developerworks/ 2006 January – April © 2006 IBM Corporation. Making the most of Creating Eclipse plug-ins.
Software Issues Derived from Dr. Fawcett’s Slides Phil Pratt-Szeliga Fall 2009.
Asst.Prof.Dr.Ahmet Ünveren SPRING Computer Engineering Department Asst.Prof.Dr.Ahmet Ünveren SPRING Computer Engineering Department.
Richard Lipka Department of Computer Science and Engineering Faculty of Applied Sciences University of West Bohemia, Pilsen, Czech Republic 1.
Tomáš Potužák Department of Computer Science and Engineering Faculty of Applied Sciences University of West Bohemia, Pilsen, Czech Republic 1 Component-based.
Richard Lipka, Tomáš Potužák, Přemek Brada, Pavel Herout Department of Computer Science and Engineering Faculty of Applied Sciences University of West.
A Visualization Tool for Reverse-engineering of Complex Component Applications Lukas Holy Co-authors: Jaroslav Snajberk, Premek Brada, Kamil Jezek University.
Špindlerův Mlýn, Czech Republic, SOFSEM Semantically-aided Data-aware Service Workflow Composition Ondrej Habala, Marek Paralič,
NetArchive Suite Workshop 2011 Technical Track - Code refactoring with the Spring Framework.
Java Beans.
M1G Introduction to Programming 2 4. Enhancing a class:Room.
Introduction to the Atlas Platform Mobile & Pervasive Computing Laboratory Department of Computer and Information Sciences and Engineering University of.
Liang, Introduction to Java Programming, Sixth Edition, (c) 2007 Pearson Education, Inc. All rights reserved Chapter 12 Object-Oriented.
Project JUTS – Urban Traffic Simulation System David Hartman DSS 2004.
Aspect Oriented Programming Razieh Asadi University of Science & Technology Mazandran Babol Aspect Component Based Software Engineering (ACBSE)
J-OCM is a system for monitoring distributed Java applications conforming to OMIS specification with J-OMIS extensions. It is used to: gather information.
Jan Tichava – presenting author Ondřej Rohlík Jan Pikl Department of Computer Science and.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 09. Review Introduction to architectural styles Distributed architectures – Client Server Architecture – Multi-tier.
Introduction To System Analysis and Design
CHEF II / Sakai Architecture. CHEF II Changes uPortal replaces Jetspeed –jsr 168 portlet, servlet compliant Spring replaces Turbine component framework.
Comparing JavaBeans and OSGi Towards an Integration of Two Complementary Component Models HUMBERTO CERVANTES JEAN-MARIE FAVRE 09/02.
The Mitre Meteor Robot Control Software “Simulate As You Operate” Presented by Darrell L Sims Richard M. Weatherly Frederick S. Kuhl Robert H. Bolling.
Shannon Hastings Multiscale Computing Laboratory Department of Biomedical Informatics.
07/09/04 Johan Muskens ( TU/e Computer Science, System Architecture and Networking.
 Copyright 2005 Digital Enterprise Research Institute. All rights reserved. m3pe LIGHT An Extensible Multi-Meta-Model Workflow Execution.
Jaroslav Šnajberk, Přemek Brada Computer of Computer Sciences and Engineering Faculty of Applied Sciences University of West Bohemia in Pilsen 1.
Towards Multi-Paradigm Software Development Valentino Vranić Department of Computer Science and Engineering Faculty of Electrical Engineering.
S. Shumilov – Zürich Analytical Visualization Framework - a visual data processing and knowledge discovery system Ivan Denisovich, Serge Shumilov Department.
Design Patterns Software Engineering CS 561. Last Time Introduced design patterns Abstraction-Occurrence General Hierarchy Player-Role.
1 Technical & Business Writing (ENG-715) Muhammad Bilal Bashir UIIT, Rawalpindi.
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.
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
SSQSA present and future Gordana Rakić, Zoran Budimac Department of Mathematics and Informatics Faculty of Sciences University of Novi Sad
Introduction to OOP CPS235: Introduction.
Kansas City Java User’s Group Jason W. Bedell July 12, 2006
Modern Programming Language. Web Container & Web Applications Web applications are server side applications The most essential requirement.
Introduction to business component technologies. Component definitions Szyperski: A software component is a unit of composition with contractually specified.
Reconfigurable Communication Interface Between FASTER and RTSim Dec0907.
Introduction to UML and Rational Rose UML - Unified Modeling Language Rational Rose 98 - a GUI tool to systematically develop software through the following.
Comparison-Evaluation of Java-Based Discrete-Time Simulation Tools University of West Bohemia Faculty of Applied Sciences Department of Computer Science.
Introduction to Algorithm. What is Algorithm? an algorithm is any well-defined computational procedure that takes some value, or set of values, as input.
NOTICE! These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of Computer.
CIS 234: Object-Oriented Programming with Java
Chapter 12: Simulation and Modeling
OPERATING SYSTEMS CS 3502 Fall 2017
Topic: Difference b/w JDK, JRE, JIT, JVM
Chapter 11 Object-Oriented Design
Unified Modeling Language
Introduction Enosis Learning.
CMPE419 Mobile Application Development
Introduction Enosis Learning.
Chapter 0 : Introduction to Object Oriented Design
JAsCo an Aspect-Oriented approach tailored for
Execute your Processes
International Living Atlases Workshop Madrid 2018
A General Approach to Real-time Workflow Monitoring
Groovy.
CMPE419 Mobile Application Development
Presentation transcript:

Jaroslav Šnajberk, Tomáš Potužák, Richard Lipka Department of Computer Science and Engineering Faculty of Applied Sciences University of West Bohemia, Pilsen, Czech Republic 1

> Introduction > Component frameworks > Simulation framework description > Simulation example > Future work 2

> System constructed from individual components > Components are blackbox entities that are part of third party composition > Components are deployed and executed in component framework > Component framework is implementation of component model > Component model is description of how component look and interact 3

> There are many component models and much more component frameworks > Manage communication and lifecycle of components > Don’t support testing, statistics, scenarios > Must be extended to test components > OSGi component framework > Widely used in many fields of industry > Spring DM extension > Simplifies the development process 4

> A framework designed for testing of real components > No need for creation of models of the tested components > Framework also constructed from components > Modularity of the framework > Easy to change the features of the simulation > Utilization of SpringDM

> Components of the framework (Type 1) > Components necessary for functionality of the framework > Real tested components (Type 2) > Components to be tested in the simulation framework > Components of a component based application > Simulated components (Type 3) > Components for providing of the services required by the real tested components (type 2)

> Components, from which the framework is constructed > Functionality of the framework > Services for the simulation (e.g. logging) > Calendar – most important component of the > Incorporates all events occurring during the simulation > Controls the progress of the simulation based on loaded scenario

> Components to be tested in the framework for extrafunctional properties > More than one real tested component in the simulation possible > Interaction with other real tested components > Interaction with their simulated environment (type 3 component, see next slide)

> Components providing services required by the real tested components (type 2) > Together with type 1 forming the environment for the real tested components to run > No real functionality > The services provides predefined return values along with predefined delay > No real calculation of values

> Two different requirements > The real components must not be aware they are in simulated environment > The simulation must be completely under control – all actions must be performed using calendar > Services invocation: > By the real tested components (type 2) on the simulated components (type 3) performed using calendar > Between two real tested components performed using an intermediate components

> Event based simulation vs. real time real tested components (type 2) > Events necessary for the simulation  the real time for the real tested components must be simulated > All Java API functions using the time must not return the time of the computer, but rather the “simulation” time > Similar problem with socket connections > Must be also only simulated

> Possible solutions to this problems: > Override Java Core API methods directly in JRE > Problematic – Simulation framework also runs using the same JVM > Create packages with overridden methods, replace imports in real tested components > More convenient > Manipulation with the bytecode of the component or using the Aspect Oriented Programming (AOP)

> Description of the simulation > General description of the simulation – length of the simulation > Description of the environment (components and their connections) > Description of the activities (events) > Initial events of the calendar > (Return values of the simulated components (type 3)) > Loaded from a XML file(s)

> Implementation of simulation framework > Only basic of functionality has been implemented yet > Necessary to implement the framework and a testing set of component > Three master students are working on it > Creating of scenarios > Defining all aspects of the simulation, which should be present in the simulation scenario > At least part of the scenarios based on the natural language specification 17

18