A web-based repository for storing, sharing and analyzing DECLARE process models.
Declare Repository is a comprehensive platform designed to facilitate the storage, sharing, and analysis of declarative process models expressed in DECLARE notation. The repository aims to promote model reuse and enable benchmarking capabilities within the declarative process modeling community.
-
Model Management
- Upload and store DECLARE process models in multiple formats (.decl, .txt, .png)
- Browse and search stored models
- Filter models based on various metrics and characteristics
- Download models for reuse
-
Metric Analysis
- Automatic calculation of key metrics:
- Size
- Density
- Constraint Variability
- Number of Activities
- Number of Constraints
- Separability
- Semantic Redundancy
- Consistency
- Purpose
- Application Domain
- Automatic calculation of key metrics:
-
API Integration
- RESTful API for programmatic access
- Comprehensive API documentation via Swagger UI
- Secure authentication and authorization
- Frontend: Next.js, React
- Backend: Next.js API routes
- Database: MongoDB
- Cloud Services:
- AWS S3 for file storage
- AWS EC2 for metric computation
- Deployment: Vercel
- Node.js 14.x or higher
- MongoDB
- AWS account for S3 and EC2 services
- Clone the repository:
git clone https://github.com/yourusername/declare-repo.git
- Install dependencies:
cd declare-repo
npm install
- Configure environment variables:
cp .env.example .env.local
Edit .env.local
with your configuration values
- Run the development server:
npm run dev
- Visit https://declare-repo.vercel.app/
- Register an account to upload and manage models
- Browse existing models or upload new ones
- Use the filtering system to find specific models
- Download models or analyze their metrics
Full API documentation is available at https://declare-repo.vercel.app/api-docs
- Chrome 64+
- Edge 79+
- Firefox 67+
- Opera 51+
- Safari 12+
🎉 Official Release Date: January 16, 2025 🎉
The Declare Repository was officially released on January 16, 2025. Since then, it has been empowering the declarative process modeling community with tools for efficient storage, sharing, and analysis of DECLARE process models. Explore the platform, contribute to its growth, and make the most of this innovative repository!
We welcome contributions to improve the Declare Repository. Please follow these steps:
- Fork the repository
- Create a feature branch
- Commit your changes
- Push to the branch
- Open a Pull Request
This project is licensed under the Apache 2.0 License - see the LICENSE file for details.
For questions and support, please open an issue in the GitHub repository.
This project was developed as part of a Master's thesis at the Section for Software Systems Engineering, Department of Applied Mathematics and Computer Science, at the Technical University of Denmark (DTU).
Project Supervisors:
- Andrey Rivkin - Assistant Professor (Tenure track), Section for Software Systems Engineering, Department of Applied Mathematics and Computer Science, Technical University of Denmark
- Ekkart Kindler - Associate Professor, Section for Software Systems Engineering, Department of Applied Mathematics and Computer Science, Technical University of Denmark
Their invaluable guidance, thoughtful feedback, and dedicated support during weekly meetings were instrumental in shaping this research and ensuring its successful completion.