Karen Rudie

80 papers B 2C 12Misc 1Journal 42Unranked 23
YearRankTypeTitle / Venue / Authors
2025 J jnl
J. Syst. Sci. Complex.
Shoma Matsui, Karen Rudie, Kai Cai
2025 conf
CDC
Bryony H. Laporte, Karen Rudie
2024 J jnl
Autom.
K. Ritsuka, Karen Rudie
2024 conf
ACL (1)
Will Aitken, Mohamed Abdalla, Karen Rudie, Catherine Stinson
2024 C conf
ACC
Shoma Matsui, Kai Cai, Karen Rudie
2024 J jnl
CoRR
Shoma Matsui, Kai Cai, Karen Rudie
2024 C conf
ACC
Bryony H. Schonewille, Karen Rudie
2024 C conf
ACC
Nick Mertin, Karen Rudie
2024 conf
CCECE
Cameron Bishop, Xiaodan Zhu, Karen Rudie
2024 C conf
ACC
Richard Hugh Moulton, Karen Rudie
2023 J jnl
CoRR
Will Aitken, Mohamed Abdalla, Karen Rudie, Catherine Stinson
2023 J jnl
Discret. Event Dyn. Syst.
K. Ritsuka, Karen Rudie
2022 J jnl
CoRR
Nick Mertin, K. Ritsuka, Karen Rudie
2022 J jnl
CoRR
K. Ritsuka, Karen Rudie
2022 J jnl
IEEE Control. Syst. Lett.
Stavros Tripakis, Karen Rudie
2022 J jnl
Discret. Event Dyn. Syst.
Michel R. C. Alves, Patrícia N. Pena, Karen Rudie
2022 conf
CDC
Bryony H. Schonewille, Richard Hugh Moulton, Karen Rudie
2022 J jnl
Discret. Event Dyn. Syst.
K. Ritsuka, Karen Rudie
2022 J jnl
CoRR
K. Ritsuka, Karen Rudie
2022 J jnl
Annu. Rev. Control.
Richard Hugh Moulton, Karen Rudie
2022 C conf
ACC
Richard Hugh Moulton, Stephen H. Scott, Karen Rudie
2022 J jnl
Discret. Event Dyn. Syst.
Richard Hugh Moulton, Behnam Behinaein Hamgini, Zahra Abedi Khouzani, Rômulo Meira-Góes, Fei Wang, Karen Rudie
2021 conf
CDC
K. Ritsuka, Karen Rudie
2021 J jnl
CoRR
Stavros Tripakis, Karen Rudie
2021 J jnl
CoRR
K. Ritsuka, Karen Rudie
2021 J jnl
CoRR
Richard Hugh Moulton, Behnam Behinaein Hamgini, Zahra Abedi Khouzani, Rômulo Meira-Góes, Fei Wang, Karen Rudie
2020 J jnl
CoRR
Richard Hugh Moulton, Anthony J. Marasco, Karen Rudie
2019 J jnl
Discret. Event Dyn. Syst.
Francis Atampore, Juergen Dingel, Karen Rudie
2019 J jnl
IEEE Trans Autom. Sci. Eng.
Behnam Behinaein, Feng Lin, Karen Rudie
2018 J jnl
Discret. Event Dyn. Syst.
David Sears, Karen Rudie
2018 J jnl
IEEE ACM Trans. Comput. Biol. Bioinform.
Behnam Behinaein, Karen Rudie, Waheed Sangrar
2018 J jnl
Annu. Rev. Control.
W. M. Wonham, Kai Cai, Karen Rudie
2017 J jnl
IEEE Trans. Autom. Control.
Swapan Sikdar, Sidney Givigi, Karen Rudie
2017 J jnl
Discret. Event Dyn. Syst.
Md Tawhid Bin Waez, Andrzej Wasowski, Juergen Dingel, Karen Rudie
2016 conf
WODES
Francis Atampore, Juergen Dingel, Karen Rudie
2016 J jnl
Discret. Event Dyn. Syst.
David Sears, Karen Rudie
2015 B conf
VMCAI
Md Tawhid Bin Waez, Andrzej Wasowski, Juergen Dingel, Karen Rudie
2015 J jnl
IEEE Trans. Autom. Control.
Sarah-Jane Whittaker, Karen Rudie, P. James Mclellan
2014 conf
CCECE
Swapan Sikdar, Karen Rudie
2014 J jnl
Sci. Comput. Program.
Anthony Auer, Jürgen Dingel, Karen Rudie
2014 conf
CDC
David Sears, Karen Rudie
2014 conf
CCECE
Behnam Behinaein, Karen Rudie, Waheed Sangrar
2014 conf
FACS
Md Tawhid Bin Waez, Andrzej Wasowski, Jürgen Dingel, Karen Rudie
2013 J jnl
Comput. Sci. Rev.
Md Tawhid Bin Waez, Jürgen Dingel, Karen Rudie
2013 conf
CDC
David Sears, Karen Rudie
2013 conf
CDC
David Sears, Karen Rudie
2013 J jnl
Discret. Event Dyn. Syst.
Creag Winacott, Behnam Behinaein, Karen Rudie
2011 J jnl
Electron. Commun. Eur. Assoc. Softw. Sci. Technol.
Nicolas Chausse, Helen Xu, Jürgen Dingel, Karen Rudie
2011 J jnl
Discret. Event Dyn. Syst.
Lenko Grigorov, Brian E. Butler, José E. R. Cury, Karen Rudie
2011 C conf
ACC
Lenko Grigorov, Karen Rudie
2010 C conf
CIAA
Karen Rudie
2010 conf
WODES
Sarah-Jane Whittaker, Karen Rudie, P. James Mclellan, Stefan Haar
2010 conf
WODES
Lenko Grigorov, Karen Rudie
2009 conf
C3S2E
Jürgen Dingel, Karen Rudie, Christopher Dragert
2009 conf
Allerton
Sarah-Jane Whittaker, Karen Rudie, P. James Mclellan, Stefan Haar
2009 conf
Allerton
Anthony Auer, Juergen Dingel, Karen Rudie
2009 conf
Allerton
Creag Winacott, Karen Rudie
2008 J jnl
IEEE Trans. Autom. Control.
Ying Huang, Karen Rudie, Feng Lin
2008 C conf
ACC
Lenko Grigorov, José Eduardo Ribeiro Cury, Karen Rudie
2008 C conf
ACC
Thomas Brunsch, Karen Rudie
2008 conf
SIGSOFT FSE
Christopher Dragert, Jürgen Dingel, Karen Rudie
2008 J jnl
Discret. Event Dyn. Syst.
Sarah-Jane Whittaker, Karen Rudie
2008 Misc conf
SAC
Lenko Grigorov, Karen Rudie, José E. R. Cury, Steffi Klinge
2008 B conf
ARES
Sarah-Jane Whittaker, Mohammad Zulkernine, Karen Rudie
2007 J jnl
Central Eur. J. Oper. Res.
Stéphane Blouin, Martin Guay, Karen Rudie
2007 J jnl
IEEE Trans. Autom. Control.
S. Laurie Ricker, Karen Rudie
2007 J jnl
IEEE Trans. Autom. Control.
Feng Lin, Karen Rudie, Stéphane Lafortune
2006 C conf
ACC
Ying Huang, Karen Rudie, Feng Lin
2006 J jnl
Discret. Event Dyn. Syst.
Lenko Grigorov, Karen Rudie
2003 conf
ADHS
Stéphane Blouin, Martin Guay, Karen Rudie
2003 C conf
ACC
S. Laurie Ricker, Karen Rudie
2003 J jnl
IEEE Trans. Autom. Control.
Karen Rudie, Stéphane Lafortune, Feng Lin
2002 conf
CDC
Ekaterina S. Lemch, Martin Guay, Karen Rudie
2001 C conf
ACC
Stéphane Blouin, Martin Guay, Karen Rudie
2000 conf
CDC
S. Laurie Ricker, Karen Rudie
2000 J jnl
IEEE Trans. Autom. Control.
S. Laurie Ricker, Karen Rudie
2000 J jnl
IEEE Trans. Control. Syst. Technol.
Gino Labinaz, Mohamed M. Bayoumi, Karen Rudie
1996 J jnl
Robotica
S. Laurie Ricker, Nilanjan Sarkar, Karen Rudie
1995 J jnl
IEEE Trans. Autom. Control.
Karen Rudie, Jan C. Willems
1990 conf
PSTV
Karen Rudie, Walter Murray Wonham
s3-storage/s3_test.py
← Index s3-storage/s3_test.py python
#!/usr/bin/env python3
"""
Simple script to test S3 connectivity and download.
Usage: python s3_test.py
"""

