Impact - A Modelica Package Manager. Tiller, M. & Winkler, D. In Tummescheit, H. & Årzén, K., editors, Proceedings of the 10th International Modelica Conference, pages 543–548, Lund, Sweden, March, 2014. Linköping University Electronic Press, Linköpings universitet.
doi  abstract   bibtex   
To manage complexity, modern programming languages use organizational units to group code related by some common purpose. Depending on the programming language, these units might be called libraries, packages or modules. But they all attempt to encapsulate functionality to promote modular code and reusability. For the remainder of this paper, we will simply refer to these organizational units as packages (as they are called in Modelica). Also common to many modern programming languages are tools to manage these packages. These tools are generally called package managers and they allow developers to quickly ``fetch'' any packages they may need for a given project. The main functions of package managers are to allow developers to search, install, update and uninstall packages with a simple command-line or graphical interface. In the Java world, the most common package manager is maven. For Python, tools like easy_install and pip are used for managing packages. For clientside web development, bower is used. For serverside JavaScript, the tool of choice is npm. For compiled languages, these package managers often include some additional build functionality as well. This paper introduces impact, a package manager for Modelica. Using impact, Modelica users and developers can quickly search for, install and update Modelica libraries. In this paper, we will discuss the functionality provided by impact. In addition, we will discuss how the functionality was implemented. As part of this we will discuss the importance of collaborative platforms, like GitHub in our case, for providing a means for collecting, curating and distributing packages within a community of developers. The impact package manager is provided to the Modelica community as a free, open-source tool. Furthermore, the protocols involved are all documented and we encourage tool vendors to integrate them into their own tools so they can provide the same searching, updating and installation capabilities that the command-line tool provides.
@inproceedings{Tiller2014,
  title = {Impact - {{A Modelica Package Manager}}},
  booktitle = {Proceedings of the 10th {{International Modelica Conference}}},
  author = {Tiller, Michael and Winkler, Dietmar},
  editor = {Tummescheit, Hubertus and {\AA}rz{\'e}n, Karl-Erik},
  year = {2014},
  month = mar,
  pages = {543--548},
  publisher = {Link{\"o}ping University Electronic Press, Link{\"o}pings universitet},
  address = {Lund, Sweden},
  doi = {10.3384/ecp14096543},
  abstract = {To manage complexity, modern programming languages use organizational units to group code related by some common purpose. Depending on the programming language, these units might be called libraries, packages or modules. But they all attempt to encapsulate functionality to promote modular code and reusability. For the remainder of this paper, we will simply refer to these organizational units as packages (as they are called in Modelica). Also common to many modern programming languages are tools to manage these packages. These tools are generally called package managers and they allow developers to quickly ``fetch'' any packages they may need for a given project. The main functions of package managers are to allow developers to search, install, update and uninstall packages with a simple command-line or graphical interface. In the Java world, the most common package manager is maven. For Python, tools like easy\_install and pip are used for managing packages. For clientside web development, bower is used. For serverside JavaScript, the tool of choice is npm. For compiled languages, these package managers often include some additional build functionality as well. This paper introduces impact, a package manager for Modelica. Using impact, Modelica users and developers can quickly search for, install and update Modelica libraries. In this paper, we will discuss the functionality provided by impact. In addition, we will discuss how the functionality was implemented. As part of this we will discuss the importance of collaborative platforms, like GitHub in our case, for providing a means for collecting, curating and distributing packages within a community of developers. The impact package manager is provided to the Modelica community as a free, open-source tool. Furthermore, the protocols involved are all documented and we encourage tool vendors to integrate them into their own tools so they can provide the same searching, updating and installation capabilities that the command-line tool provides.},
  keywords = {dependency management,GitHub,Modelica,package manager,Python},
  annotation = {ISSN (print):1650-3686 ISSN (online):1650-3740},
  file = {/home/dietmarw/FoU/Publications/zotero/storage/CQ49M2QB/ecp14096057.pdf}
}

Downloads: 0