{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "// @file:Repository(\"*mavenLocal\")\n", "\n", "%useLatestDescriptors on\n", "\n", "%use kalasim(0.7.95)\n", "\n", "import org.kalasim.*" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "// :classpath" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "enum class ShiftID { A, B, WeekEnd }\n", "\n", "val shiftModel = sequence {\n", " while(true) {\n", " repeat(5) { yield(ShiftID.A); yield(ShiftID.B) }\n", " yield(ShiftID.WeekEnd)\n", " }\n", "}\n", "\n", "class ShiftManager : Component() {\n", " val shiftIt = shiftModel.iterator()\n", "}\n", "\n", "abstract class CallCenter(val arrivalRate: Double = 0.2, logEvents: Boolean = true) : Environment(logEvents) {\n", " abstract val shiftManager :ShiftManager\n", "}" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "time current receiver action info \n", "--------- --------------------- --------------------- ------------------------------------------------------ ----------------------------------\n", ".00 main Created\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Line_6$ShiftManager: method 'void ()' not found\r\n", "java.lang.NoSuchMethodError: Line_6$ShiftManager: method 'void ()' not found\r\n", "\tat Line_7$SimpleCenter.(Line_7.jupyter-kts:2)\r\n", "\tat Line_7.(Line_7.jupyter-kts:5)\r\n", "\tat java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)\r\n", "\tat java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)\r\n", "\tat java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)\r\n", "\tat java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)\r\n", "\tat kotlin.script.experimental.jvm.BasicJvmScriptEvaluator.evalWithConfigAndOtherScriptsResults(BasicJvmScriptEvaluator.kt:100)\r\n", "\tat kotlin.script.experimental.jvm.BasicJvmScriptEvaluator.invoke$suspendImpl(BasicJvmScriptEvaluator.kt:47)\r\n", "\tat kotlin.script.experimental.jvm.BasicJvmScriptEvaluator.invoke(BasicJvmScriptEvaluator.kt)\r\n", "\tat kotlin.script.experimental.jvm.BasicJvmReplEvaluator.eval(BasicJvmReplEvaluator.kt:49)\r\n", "\tat org.jetbrains.kotlinx.jupyter.repl.impl.InternalEvaluatorImpl$eval$resultWithDiagnostics$1.invokeSuspend(InternalEvaluatorImpl.kt:99)\r\n", "\tat kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)\r\n", "\tat kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)\r\n", "\tat kotlinx.coroutines.EventLoopImplBase.processNextEvent(EventLoop.common.kt:274)\r\n", "\tat kotlinx.coroutines.BlockingCoroutine.joinBlocking(Builders.kt:85)\r\n", "\tat kotlinx.coroutines.BuildersKt__BuildersKt.runBlocking(Builders.kt:59)\r\n", "\tat kotlinx.coroutines.BuildersKt.runBlocking(Unknown Source)\r\n", "\tat kotlinx.coroutines.BuildersKt__BuildersKt.runBlocking$default(Builders.kt:38)\r\n", "\tat kotlinx.coroutines.BuildersKt.runBlocking$default(Unknown Source)\r\n", "\tat org.jetbrains.kotlinx.jupyter.repl.impl.InternalEvaluatorImpl.eval(InternalEvaluatorImpl.kt:99)\r\n", "\tat org.jetbrains.kotlinx.jupyter.repl.impl.CellExecutorImpl$execute$1$result$1.invoke(CellExecutorImpl.kt:64)\r\n", "\tat org.jetbrains.kotlinx.jupyter.repl.impl.CellExecutorImpl$execute$1$result$1.invoke(CellExecutorImpl.kt:63)\r\n", "\tat org.jetbrains.kotlinx.jupyter.ReplForJupyterImpl.withHost(repl.kt:603)\r\n", "\tat org.jetbrains.kotlinx.jupyter.repl.impl.CellExecutorImpl.execute(CellExecutorImpl.kt:63)\r\n", "\tat org.jetbrains.kotlinx.jupyter.repl.CellExecutor$DefaultImpls.execute$default(CellExecutor.kt:13)\r\n", "\tat org.jetbrains.kotlinx.jupyter.ReplForJupyterImpl$evalEx$1.invoke(repl.kt:423)\r\n", "\tat org.jetbrains.kotlinx.jupyter.ReplForJupyterImpl$evalEx$1.invoke(repl.kt:412)\r\n", "\tat org.jetbrains.kotlinx.jupyter.ReplForJupyterImpl.withEvalContext(repl.kt:376)\r\n", "\tat org.jetbrains.kotlinx.jupyter.ReplForJupyterImpl.evalEx(repl.kt:412)\r\n", "\tat org.jetbrains.kotlinx.jupyter.ReplForJupyterImpl.eval(repl.kt:460)\r\n", "\tat org.jetbrains.kotlinx.jupyter.ProtocolKt$shellMessagesHandler$res$1.invoke(protocol.kt:291)\r\n", "\tat org.jetbrains.kotlinx.jupyter.ProtocolKt$shellMessagesHandler$res$1.invoke(protocol.kt:290)\r\n", "\tat org.jetbrains.kotlinx.jupyter.JupyterConnection$runExecution$execThread$1.invoke(connection.kt:166)\r\n", "\tat org.jetbrains.kotlinx.jupyter.JupyterConnection$runExecution$execThread$1.invoke(connection.kt:164)\r\n", "\tat kotlin.concurrent.ThreadsKt$thread$thread$1.run(Thread.kt:30)\r\n" ] } ], "source": [ "class SimpleCenter: CallCenter() {\n", " override val shiftManager = ShiftManager()\n", "}\n", "\n", "val sim = SimpleCenter()\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "sim.run(1000)" ] } ], "metadata": { "kernelspec": { "display_name": "Kotlin", "language": "kotlin", "name": "kotlin" }, "language_info": { "codemirror_mode": "text/x-kotlin", "file_extension": ".kt", "mimetype": "text/x-kotlin", "name": "kotlin", "nbconvert_exporter": "", "pygments_lexer": "kotlin", "version": "1.6.20-dev-6372" } }, "nbformat": 4, "nbformat_minor": 4 }