import os
import time
import tempfile
from minio import Minio
from minio.error import S3Error
from dotenv import load_dotenv

# Load environment variables
load_dotenv()

def get_minio_client():
    """Create and return a Minio client using credentials from .env file"""
    endpoint = os.getenv("S3_ENDPOINT")
    access_key = os.getenv("S3_ACCESS_KEY")
    secret_key = os.getenv("S3_SECRET_KEY")
    secure = True 
    
    print(f"Connecting to S3 endpoint: {endpoint} (secure={secure})")
    
    return Minio(
        endpoint=endpoint,
        access_key=access_key,
        secret_key=secret_key,
        secure=secure
    )

def test_connection():
    """Test basic connectivity to S3"""
    try:
        client = get_minio_client()
        
        # Try to list buckets as a basic connectivity test
        buckets = client.list_buckets()
        print(f"Successfully connected to S3. Found {len(buckets)} buckets:")
        for bucket in buckets:
            print(f"  - {bucket.name}")
        
        return client
    except Exception as e:
        print(f"Failed to connect to S3: {e}")
        return None

def test_bucket_access(client, bucket_name):
    """Test access to a specific bucket"""
    try:
        exists = client.bucket_exists(bucket_name)
        if exists:
            print(f"Bucket '{bucket_name}' exists and is accessible")
            
            # List a few objects to verify access
            count = 0
            objects = []
            for obj in client.list_objects(bucket_name, recursive=True):
                print(f"  - {obj.object_name} ({obj.size} bytes)")
                objects.append(obj)
                count += 1
                if count >= 5:
                    break
            
            print(f"Found at least {len(objects)} objects in bucket")
            return objects
        else:
            print(f"Bucket '{bucket_name}' does not exist or is not accessible")
            return []
    except Exception as e:
        print(f"Error accessing bucket '{bucket_name}': {e}")
        return []

