Skip to content

Commit 6c6ac78

Browse files
committed
Prepare for Julia v0.7
1 parent 8d773d1 commit 6c6ac78

File tree

13 files changed

+22
-211
lines changed

13 files changed

+22
-211
lines changed

.travis.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ os:
33
- linux
44
- osx
55
julia:
6-
- 0.6
6+
- 0.7
77
- nightly
88
notifications:
99
email: false

README.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ A discrete event process oriented simulation framework written in [Julia](http:/
1515
[![SimJulia](http://pkg.julialang.org/badges/SimJulia_0.4.svg)](http://pkg.julialang.org/?pkg=SimJulia&ver=0.4)
1616
[![SimJulia](http://pkg.julialang.org/badges/SimJulia_0.5.svg)](http://pkg.julialang.org/?pkg=SimJulia&ver=0.5)
1717
[![SimJulia](http://pkg.julialang.org/badges/SimJulia_0.6.svg)](http://pkg.julialang.org/?pkg=SimJulia&ver=0.6)
18+
[![SimJulia](http://pkg.julialang.org/badges/SimJulia_0.7.svg)](http://pkg.julialang.org/?pkg=SimJulia&ver=0.7)
1819

1920
SimJulia.jl is a [registered package](http://pkg.julialang.org), and is installed by running
2021

@@ -42,6 +43,9 @@ julia> Pkg.add("SimJulia")
4243

4344
## Release Notes
4445

46+
* v0.6 (2018)
47+
* adds support for Julia v0.7.
48+
* the `@oldprocess` macro and the `produce` / `consume` functions are removed because they are no longer supported.
4549
* v0.5 (2018)
4650
* The old way of making processes is deprecated in favor of the semi-coroutine approach as implemented in [ResumableFunctions](https://github.com/BenLauwens/ResumableFunctions.jl.git). The `@process` macro replaces the `@coroutine` macro. The old `@process` macro is temporarily renamed `@oldprocess` and will be removed when the infrastructure supporting the `produce` and the `consume` functions is no longer available in Julia. (DONE)
4751
* This version no longer integrates a continuous time solver. A continuous simulation framework based on [DISCO](http://www.akira.ruc.dk/~keld/research/DISCO/) and inspired by the standalone [QSS](https://sourceforge.net/projects/qssengine/) solver using SimJulia as its discrete-event engine can be found in the repository [QuantizedStateSystems](https://github.com/BenLauwens/QuantizedStateSystems.jl.git) (WIP):
@@ -64,3 +68,4 @@ julia> Pkg.add("SimJulia")
6468
## Todo
6569

6670
* Transparent statistics gathering for resources.
71+
* Update of documentation.

REQUIRE

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
1-
julia 0.6 0.7-
1+
julia 0.7-
22
DataStructures
33
ResumableFunctions

VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
0.5.0
1+
0.6.0

appveyor.yml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,10 @@
11
environment:
22
matrix:
3-
- JULIA_URL: "https://julialang-s3.julialang.org/bin/winnt/x64/0.6/julia-0.6-latest-win64.exe"
3+
- JULIA_URL: "https://julialang-s3.julialang.org/bin/winnt/x64/0.7/julia-0.7-latest-win64.exe"
44
- JULIA_URL: "https://julialangnightlies-s3.julialang.org/bin/winnt/x64/julia-latest-win64.exe"
55

66
matrix:
77
allow_failures:
8-
- JULIA_URL: "https://julialangnightlies-s3.julialang.org/bin/winnt/x86/julia-latest-win32.exe"
98
- JULIA_URL: "https://julialangnightlies-s3.julialang.org/bin/winnt/x64/julia-latest-win64.exe"
109

1110
install:

src/SimJulia.jl

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,12 @@ Main module for SimJulia.jl – a discrete event process oriented simulation fra
66
module SimJulia
77

88
using DataStructures
9-
using Base.Dates
9+
using Dates
1010
using ResumableFunctions
1111

12-
import Base.run, Base.now, Base.isless, Base.show, Base.interrupt, Base.yield, Base.get
12+
import Base.run, Base.isless, Base.show, Base.yield, Base.get
1313
import Base.(&), Base.(|)
14+
import Dates.now
1415

1516
export AbstractEvent, Environment, value, state, environment
1617
export Event, succeed, fail, @callback, remove_callback
@@ -20,7 +21,6 @@ module SimJulia
2021
export Process, @process, interrupt
2122
export Container, Resource, Store, put, get, request, release, cancel
2223
export nowDatetime
23-
export OldProcess, @oldprocess, yield, request
2424

2525
include("base.jl")
2626
include("events.jl")
@@ -31,5 +31,4 @@ module SimJulia
3131
include("resources/containers.jl")
3232
include("resources/stores.jl")
3333
include("utils/time.jl")
34-
include("old/processes.jl")
3534
end

src/old/processes.jl

Lines changed: 0 additions & 74 deletions
This file was deleted.

src/simulations.jl

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -23,9 +23,9 @@ mutable struct Simulation <: Environment
2323
heap :: DataStructures.PriorityQueue{BaseEvent, EventKey}
2424
eid :: UInt
2525
sid :: UInt
26-
active_proc :: Nullable{AbstractProcess}
26+
active_proc :: Union{AbstractProcess, Nothing}
2727
function Simulation(initial_time::Number=zero(Float64))
28-
new(initial_time, DataStructures.PriorityQueue{BaseEvent, EventKey}(), zero(UInt), zero(UInt), Nullable{AbstractProcess}())
28+
new(initial_time, DataStructures.PriorityQueue{BaseEvent, EventKey}(), zero(UInt), zero(UInt), nothing)
2929
end
3030
end
3131

@@ -49,13 +49,13 @@ function now(ev::AbstractEvent)
4949
end
5050

5151
function active_process(sim::Simulation) :: AbstractProcess
52-
get(sim.active_proc)
52+
sim.active_proc
5353
end
5454

5555
function reset_active_process(sim::Simulation)
56-
sim.active_proc = Nullable{AbstractProcess}()
56+
sim.active_proc = nothing
5757
end
5858

5959
function set_active_process(sim::Simulation, proc::AbstractProcess)
60-
sim.active_proc = Nullable(proc)
60+
sim.active_proc = proc
6161
end

src/utils/time.jl

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,17 @@
11
function Simulation(initial_time::DateTime)
2-
Simulation(Base.Dates.datetime2epochms(initial_time))
2+
Simulation(Dates.datetime2epochms(initial_time))
33
end
44

55
function run(env::Environment, until::DateTime)
6-
run(env, Base.Dates.datetime2epochms(until))
6+
run(env, Dates.datetime2epochms(until))
77
end
88

99
function timeout(env::Environment, delay::Period; priority::Int8=zero(Int8), value::Any=nothing)
1010
time = now(env)
11-
del = Base.Dates.datetime2epochms(Base.Dates.epochms2datetime(time)+delay)-time
11+
del = Dates.datetime2epochms(Dates.epochms2datetime(time)+delay)-time
1212
timeout(env, del; priority=priority, value=value)
1313
end
1414

1515
function nowDatetime(env::Environment)
16-
Base.Dates.epochms2datetime(now(env))
16+
Dates.epochms2datetime(now(env))
1717
end

test/old/processes.jl

Lines changed: 0 additions & 91 deletions
This file was deleted.

0 commit comments

Comments
 (0)