Possible topics
In this workshop, we would look at:

existing energy system optimisation frameworks in Julia (see tentative list below)

discuss best practices of implementation of energy system models in JuMP (for instance, how to write constraints while maintaining numerical performance)

discuss ways to cooperate developmentwise between projects, including:
 common highlevel specifications
 preferred Julia packages
 use of frictionless data packaging and also agreement on schemas
 perhaps the use of common or at least similar internal data structures
 some kind of component architecture, possibly heading towards a software framework that projects can draw upon as they wish
 preferred toolchain elements and software engineering practices
 preferred design and documentation practices, including the use of UML
 some agreement on coding and perhaps even naming conventions

thoughts on establishing a common codebase at some level, possibly well below that of a modeling framework
Terminology: the phrase "modeling framework" seems to be what people have settled on to describe the codebases underpinning projects such as OSeMOSYS or Calliope. Other terms including "modeling environment" or simply "model". The concept of "framework" as used in this context differs from that of a "software framework" in the computer science sense.
Existing open models
 PowerModels.jl — Julia/JuMP Package for Power Network Optimization; can do multiperiod optimisation
 PSA.jl — a partial implementation of PyPSA in Julia (currently being rewritten, may also be renamed)
 Mimi — Integrated Assessment Modeling Framework
 DICE2016inJulia.jl — a reimplementation of the famous DICE model
 (DPSA.jl — dynamic power grid analysis library (also the subject of a talk at Zürich by Tim Kittel). This is not intended as a power system/grid optimization tool but will be used for dynamical stability analysis (e.g. frequency stability on second and subsecond scale).)
 CalliopeJuMP.jl — a partial implementation of Calliope in Julia. Intention to completely rewrite in near future.
 Joulia.jl partial implementation of former elmod (from TU Berlin) in Julia (currently in rewriting process) elmod is a dispatch model with DClow flow
Links
 JuMP package — listing at the Julia Observer
 JuliaOpt — a collection of optimizationrelated packages
Installing Julia
Small warning: It’s probably best to install from the binaries; debian/ubuntu packages are out of date and compiling from source didn’t work for Tom Brown on Ubuntu 16.04 LTS.
References
Dunning, Iain, Joey Huchette, and Miles Lubin (2017). “JuMP: a modeling language for mathematical optimization”. SIAM Review. 59 (2): 295–320. ISSN 00361445. doi:10.1137/15M1020575.