def test_download(client, bucket_name, object_name):
    """Test downloading a specific object"""
    try:
        print(f"Attempting to download: {object_name}")
        start_time = time.time()
        
        # Create a temporary file to store the downloaded object
        with tempfile.NamedTemporaryFile(delete=False) as temp_file:
            temp_path = temp_file.name
        
        # Download the object
        client.fget_object(bucket_name, object_name, temp_path)
        
        # Check if the file was downloaded successfully
        file_size = os.path.getsize(temp_path)
        elapsed_time = time.time() - start_time
        
        print(f"Download successful: {file_size} bytes in {elapsed_time:.2f} seconds")
        print(f"Average download speed: {file_size/elapsed_time/1024:.2f} KB/s")
        
        # Clean up
        os.unlink(temp_path)
        return True
    except S3Error as e:
        print(f"S3 Error during download: {e}")
        return False
    except Exception as e:
        print(f"Error downloading object: {e}")
        return False

def main():
    """Main function to run all tests"""
    print("=== S3 Connectivity Test ===")
    
    # Test basic connectivity
    client = test_connection()
    if not client:
        return
    
    # Get bucket name from environment variable
    bucket_name = "redb"
    print(f"\n=== Testing Access to Bucket: {bucket_name} ===")
    objects = test_bucket_access(client, bucket_name)
    
    if objects:
        # Test downloading the first object
        first_object = objects[0].object_name
        print(f"\n=== Testing Download of Object: {first_object} ===")
        test_download(client, bucket_name, first_object)
        
        # If the first one worked, let's try a specific file from the error log
        print(f"\n=== Testing Download of Specific Object ===")
        specific_object = "00/06/00062073114defac39cb7ab9cb99a0b77c535a09a241c60d47ddd0b6431629f1.zip"
        test_download(client, bucket_name, specific_object)

if __name__ == "__main__":
    main()