Clemens Szyperski

Clemens Szyperski

Bellevue, Washington, United States
3K followers 500+ connections

Activity

Experience

  • Microsoft Graphic

    Microsoft

    Redmond, Washington, United States

  • -

    Redmond, WA, USA

  • -

    Redmond, WA, USA

  • -

    Redmond, WA, USA

  • -

    Brisbane, QLD, Australia

  • -

    Zurich, Switzerland

  • -

    Berkeley, CA, USA

  • -

    Zurich, Switzerland

Education

Volunteer Experience

  • Meydenbauer Bay Yacht Club Graphic

    Board Member

    Meydenbauer Bay Yacht Club

    - Present 1 year 7 months

    Arts and Culture

    This is not a charity but a volunteer-run yacht club, although the club does engage in some charitable activities.

Publications

  • Software Ecosystem, MIT Press, 2003

    Cambridge, MA

    Software as a ware is a phenomenon that is mischaracterized when comparing it either to digital media (although software shares the virtual shape of digital encodings) or to traditional machines (although software shares many of the behavioral characteristics of machines). This book carves out that new niche populated uniquely by software, explores the many facets of ecosystems crosscut by software and their impact on other disciplines, including economy and regulation. Ultimately, the book's…

    Software as a ware is a phenomenon that is mischaracterized when comparing it either to digital media (although software shares the virtual shape of digital encodings) or to traditional machines (although software shares many of the behavioral characteristics of machines). This book carves out that new niche populated uniquely by software, explores the many facets of ecosystems crosscut by software and their impact on other disciplines, including economy and regulation. Ultimately, the book's aim is to encourage researchers in such cross-cutting disciplines to consider the unique nature of software when forming discipline theories meant to extend to software.

    Other authors
    • David Messerschmitt
    See publication
  • Component Software - Beyond Object-Oriented Programming, Addison-Wesley 1997 and 2002

    Reading, MA

    Componentization of software takes a middle ground between code-oriented technology, including OOP, and service-oriented encapsulation of operated entities. This book explores the spectrum of that middle ground, its unique tradeoffs and challenges.

    Other authors
    See publication

