PCM Development/Palladio Coding Session/20190806 Developer Meeting
Organizational
- Location: FZI Karlsruhe
- Start: 10:30am
Attendees
- Jörg (FZI)
- Floriment (US)
- Markus (US)
- Steffen (US)
- Dominik (KIT)
- Sandro (KIT)
- Yves (KIT)
- Martina (FZI)
- Max (FZI)
- Sebastian (FZI)
- Stephan (FZI)
Agenda
11:00 - 12:30
- SimuLizar 2 (Floriment/Steffen/Martina)
- Concepts
- Timeline
- Consolidation of queue simulations
- Future of EventSim
12:30 - 13:30
- Lunch Break (MRI)
13:30 - 14:45
- New build infrastructure
- Bug tracking in Github?
- JIRA not actively used
- Reactivate Confluence?
14:45 - 16:45
- Measurements in SimuLizar
- SIMULIZAR-98
- Wildcard-Measuring Points
- Multidimensional measurements (Jörg)
- Common logging framework for Palladio
- SIMULIZAR-97
- specific fixes for this problem exist but we might aim for a more general solution
- Discussion about open SimuLizar pull request
16:45 - 17:15
- Maintenance of graphical editors
- collect missing stuff in Sirius editors
- future maintainer?
- How to deal with open JIRA issues?
Minutes
Simulizar 2.0
- SimuLizar workshop for creating SimuLizar from scratch but still reuse existing stuff like SimuCom framework
- SimuCom framework is already agnostic to thread stuff
- SimuCom framework can be reused
- behavior of blocking/unblocking already designed to be exchangable
- make this behavior changable by clients via API
- not many methods that have to be implemented
- put a layer on top that hides the hacks to the users and allows keeping SimuCom framework as it is
- Presentation of changes done in Mosaic project
- Make entire simulation event-based not processed-based
- Blocking thread for simulation process removed, switched to pure event simulation
- Current state looks like hack at the layer between Simulizar and SimuCom framework (e.g. empty life cycle)
- data stored in thread local variables have to be externalized
- Workload creators will break because of these changes but this won't be a big issue
- Plan: reuse concepts of EventSim (like being highly customizable, decoupled)
- at any point where you have to move the process forward, there should be an extensible registry of movements
- same holds true for behaviors
- initial design looks good and should work out
- open task: what to reuse from existing Simulizar code?
- you cannot use existing interpreters
- reusable: reconfiguration stuff (but includes assumption that there is a process, might have to be changed)
- no timeline yet
- patch for interfaces and fixes for bugs, will be a pull request on Github
- next step: write version that can simulate simple example to test all concepts (no student thesis)
- Future of EventSim
- Status
- compiles but does not work
- not using QUAL but R (major effort but there might be a way of doing this)
- Features only available in EventSim
- simulating database transactions
- we assume that this can be integrated into future Simulizar
- IntBIIS only integrated into EventSim
- uses old version of EventSim
- not properly separated
- simulating database transactions
- Stakeholders
- Philip: PhD project
- Sandro: Case Study but can use other simulator as well
- Dicision: Drop support for EventSim and spent all effort in new Simulizar
- use knowledge from EventSim to create new Simulizar
- TODO: Add deprecation tag to EventSim / wiki page
- Status
- Consolidation queue simulations
- simulations
- Dominik: abstraction for data streaming operations, keeps collection of arrived data packages, outputs them (e.g. windows), application on top of message brokers
- use stack frames, safe additional meta data
- Jörg: link-layer-simulation of queueing networks (e.g. RabbitMQ), have rough implementation of broker behavior, more like end-to-end communication
- Dominik: abstraction for data streaming operations, keeps collection of arrived data packages, outputs them (e.g. windows), application on top of message brokers
- possible common topic: requirements regarding properties of messages
- what people have stakes in queue simulations?
- people of Bosch
- Mosaic project (Floriment, Martina)
- TODO: find concrete example and discuss shared interests
- starting points to get to know work
- case study from work of Dominik and Manuel
- connected heating model created to illustrate the measurements bug
- Dominik will set up a meeting
- starting points to get to know work
- simulations
Build Infrastructure
- Issue tracking
- arguments against JIRA / in favor of Github
- performance
- maintenance
- better integration of bots in Github
- arguments in favor of JIRA
- state of the art (at least in industry) issue tracking system
- long history of issues
- strong guidance in creating issues
- arguments against JIRA / in favor of Github
- Decision: Reevaluate question if
- Atlassian charges us money
- Hardware costs / requirements increase / performance decreases
- Split Palladio stuff and public wiki stuff
- is beneficial in general
- do the migration in three steps: categorize information, split information into separate wikis, optional: migrate to new platform
- TODO: Ask Erik about how to do that and how much effort this could take / whether a student could do most of the work
Simulizar
- SIMULIZAR-98
- Fix 1: Delay initialization (favored, low effort)
- Fix 2: Initialize all measurements ahead of simulation (higher effort because you have to create all component instances before simulation)
- Definition of measurements is quite limited because all model elements have to be present
- It would be beneficial to have a more flexible way of defining measurements
- measurements are initialiized in multiple locations (e.g. simulation entity (in constructor))
- events for creating and destroying simulation entities could be used to react on that instead of putting the responsibility to simulation entities
- instrucmentation could take place outside
- Decision: Sebastian tries to implement fix 1 within considerable time
- General issue still in it
- should we reuse SimuCom framework or use a new implementation
- code code be really improved
- no other supported simulator is using it, so we should not aim for compatibility at all costs
- rewriting will require more man power than we have available
- rewritten simulator will not have as many features as existing simulator
- rewriting not feasible, especially not by students
- instead: use SimuCom framework as it is and put an API layer on top of it
- multidimensional measurements
- instead of creating a linear string, have the concept of multiple dimensions
- wildcards only affect defined dimensions and are therefore typed
- all measurements have to have same type in oder to make aggregation work
- implementation should not be too complex
- could be a student project
- TODO Jörg: prepare task description for student thesis and share it with US
- SIMULIZAR-97
- logging used to inform users about what's going on
- apache log4j used for that
- custom logic to redirect output to eclilpse console
- problem: log4j not designed for environment with multiple class loaders (like OSGi environment)
- possible quick fix: copy config of plugin to extending plugin
- suggestion: OSGi logging facility, slf4j implementation to redirect to other logger
- configuration can be done through configuration admin
- still, a custom appender has to be written to redirect to the Eclipse console
- using a central log4j factory is possible but requires several code changes
- quick fix: implement singleton using enum at the workflow engine and use centralized factory
- long term: let a student try different solutions
- Deletion of IModelAccess
- TODO Max: push changes
- TODO Steffen: Have a look after changes have been pushed and comment with error message
Maintenance
- Graphical editors
- find missing Sirius features in a session at the next research retreat (maybe on Monday)
- managing maintainer approach
- Open JIRA issues
- discuss open issues in concall (e.g. announce that we are talking about issues of project X, Y)
- discuss all issues in dev meetings