|
Program
|
General information
There will be a come-together on Friday evening for those arriving in Berlin the day before the meeting.
We will meet in the Ristorante Mamma Mia, Nonnendammallee 86, which is in walking distance from the recommended hotels.
It will start at 18:00 and you can join anytime depending on your arrival time.
The social event will start at 18:30 with a guided city tour through Spandau.
Afterwards we will meet in the restaurant Satt und Selig.
See the travel page for the locations of the above mentioned restaurants.
|
|
Photos and Videos
|
Photos from EuroTcl 2017
|
Videos from EuroTcl 2018
|
Program Schedule
|
Talks and Presentations
|
|
Florian Murr
|
McFSM - A Vast Extension to Finite State Machines
|
McFSM (Multiple coupled Finite State Machines) is a new theory and a new paradigm
to create Finite State Maschines (FSMs) with huge state spaces.
This makes this new kind of FSMs practical in new areas, quite apart from their traditional use.
What makes FSMs so appealing is the fact that their properties can be proven at compile-time.
This is in contrast with Turing-complete code which has to resort to runtime-testing,
because no proofs are possible at compile-time.
McFSMs greatly extend the applicability of FSMs into domains that were previously only
accessible with Turing-complete code, while retaining most of the provability.
McFSMs require a new theory, a DSL (Domain Specific Language) and an IDE
(Integrated Development Environment).
The current prototype is a transpiler IDE written in TclOO and Tk, with persistent data-structures
in SQLite, that generates code in various programming languages.
A paper about McFSM has been accepted for the ICSE-2017, with a preprint that can be found
at http://arxiv.org/abs/1702.07951
|
Franz Vater
|
Organizing information, projects and communities by an information server based on tclhttpd
|
For applications like for project management, issue tracking, organisation
and distribution of information or the organisation of teams and communities
web based solutions are the first choice.
But the better known frameworks in this area all suffer from the same
flaw: The do not use or support Tcl!
InfoServer wants to change this. Although not yet fully fledged it
shows a way to build a portal server based on the tclhttpd web server
and a flexible and powerful template system.
Currently it addresses smaller enterprises and communities with the
need of cooperation of internal and external groups and persons.
InfoServer offers the management of persons and overlapping groups and
strict access control on a single document base.
For the storage of system and customer data interfaces for SQLite3 and
PostgreSQL databases are available.
The predefined features include skins, dynamic document generation
and merging, user database queries, online editing and more.
The layer of template processing is realized with pure Tcl and is
the base to create all kinds of services like a wiki, issue tracking or
project management.
|
Christian Gollwitzer
|
Controlling Large-Scale Experiments with AsynCA, a modern Tcl extension for EPICS channel access
|
EPICS (Experimental Physics and Industrial Control System)
is a distributed soft real-time control system for scientific instruments, which is in use at several large scale
experimental facilities, for example the synchrotron radiation facilities APS in Argonne and BESSY II in Berlin,
and the experimental fusion reactor ITER in France.
EPICS enables the reading from and writing to so-called process variables (PVs) distributed over the network
via the channel acess protocol (CA) with zero configuration.
These PVs typically represent a measured value or setpoint, e.g. the reading of a voltmeter or the goto
position of a motorized axis. All I/O operations on PVs are performed asynchronously.
AsynCA is a Tcl extension
which wraps the canonical
EPICS libraries for channel access.
In contrast to the older interfaces
ET
and epicstcl,
it works with Tcl 8.6 and provides
fully asynchronous, thread-safe operation by integration with the Tcl event loop.
It is the only available extension for Tcl which also allows to create PVs by wrapping the server
library in addition to the client libraries.
Currently, the EPICS callbacks are translated into Tcl callbacks which are run from the event loop.
Synchronous versions of the command are based on vwait.
A future version of AsynCA will implement synchronous commands based upon coroutines to
facilitate asynchronous programming with EPICS.
|
Uli Ender
|
Using GPIOs of Raspberry Pi in pure Tcl - my way
|
In the recent years the Raspberry Pi has become a popular low-cost mini-computer.
When you run Debian-Wheezy-Linux on it, Tcl is already on-board.
Scripting in pure Tcl
using simple commands like "open, puts, read, close" with
/sys/class/gpio and /proc/interrupts, you can already toggle the GPIO lines several
hundred times per seconds or count impulses.
This is enough for a lot of uses of this little computer.
Via WLAN interface and a small server script you can also load, store and source
Tcl scripts without being directly connected.
There is already a library
written in pure Tcl published by Gerhard Reithofer.
In my talk instead, I want to demonstrate my way of programming the GPIO-lines of the Raspberry Pi.
|
Manfred Rosenberger
|
Refactoring approaches for rattleCAD, a domain specific CAD-application written in pure Tcl
|
rattleCAD is an open source CAD software that supports bicycle frame builder in building customized bicycle frames.
Based on a wireframe geometry rattleCAD visualizes the new bike with all its parts and creates drawings
for the workshop.
rattleCAD is written in pure Tcl and is hosted on
SourceForge.
When rattleCAD started as a prototype in a sandbox there was no plan to start a professional
software development, nor was any software architectural approach defined.
Nevertheless, more and more functions were implemented, and the code of rattleCAD became more
and more complex. Implementing new functionalities and fixing any bugs became a time-consuming process.
In order to achieve different characteristics of software quality rattleCAD had to be refactored,
to maintain and extend rattleCAD in the future.
To make rattleCAD maintainable a suitable software architecture approach had be found
and to be implemented. With the implementation of TclOO as an object-orientated approach
in the Tcl 8.6 core, this approach was used to support the refactoring of rattleCAD.
According to an analysis, rattleCAD was decomposed into individual, separable areas and
reorganized without reimplementing rattleCAD totally new.
While TclOO helps to organize objects, the separation of the user interface (GUI)
from the business logic bases on mapping tables.
This contribution will show the capabilities of Tcl in the implementation of a CAD
application and gives a view on software architecture approaches in case of refactoring
a software written in pure Tcl.
|
Carsten Bellon
|
aRTist - An Industrial-Radiology Simulator Using Tcl/Tk and VTK
|
Industrial radiography or Radiographic Testing (RT) is a method of non-destructive testing where many
types of manufactured components can be examined to verify the internal structure and integrity of
the specimen.
The computer program aRTist
can generate synthetic radiographs from a virtual RT test set-up.
In the field of industrial radiology simulation is used, e.g. to optimize techniques for complex
applications, to support the preparation of written procedures, and for education purposes.
The simulator aRTist combines analytical and Monte Carlo methods to efficiently model the radiation transport.
The program comes with a graphical user interface written in Tcl/Tk.
In combination of Tcl/Tk and the 3D capabilities of the visualization toolkit (VTK) a practical and
convenient simulator has been realized.
This will be illustrated by discussing application scenarios of classical radiography,
X-ray computer tomography, and X-ray backscatter imaging.
Additionally, some insight to the software implementation of the simulator will be given.
|
Leonid Vovchuk
|
Tcl as automation tool in mechanical calculations
|
FEM-based engineering calculations include many routine operations, which create great scope for automation.
This is especially actual for serials calculations like optimization, where automation increases the number
of tested configurations and thus the quality of accepted decisions, even without use of optimization algorithms.
Tcl proved itself as a convenient tool to automate various external applications
and to write own specialized applications. A meta language for Patran Command Language
was implemented as a Tcl package, which adds visibility and flexibility to work with this popular pre- and postprocessor.
The native link of Tcl to C with the possibility of embedding of C-level data and methods
bring the necessary performance when dealing with large amounts of data, which is important,
for example, in calculating of derived results during posttreatment.
Finally, a set of Tcl packages and applications is demonstrated which manage
a whole cycle of calculations from model creation to archiving and disposal.
|
Steve Shaw
|
HammerDB, load testing and benchmarking databases with Tcl/Tk
|
HammerDB is a graphical open source database
load testing and benchmarking tool hosted on sourceforge.
Originally called Hammerora for Oracle Database this tool has grown to support
Microsoft SQL Server, IBM DB2, MySQL, PostgreSQL and others with pre-compiled
packages available for Windows and Linux platforms.
Written in Tcl using Tcl database extensions and TDBC, HammerDB has become the
industry standard tool for simulating industry standard database benchmarks with
hundreds of published white papers and benchmarks.
This session introduces HammerDB from a Tcl development perspective and in particular
how the Tcl threading model has enabled the building of an application that drives
database performance to many millions of transactions per minute.
It covers how Tcl is used to build database schemas, run and monitor workloads and
capture and analyse performance metrics.
Details are given on the Tcl extensions and packages used and any modifications made
as well as the development challenges of growing from working with one database to
multiple database platforms.
Looking ahead there are plans to add support for additional databases and workloads
with many new Tcl database extensions now available.
|
Alexandru Dadalau
|
Mechanical Simulations with Tcl/Tk
|
Finite Element Analysis (FEA) software is usually a heavy software with tens of GB installation footprint.
We demonstrate how Tcl/Tk and C can be used to create a very lightweight and portable FEA software
for simulating component oriented, highly configurable and parametric mechanical assemblies.
|
Nathan Coulter
|
An Event Loop For Coroutines
|
The built-in Tcl event loop, implemented in C, runs in a tight loop,
processing events placed into its queues by various resource schedulers.
A similar system is implemented in Tcl using a coroutine that acts as a
trampoline, taking itself off the stack each time it processes an item in
its queues.
This scheduler was factored out of {ycl coro relay} and generalized to facilitate reuse.
|
Arjen Markus
|
Work-in-Progress: Renewal of a tutorial
|
More than 10 years ago David Welton, Neil Madden and I among others converted the
interactive tutorial as developed and maintained by Clif Flynt into a
non-interactive online version.
The idea was that this would make it easier to maintain it and as it was
directly online, it would be easier for people to access it.
This is partly true - it is visible - but it is also not actively maintained.
Since then, Tcl has undergone quite some development - think coroutines and TclOO
but also TDBC and Critcl. We have seen many developments in the computing landscape
as well. It is time for a renewal: expose those new features and show users how Tcl
fits nicely in today's world.
Take a look at the current status of the tutorial.
|
Arjen Markus
|
Work-in-Progress: MathemaTcl
|
Extending Tcl by compiled libraries is relatively easy, especially if you do it
on an ad hoc basis. It becomes a bit more cumbersome if you intend to make packages
that can be widely used - you need to deal with distribution issues and the
idiosyncracies of all the platforms and operating systems people use.
The Tcl Extension Architecture is one solution, but it does not quite fit the
MS Windows system and it does not cater for, say, Fortran libraries.
The goal of MathemaTcl is to make (classical) mathematical/numerical libraries
such as LAPACK or QUADPACK available to Tcl programmers, in such a manner that:
- the interface is "natural" for Tcl
- the packages are available at minimum expense -
merely run a build/install script and eh presto! you are up and running
- you can use the packages on "any" platform
But most importantly, it provides a wealth of libraries for all manner of
mathematical and numerical tasks.
|
Donal Fellows
|
TclQuadcode Status
|
No abstract available.
|
Donal Fellows
|
State and Future of Tcl
|
No abstract available.
|
Adrien Peulvast
|
RBC (BLT) and canvas use for metro system testing and simulation
|
No abstract available.
|
Han The
|
IPEnv. A Tcl/Tk-based integrated programming environment
|
IPEnv is a Tcl/Tk-based integrated programming environment.
It comprises a file manager, a multilingual editor (Tcl/Tk, C++, html/css/js),
a fully-enabled console, and gives access to several tools and utilities.
"Tcl/Tk-based" does not mean that it is written in Tcl/Tk.
It refers to the console in the first place, which has been developed
to a mature shell, merging Tcl/Tk into the Windows OS environment.
This includes running Tcl/Tk processes in the background, redirecting Tcl output,
and the ability to interrupt processes, both external and Tcl.
Moreover, IPEnv has implemented several Tcl extensions, such as Tktable,
TkHtml, TclCurl, Thread, and TclMagick to offer additional functionality.
IPEnv is a truly innovative environment.
There are several goodies that will be demonstrated during the talk.
|
|
|