Patents

  • Transaction transforms

    Issued US 8275793

    A method and system for maintaining isolated data in an application is disclosed which data to be selectively isolated until a data client orders the changes to be committed or abandoned. A computer-readable medium for constructing an application capable of localized data isolation is also disclosed. An application specification is used to determine which data entities should be isolated, and one or more transaction transforms are implemented for each data entity to be isolated.

    Other inventors
    See patent
  • Observing and reporting changes in complex software dependencies

    Issued US 8214340

    An observation system includes mechanisms for efficiently tracking the state of source components, which include functions, arguments, or values, etc. In one implementation, an observing component requests that a source component processes a request. The observation system then identifies all possible components in a dependency chain for the request, and all such components that are configured for change notifications. A dependency registry stores a representation of each identified component…

    An observation system includes mechanisms for efficiently tracking the state of source components, which include functions, arguments, or values, etc. In one implementation, an observing component requests that a source component processes a request. The observation system then identifies all possible components in a dependency chain for the request, and all such components that are configured for change notifications. A dependency registry stores a representation of each identified component that is configured for change notifications. Any time any component configured for change notifications changes, including indirectly related components, the observing component can be immediately notified of the change, without having to reprocess the entire set of component dependencies.

    Other inventors
    See patent
  • Generic XAD processing model

    Issued US 8201147

    Embodiments are directed to dynamically building software applications and dynamically updating software applications based on changed data values. In one embodiment, a computer system receives an indication that a software application is to be initiated. The computer system also receives an application description including tags describing software objects that are to be included in the software application, automatically maps portions of the application description identified by the tags to…

    Embodiments are directed to dynamically building software applications and dynamically updating software applications based on changed data values. In one embodiment, a computer system receives an indication that a software application is to be initiated. The computer system also receives an application description including tags describing software objects that are to be included in the software application, automatically maps portions of the application description identified by the tags to software objects using reflection, where the reflecting includes accessing properties associated with the software objects, and automatically binds properties of the software objects to the portions of the application description based declarative rules included in the software object properties associated with the software object.

    Other inventors
    See patent
  • XML application framework

    Issued US 8132148

    The present invention relates to an XML application framework (XAF). XAF applications are data driven such that all operations with the computer system are data focused. In addition, the components used in the XAF application are instantiated and connected according to how the data is displayed and what type of data is used. Applications within XAF comprise a user interface (UI) connector, an action module, and a data connector. UI connectors receive UI events and connect the UI event to an…

    The present invention relates to an XML application framework (XAF). XAF applications are data driven such that all operations with the computer system are data focused. In addition, the components used in the XAF application are instantiated and connected according to how the data is displayed and what type of data is used. Applications within XAF comprise a user interface (UI) connector, an action module, and a data connector. UI connectors receive UI events and connect the UI event to an action module. The action module generates a standard format action from the UI event and sends it to the data connector. The data connector translates the standard format action into a data-specific action that changes data in a data store. A data connector then sends a standard format data representation corresponding to the changed data back to the UI connector to provide the changed data to the UI.

    Other inventors
    See patent
  • Iterative component binding

    Issued US 8108831

    Component domains used to define a binding between various components associated with the component domain. The component domain tracks the various services to be imported by each component, and tracks the various services exported by each component. At runtime, rather than at compile time, the various interrelations between the components are bound using the service import and export data. Accordingly, depending on the components available and their characteristics, the bindings may differ…

    Component domains used to define a binding between various components associated with the component domain. The component domain tracks the various services to be imported by each component, and tracks the various services exported by each component. At runtime, rather than at compile time, the various interrelations between the components are bound using the service import and export data. Accordingly, depending on the components available and their characteristics, the bindings may differ. This permits applications to be much more flexible. In one implementation, the binding is performed iteratively. For example, if after one iteration of binding service imports to service exports, some components may expand the services that they export, or the services that they desire to import.

    Other inventors
    See patent
  • Fully capturing outer variables as data objects

    Issued US 8060868

    Providing for read/write access to captured free variables expressed as environment data objects is disclosed herein. By way of example, free variables can be rewritten as a field of a private class, and accessed via an instance of the private class captured within the environment data object. In such a manner, no need of a placeholder or proxy function is required to access the free variable. Consequently, the subject innovation provides a simplified method for capturing free variables within…

    Providing for read/write access to captured free variables expressed as environment data objects is disclosed herein. By way of example, free variables can be rewritten as a field of a private class, and accessed via an instance of the private class captured within the environment data object. In such a manner, no need of a placeholder or proxy function is required to access the free variable. Consequently, the subject innovation provides a simplified method for capturing free variables within expression trees and providing read/write access to such variables.

    Other inventors
    See patent
  • XML application framework

    Issued US 8046737

    The present invention relates to an XML application framework (XAF). XAF applications are data driven such that all operations with the computer system are data focused. In addition, the components used in the XAF application are instantiated and connected according to how the data is displayed and what type of data is used. Applications within XAF comprise a user interface (UI) connector, an action module, and a data connector. UI connectors receive UI events and connect the UI event to an…

    The present invention relates to an XML application framework (XAF). XAF applications are data driven such that all operations with the computer system are data focused. In addition, the components used in the XAF application are instantiated and connected according to how the data is displayed and what type of data is used. Applications within XAF comprise a user interface (UI) connector, an action module, and a data connector. UI connectors receive UI events and connect the UI event to an action module. The action module generates a standard format action from the UI event and sends it to the data connector. The data connector translates the standard format action into a data-specific action that changes data in a data store. A data connector then sends a standard format data representation corresponding to the changed data back to the UI connector to provide the changed data to the UI.

    Other inventors
    See patent
  • Observing and reporting changes in complex software dependencies

    Issued US 7899798

    An observation system includes mechanisms for efficiently tracking the state of source components, which include functions, arguments, or values, etc. In one implementation, an observing component requests that a source component processes a request. The observation system then identifies all possible components in a dependency chain for the request, and all such components that are configured for change notifications. A dependency registry stores a representation of each identified component…

    An observation system includes mechanisms for efficiently tracking the state of source components, which include functions, arguments, or values, etc. In one implementation, an observing component requests that a source component processes a request. The observation system then identifies all possible components in a dependency chain for the request, and all such components that are configured for change notifications. A dependency registry stores a representation of each identified component that is configured for change notifications. Any time any component configured for change notifications changes, including indirectly related components, the observing component can be immediately notified of the change, without having to reprocess the entire set of component dependencies.

    Other inventors
    See patent
  • XML application framework

    Issued US 7886269

    An extensible markup language (XML) application framework (XAF) may be provided. XAF applications are data driven such that all operations with a computer system are data focused. In addition, the components used in the XAF application are instantiated and connected according to how data is displayed and what data type is used. Applications within XAF comprise a user interface (UI) connector, an action module, and a data connector. UI connectors receive UI events and connect the UI event to an…

    An extensible markup language (XML) application framework (XAF) may be provided. XAF applications are data driven such that all operations with a computer system are data focused. In addition, the components used in the XAF application are instantiated and connected according to how data is displayed and what data type is used. Applications within XAF comprise a user interface (UI) connector, an action module, and a data connector. UI connectors receive UI events and connect the UI event to an action module. The action module generates a standard format action from the UI event and sends it to the data connector. The data connector translates the standard format action into a data-specific action that changes data in a data store. A data connector then sends a standard format data representation corresponding to the changed data back to the UI connector to provide the changed data to the UI.

    Other inventors
    See patent
  • Consistently signaling state changes

    Issued US 7860900

    A signaling system of the present invention provides a synchronized approach to delivering, reporting, and/or otherwise processing status changes in a software dependency chain. In a first phase, the signaling system identifies all dependencies between software components, and further sets a binary indicator of each node in a first representation. After identifying any changes in a source node, the system (e.g., a value is updated), the system updates each binary indicator to a second setting…

    A signaling system of the present invention provides a synchronized approach to delivering, reporting, and/or otherwise processing status changes in a software dependency chain. In a first phase, the signaling system identifies all dependencies between software components, and further sets a binary indicator of each node in a first representation. After identifying any changes in a source node, the system (e.g., a value is updated), the system updates each binary indicator to a second setting. In a second phase, the system initiates all listeners in the dependency chain in an essentially progressive order from source node, to intermediate node, and end-node, etc. Once all listeners have had a chance to perform one or more processes based on the updated value, the system can discard the dependency graph, allowing a new dependency graph to be built for subsequent value changes.

    Other inventors
    See patent
  • Accessing and manipulating data in a data flow graph

    Issued US 7761586

    The present invention extends to methods, systems, and computer program products for accessing and manipulating data in a data flow graph. A data flow graph includes one more transforms for transforming data from one or more data stores into different formats accessible to clients. Transforms can be configured to join and split data from the same or different data stores. A metadata tree logically represents the data flow graph including locations that provide output from transforms of the data…

    The present invention extends to methods, systems, and computer program products for accessing and manipulating data in a data flow graph. A data flow graph includes one more transforms for transforming data from one or more data stores into different formats accessible to clients. Transforms can be configured to join and split data from the same or different data stores. A metadata tree logically represents the data flow graph including locations that provide output from transforms of the data flow graph. The locations can be referenced by clients to access transformed outputs. Clients can register dependencies on data at various locations and can request evaluation of the data in response to data changes at a corresponding data store. Clients can also request data changes be propagated back through the data flow graph to one or more data stores and implemented at the one or more data stores.

    Other inventors
    See patent
  • Entity domains

    Issued US 7680935

    Strategies are described for organizing the runtime components of an application into an entity domain framework. The entity domain framework includes one or more entity domains arranged in a hierarchical fashion. Each entity domain further groups one or more components together in a hierarchical fashion. Each entity domain can include one or more services that provide a policy to the components within the entity domain. Composite functionality couples the framework together, and further…

    Strategies are described for organizing the runtime components of an application into an entity domain framework. The entity domain framework includes one or more entity domains arranged in a hierarchical fashion. Each entity domain further groups one or more components together in a hierarchical fashion. Each entity domain can include one or more services that provide a policy to the components within the entity domain. Composite functionality couples the framework together, and further provides a bus-like mechanism whereby an entity can forward service requests up through the hierarchy until a domain is found that satisfies the requests. Exemplary services provided by the entity domain framework include lifetime management services, error handling services, and so forth. The hierarchical structure provides an efficient way of exposing functionality to groups of components that will share this functionality in a common context, without requiring costly and complex atomistic coupling of services to components or duplication of service instances.

    Other inventors
    See patent
  • Multithreading with concurrency domains

    Issued US 7581225

    Methods, systems and computer products are provided for partitioning software application components into separate domains called concurrency domains. Computationally expensive, slow or long-running methods may be deployed into such domains, thus keeping the associated application more responsive to the end user. According to one aspect of the invention, a given concurrency domain is a partition of runtime objects for providing synchronization and thread isolation within the partition and for…

    Methods, systems and computer products are provided for partitioning software application components into separate domains called concurrency domains. Computationally expensive, slow or long-running methods may be deployed into such domains, thus keeping the associated application more responsive to the end user. According to one aspect of the invention, a given concurrency domain is a partition of runtime objects for providing synchronization and thread isolation within the partition and for providing concurrency with other such partitions in a data-driven dynamically composed and reconfigured application.

    Other inventors
    See patent
  • System and method for identifying namespaces

    Issued US 7269823

    Described is a system and method that enable the incorporation of one namespace into another namespace while avoiding name collisions by defining namespaces with a common name and a unique identifier. In accordance with the invention, a namespace may incorporate another namespace by unique identifier and assign an alias to that incorporated namespace. The use of the alias provides a developer with the flexibility to reference the imported namespace and its declarations by common…

    Described is a system and method that enable the incorporation of one namespace into another namespace while avoiding name collisions by defining namespaces with a common name and a unique identifier. In accordance with the invention, a namespace may incorporate another namespace by unique identifier and assign an alias to that incorporated namespace. The use of the alias provides a developer with the flexibility to reference the imported namespace and its declarations by common, understandable, or human-meaningful names. In addition, name collisions between the imported namespace and local declarations are avoided by the uniqueness provided by the unique identifier. Furthermore, by way of re-exports, multiple parallel namespace hierarchies can be formed over the same definitions to reflect multiple parallel taxonomies.

    See patent
  • Framework for Open Dynamic Reflective Applications

    Filed US US-2010-0125558-A1

    Other inventors

Languages

  • German

    Native or bilingual proficiency

  • English

    Native or bilingual proficiency

Organizations

  • ACM

    -

    - Present

Recommendations received

View Clemens’ full profile

  • See who you know in common
  • Get introduced
  • Contact Clemens 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

Add new skills with these courses