pyswarm

From UML model to Python server
About | News | Download | Documentation | Mailing Lists | Forums | Bugs & Features | Help Wanted | Roadmap | Subversion | @SourceForge

About the project's goals

pyswarm is planned to be a holistic set of model-driven software development tools focussed on the easy creation of powerful and business logic enriched applications in the field of Web- and data-centric solutions for industry, public sector and non-profit organizations. The generated software systems are implemented in Python and data is stored in PostgreSQL databases, so they can be hosted on almost any platform. The generated applications will be optimally customizable to the needs of organizations and their users and can be adopted with ease to future changes.

Data sheet

Following you see an overview of existing features. For planned key features, please see the roadmap.

MDSD approachMDA-like
Generator categoryactive (build and maintain code in long-term and multiple cycles)
Input sourceUML models stored as XMI files
Diagram typesImplementation Diagrams, Class Diagrams
UML versionUML 2.0
XMI versionXMI 2.1
Supported UML CASE toolsMagicDraw 11.0 (Community Edition). Additional tools appreciated (your help needed!).
Generated resultsServer application's source code
Progamming languagePython 2.4.2
Database Management SystemPostgreSQL 8.1
Supported platformsAlmost any (thanks to Python, PostgreSQL)
Business elementsSystem, Node (=Host), Sub-Package, Logic-Component, Database-Component, Entity/Zone Class, Collection/Collector Class, Enumeration Class, Datatype-type Attribute, Enumeration-type Attribute, Association, Operation, Association Role, External Package, External Module
Specification elementsStereotypes, Tag-Definitions, Datatypes, Packages, Components, Classes, Enumerations, Associations, Compositions, Visibility (partially), Dependency, Import Dependency (Python-specific)
Runtime-environmentserve (required), shared (optional)
Methods generated?YES. «pyswarm.logic.auto» tagged with one of three different modes (create, modify, destroy) for fully automatical generation of method implementation.
Preserves manual method implementation?YES. «pyswarm.logic.taboo» makes the generator to insert source code provided by you in a taboo directory to be automatically inserted into generated method stub with-out modification except of an additional intendation (4 spaces!)
Object-relational mapping?YES

Origin of the project

Development of pyswarm has been started at the HATZIS Edelstahlbearbeitung GmbH. HATZIS is a family-owned and med-sized steel-engineering company in Bavaria, Germany, which provides to more than 300 companies construction and production services for highest quality components made of stainless steel. The stable growth during the past years, and the measurements on behalf of new business fields, adviced the company to take a further step in its information technology usage.

Since the company's success heavily bases on highly customized solutions around stainless steel components, also the processes and requirements are too individual to be supported by standard software from the shelf. On the other hand individual software development was considered to be too expensive and risky. Thus model-driven software-development has been the approach of choice, enabling very individual applications in a short time and with low budget. Since it was hard to find a MDSD technology on the market, specialized for the team-work of Python and PostgreSQL, and Anastasios Hatzis brought some MDSD know-how into the company, so the decision has been made to start an open-source project named "OpenSwarm" under Free Software licenses. It became today's pyswarm project.

In January 2007 the Free Software Foundation Europe became legal guardian of the pyswarm project.


About | News | Download | Documentation | Mailing Lists | Forums | Bugs & Features | Help Wanted | Roadmap | Subversion | @SourceForge
SourceForge.net Logo Python Logo PostgreSQL Powered Logo

$Id: about.html 464 2007-03-06 13:29:16Z ahatzis $