Darpan Saini

Darpan Saini

Austin, Texas, United States
4K followers 500+ connections

About

App0 is an AI-Agent platform that empowers businesses to create the most incredible…

Activity

Join now to see all activity

Experience

  • App0 Graphic

    App0

    Austin, Texas, United States

  • -

    Austin, Texas, United States

  • -

    Austin, Texas, United States

  • -

  • -

    San Francisco Bay Area

  • -

  • -

Education

Publications

  • A Theory of Typestate Oriented Programming

    In Proceedings of Formal Techniques for Java-like Programs (FTfJP) 2010

    Engineers in many disciplines use state machines to reason about system changes, and many object-oriented libraries require their clients to follow state machine protocols. No existing language, however, has native support for state machines, and programmers often lose productivity and introduce errors when trying to understand and follow interaction protocols. The Plaid language extends the object paradigm with explicit states and state transitions, in order to better model object state…

    Engineers in many disciplines use state machines to reason about system changes, and many object-oriented libraries require their clients to follow state machine protocols. No existing language, however, has native support for state machines, and programmers often lose productivity and introduce errors when trying to understand and follow interaction protocols. The Plaid language extends the object paradigm with explicit states and state transitions, in order to better model object state transitions. In this paper, we present Plaidcore, a core calculus for Plaid, which uses states and permissions to statically guarantee that clients use object protocols correctly??.

    Other authors
  • CAMEL: A Tool for Distributed Software Design Meetings

    In Proceedings of The International Conference on Global Software Engineering (ICGSE) 2009

    Abstract—Software design activities require rich communication channels where developers can exchange information in multiple ways. It is well established that geographic distribution impacts negatively on the effectiveness of design meetings. In this paper, we present a tool for supporting virtual software design meetings. The features of the tool address four fundamental challenges identified from the literature: (1) information sharing, conflict resolution and development of consensus among…

    Abstract—Software design activities require rich communication channels where developers can exchange information in multiple ways. It is well established that geographic distribution impacts negatively on the effectiveness of design meetings. In this paper, we present a tool for supporting virtual software design meetings. The features of the tool address four fundamental challenges identified from the literature: (1) information sharing, conflict resolution and development of consensus among geographically distributed designers, (2) availability of sufficient and organizable drawing surfaces for graphical representations, (3) developing shared understanding and managing focus during the discussion and (4) appropriate capturing and storing of all design-relevant information.

    Other authors
  • Documenting Software Architectures: Views and Beyond 2nd Edition

    Addison Wesley

    Exemplar architecture based on https://wiki.sei.cmu.edu/sad/index.php/The_Adventure_Builder_SAD

    Other authors
    • Paul Clements et. al.
  • Typestate-Oriented Programming

    In Proceedings of Onward!, 2009

    Objects model the world, and state is fundamental to a faithful modeling. Engineers use state machines to understand and reason about state transitions, but programming languages provide little support for reasoning about or implementing these state machines, causing software defects and lost productivity when objects are misused. We propose Typestate-Oriented Programming as a natural extension to the object paradigm, where objects are modeled not just in terms of classes, but in terms of…

    Objects model the world, and state is fundamental to a faithful modeling. Engineers use state machines to understand and reason about state transitions, but programming languages provide little support for reasoning about or implementing these state machines, causing software defects and lost productivity when objects are misused. We propose Typestate-Oriented Programming as a natural extension to the object paradigm, where objects are modeled not just in terms of classes, but in terms of changing states. Each state may have its own representation and methods which may transition the object into a new state. A flow-sensitive, permission-based type system helps developers track which state objects are in. First-class typestates are a powerful abstraction that will help developers model and reuse objects more efficiently and correctly.

    Other authors

More activity by Darpan

View Darpan’s full profile

  • See who you know in common
  • Get introduced
  • Contact Darpan directly
Join to view full profile

Other similar profiles

Explore collaborative articles

We’re unlocking community knowledge in a new way. Experts add insights directly into each article, started with the help of AI.

Explore More

Others named Darpan Saini